130,095 research outputs found
The Making of Cloud Applications An Empirical Study on Software Development for the Cloud
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
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
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?
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
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
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
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.
- …