Target objective: improved ROI

Software Size

- 1960s-1970s

- Waterfall model

- Functional design

- Diseconomy of scale

1980s-1990s Process impovement

■ Encapsulation-based

■ Diseconomy of scale

• Iterative development

■ Component-based

■ Return on investment

Corresponding environment, size, and process technologies





100% custom


Ad hoc



Off-the-shelf, separate


30% component-based 70% custom



Typical project performance Predictably bad

Always: Over budget Over schedule


Infrequently: On budget On schedule

Modern Practices Environment/tools:

Off-the-shelf, integrated Size:

70% component-based 30% custom




Usually: On budget On schedule

Figure 2-1. Three generations of software economics leading to the target objective

The abscissa represents the life cycle of the software business engaged in by the organization. The three generations of software development are defined as follows:

1. Conventional: 1960s and 1970s, craftsmanship. Organizations used custom tools, custom processes, and virtually all custom components built in primitive languages. Project performance was highly predictable in that cost, schedule, and quality objectives were almost always underachieved.

2. Transition: 1980s and 1990s, software engineering. Organizations used more-repeatable processes and off-the-shelf tools, and mostly (>70%) custom components built in higher level languages. Some of the components (<30%) were available as commercial products, including the operating system, database management system, networking, and graphical user interface. During the 1980s, some organizations began achieving economies of scale, but with the growth in applications complexity (primarily in the move to distributed systems), the existing languages, techniques, and technologies were just not enough to substain the desired business performance.

3. Modern practices: 2000 and later, software production. This book's philosophy is rooted in the use of managed and measured processes, integrated automation environments, and mostly (70%) off-the-shelf components. Perhaps as few as 30% of the components need to be custom built. With advances in software technology and integrated production environments, these component-based systems can be produced very rapidly.

Technologies for environment automation, size reduction, and process improvement are not independent of one another. In each new era, the key is complementary growth in all technologies. For example, the process advances could not be used successfully without new component technologies and increased tool automation.

The transition to modern practices and the promise of improved software economics are by no means guaranteed. We must be realistic in comparing the promises of a well-executed, next-generation process using modern technologies against the ugly realities of history. It is a sure bet .that many organizations attempting to carry out modern projects with modern techniques and technologies will end up with the same old snafu.

Organizations are achieving better economies of scale in successive technology eras—with very large projects (systems of systems), long-lived products, and lines of business comprising multiple similar projects. Figure 2-2 provides an overview of how a return on investment (ROI) profile can be achieved in subsequent efforts across life cycles of various domains.

Achieving ROI across a line of business

Investment in common architecture, process, and environment for all line-of-business systems

Achieving ROI across a project with multiple iterations

Investment in robust architecture, mature



Nth iteration

iterative process, and process automation



Achieving ROI across a life cycle of product releases

Investment in product architecture, life-cycle release process, and process automation

First release

Second release

Nth release

Product Life Cycle: Successive Releases Figure 2-2. Return on investment in different domains

Project Management Made Easy

Project Management Made Easy

What you need to know about… Project Management Made Easy! Project management consists of more than just a large building project and can encompass small projects as well. No matter what the size of your project, you need to have some sort of project management. How you manage your project has everything to do with its outcome.

Get My Free Ebook

Post a comment