Why Are Software Development Life Cycles Important

To be successful, software project managers and their peers, customers, staff, and managers must have communications tools, such as common terminology and an agreed-upon development life cycle. The life cycle is the map that guides all project stakeholders forward and helps them understand whether they "are there yet."

Concerning maps in general, others have said it well:

® "If you don't know where you are going, you will probably end up somewhere else." —Laurence J. Peter • "You've got to be very careful if you don't know where you're going, because you might not get there."—Yogi Berra

Dr. Barry Boehm, the father of so many wise software engineering axioms, has provided us with several "maps" of the software process. His work has not become stale—the formats of his maps have evolved and improved with the times. For the critics of the waterfall life cycle model, it is only fair to point out that Boehm said, as least as early as 1981, that using the term sequential to describe software development phases is a "convenient oversimplification," and described prototyping and incremental development as alternatives to the waterfall sequence. As will be described later in this chapter, he was the first to propose the popular spiral model. Beginning with the waterfall, each of his models has become more progressive and insightful than the last.

Boehm began writing about software development maps when he published his seminal work, Software Engineering Economics In it, he referred to a "Software Engineering Goal Structure," pointing out that successful software engineering depends not only on having a successful software product, but also on having successful software developmentprocesses. This structure is illustrated inFiqure 4-4.

Figure 4-4. Boehm's Software Engineering Goal Structure

Source: Boehm. Barry (1981). Software Engineering Economics.

Human relations, resource engineering, and program engineering are critical success factor categories in both process and product. The product has several characteristics in each category, such as ease of use (human relations), efficiency (resource engineering), and adaptability (program engineering). One of the processes, the software development process, also requires supporting success factors. Human relations requires planning, organizing, staffing, directing, controlling, automating, and using the "Modified Golden Rule": Managers should not do unto programmers as they would have the programmers do unto them because managers and programmers are motivated by different factors. Process resource engineering requires analyzing cost-effectiveness, planning and estimating, and controlling meeting schedules and budgets. Under process program engineering, the success factors are feasibility validation, requirements validation, product design verification and validation, programming verification and validation, integration verification and validation, implementation verification and validation, maintenance verification and validation, phaseout, and configuration management (CM). These program engineering factors become the corresponding life cycle phases (except for CM, which is an integral task), as illustrated in Figure 4-5.

Figure 4-5. Major Features of the Iterative Waterfall Model with Verification and Validation

Figure 4-5. Major Features of the Iterative Waterfall Model with Verification and Validation

What interests us at this point is the fact that some sort of map to project activities and their chronology is required to manage a software

project. Boehm's early theories on achievement of subgoals (Figure 4-4) as a necessity for a successful software product continue to remain viable today.

A standard for IT-systems of the Federal Republic of Germany included reasons for the necessity of a standardized process. This standard helps to achieve the following objectives:

® Improvement and guarantee of the quality:

- The completeness of the results to be delivered can best be guaranteed by a standardized procedure.

- Defined interim results make early assessment procedures possible.

- Uniform product contents alleviate the readability of the products and the assessment procedures. ® The costs for the whole life cycle can be checked:

- The generation of relevant project-specific development standards and its assessment will be simplified.

- The standardized procedure makes the cost calculation more transparent. Any risks in connection with the costs can be recognized better.

- Uniform standards reduce friction losses between customer and contractor, as well as between main contractor and subcontractor.

- Standardized procedures allow for the reduction in the use of resources.

- In case of a standardized procedure, universal approaches to the solutions become transparent and can thus be reused.

- Undesirable developments are recognized at an earlier stage.

- The training costs are reduced.

® Communication between the different parties is improved, and there is a reduction in the dependence of the customer on the contractor:

- Using defined terms reduces misunderstandings between all parties involved.

- The user, the purchaser, and the developer will be supported when formulating their requirements and when describing their parts or results.

- The interim results/final results are standardized to such an extent that other parties involved or staff of other

companies are able to settle in without very much effort, if necessary.1—1

4 previous

* previous

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