This research project focuses on investment analysis as a tool to evaluate software projects first at the conception, and later at the development and operational stages. At the conception stage the main decision is whether to undertake a proposed project, or in the face of several alternatives, to choose the one that represents the best allocation of resources including capital and labour. Another aspect of decision making at the conception phase is concerned with the timing of the project. At the development and operational stages, decision making takes place at a more micro level. They include questions such as whether or not to develop a prototype, establish a reuse program, adopt formal methods, develop an application framework, write documentation, or when to commit to an implementation architecture.
Operational decisions are concerned with maintenance activities and follow-on projects.
These may include whether or not to restructure the system, migrate to a different platform, switch development paradigms, or upgrade or replace a COTS software component. Timing decisions such as when to upgrade a component or launch a subsequent development project are also a part of the operational decision process. All of these activities require a variety of tools from many disciplines including software engineering, mathematics and statistics, market research, and corporate finance. In software development the line between development and operational stages is becoming increasingly blurry. Modern software development follows a spiral model than a waterfall model, as development and maintenance activities are interleaved at an increasingly finer level.