130,095 research outputs found

    The Making of Cloud Applications An Empirical Study on Software Development for the Cloud

    Full text link
    Cloud computing is gaining more and more traction as a deployment and provisioning model for software. While a large body of research already covers how to optimally operate a cloud system, we still lack insights into how professional software engineers actually use clouds, and how the cloud impacts development practices. This paper reports on the first systematic study on how software developers build applications in the cloud. We conducted a mixed-method study, consisting of qualitative interviews of 25 professional developers and a quantitative survey with 294 responses. Our results show that adopting the cloud has a profound impact throughout the software development process, as well as on how developers utilize tools and data in their daily work. Among other things, we found that (1) developers need better means to anticipate runtime problems and rigorously define metrics for improved fault localization and (2) the cloud offers an abundance of operational data, however, developers still often rely on their experience and intuition rather than utilizing metrics. From our findings, we extracted a set of guidelines for cloud development and identified challenges for researchers and tool vendors

    From Open Source to Commercial Software Development - the Community Based Software Development Model

    Get PDF
    The successful practice of OSS leads to the intuition that integrating online software engineering community into the value chain of software company may be a solution to access qualified workforce and to reduce product cost. The emerging practice of crowdsourcing offers a potential solution for this attempt. Adopting an action research approach, the researchers collaborated with a software company in China and developed a crowdsourcing based software community development model, which consists of three elements: 1. online communities, providing abundant low cost software developers with diverse technical backgrounds; 2. crowdsourcing, providing incentive for developers’ participation and motivating competition; 3. process management and quality control mechanism, borrowed from in-house software development practice, guaranteeing the product quality and fulfillment of project schedule. This crowdsourcing based community development model, as a new business model and a new method of organizing software development, was tested with real-life projects and proved to be effective

    An integrated approach to formulate a value-based software process tailoring framework

    Get PDF
    Software process tailoring is an approach to customise the existing software development process or model that able to meet the software project’s needs. Software development project is unique and identical from one and another whereby the practices and decision should not be equally treated. Software process tailoring requires knowledge and intuition to make decision such as factors involved in the software project, selection of the suitable software process elements and tailoring operations. Software process tailoring practices focusing more on project characteristics factors and employs ad hoc approach in making the decision. In the absent of value-based factors and systematic method in software process tailoring, subjectivity is embedded in decision making process and the software development project suffers from satisfying the stakeholder. This study presents an integrated approach to formulate a Value-Based Software Process Tailoring Framework (VBSPTF) to overcome this problem. The framework is a combination of value-based factors, MoSCoW rules, Quality Functional Deployment (QFD), Activity-Based Costing (ABC), Priority Map, Value Index and Value Graph. This study perhaps can contribute to the software process tailoring practitioners to be exposed with a systematic method to conduct software process tailoring as well as improving the practices and reducing subjectivity in decision making

    Myth Buster: Do Engineers Trust Parametric Models Over Their Own Intuition?

    Get PDF
    This paper explores the abilities of engineers to estimate everyday tasks and their reliance on their own intuition when performing cost estimates. The approach to answering these questions is similar to that of the popular television show MythBusters which aims to separate truth from urban legend using controlled experiments. In MythBusters, methods for testing myths and urban legends are usually planned and executed in a manner to produce the most visually dramatic results possible, which generally involves explosions, fires, or vehicle crashes. While the question of parametric models versus intuition is not as exciting, we provide an interesting result that demonstrates the difference between what is real and what is fiction in the world of cost estimation. Two heuristics, representativeness and anchoring, are explored in two experiments involving psychology students, engineering students, and engineering practitioners. The first experiment, designed to determine if there is a difference in estimating ability in everyday quantities, demonstrates that the three groups estimate with relatively equal accuracy. The results shed light on the distribution of estimates and the process of subjective judgment. The second experiment, designed to explore abilities for estimating the cost of software-intensive systems given incomplete information, shows that predictions by engineering students and practitioners are within 3-12% of each other. Results also show that engineers rely more on their intuition than on parametric models to make decisions. The value of this work is in helping better understand how software engineers make decisions based on limited information. Implications for the development of software cost estimation models are discussed in light of the findings from the two experiments

    Communicative Agents for Software Development

    Full text link
    Software engineering is a domain characterized by intricate decision-making processes, often relying on nuanced intuition and consultation. Recent advancements in deep learning have started to revolutionize software engineering practices through elaborate designs implemented at various stages of software development. In this paper, we present an innovative paradigm that leverages large language models (LLMs) throughout the entire software development process, streamlining and unifying key processes through natural language communication, thereby eliminating the need for specialized models at each phase. At the core of this paradigm lies ChatDev, a virtual chat-powered software development company that mirrors the established waterfall model, meticulously dividing the development process into four distinct chronological stages: designing, coding, testing, and documenting. Each stage engages a team of agents, such as programmers, code reviewers, and test engineers, fostering collaborative dialogue and facilitating a seamless workflow. The chat chain acts as a facilitator, breaking down each stage into atomic subtasks. This enables dual roles, allowing for proposing and validating solutions through context-aware communication, leading to efficient resolution of specific subtasks. The instrumental analysis of ChatDev highlights its remarkable efficacy in software generation, enabling the completion of the entire software development process in under seven minutes at a cost of less than one dollar. It not only identifies and alleviates potential vulnerabilities but also rectifies potential hallucinations while maintaining commendable efficiency and cost-effectiveness. The potential of ChatDev unveils fresh possibilities for integrating LLMs into the realm of software development.Comment: 25 pages, 9 figures, 2 table

    Software risk management through independent verification and validation

    Get PDF
    Software project managers need tools to estimate and track project goals in a continuous fashion before, during, and after development of a system. In addition, they need an ability to compare the current project status with past project profiles to validate management intuition, identify problems, and then direct appropriate resources to the sources of problems. This paper describes a measurement-based approach to calculating the risk inherent in meeting project goals that leverages past project metrics and existing estimation and tracking models. We introduce the IV&V Goal/Questions/Metrics model, explain its use in the software development life cycle, and describe our attempts to validate the model through the reverse engineering of existing projects

    Creativity In Conscience Society

    Get PDF
    Creativity is a result of brain activity which differentiates individuals and could ensure an important competitive advantage for persons, for companies, and for Society in general. Very innovative branches – like software industry, computer industry, car industry – consider creativity as the key of business success. Natural Intelligence Creativity can develop basic creative activities, but Artificial Intelligence Creativity, and, especially, Conscience Intelligence Creativity should be developed and they could be enhanced over the level of Natural Intelligence. Providing only neurological research still does not offer a scientific basis for understanding creativity but thousand years of creative natural intelligence behavior observations offer some algorithms, models, methods, guidelines and procedures which could be used successfully in Conscience Society Creativity. Present Essay discusses the evolution of the notion of Creativity (what it is, why it is important, where it is used), analyzes creativity from basic point of view (Creativity as a Brain Activity; Mastering Daily Life; Creativity and Profession; Piirto’s six Steps; When and where Creativity Occurs; How Creative People are looked upon), and also manages Individual Creativity and Company Goals (Individual Creativity; Teams, Creativity and Product Development; Company’s Product Development Goals; Entrepreneur’s and Small Companies’ Product Development).creativity, intuition, spirituality, conscience society, natural intelligence, artificial intelligence.
    corecore