First contract: better, earlier, decisions for software projects
Martin S. Feather, Hoh Peter In, James D. Kiper, Thomas G. Kurtz, Tim Menzies · 2001
Decisions made in the earliest phases of software development have the greatest effect on the likelihood of project success. These decisions are used to establish the requirements of the product under development, determine budget and schedule, plan the allocation of resources to the development, etc. This decision making is very challenging, given the impediments of incomplete information, absence of a shared vision, hard-to-discern ramifications of choices, etc. This paper describes an ongoing effort to address these challenges by means of a synergistic collaboration of research tools, techniques and best-practice knowledge. The goals of this effort are to give the end users more soundly based estimates, enhanced abilities to make trades amongst requirements, risks, and development, and better optimized development plans. To achieve these goals, our effort combines research in the areas of estimation, planning, visualization, elicitation, negotiation, machine learning, abduction, and knowledge representation. A hypothetical scenario is used to introduce and illustrate our approach. We describe the key contributions that each of our research efforts provides, and go on to consider the synergistic benefits of their combination. Realization of this combination is well underway; status and future plans are described. Finally, this collaborative work is related to existing research and practice, to show how our approach furthers the ability to make critical decisions in the early phases of software development projects.