Why Are Software Development Life Cycles Important

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".

Regarding maps generally, 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 principles, has provided us with several "maps" of the software process. His work has not become out of date - the formats of his maps have developed 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 explain software development phases is a "convenient oversimplification", and described prototyping and incremental development as substitutes to the waterfall sequence. As will be explained later in this section, 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 development processes. This structure is illustrated in Figure (a).

Boehm' Software Engineering Goal Structure

Human relations, resource engineering, and program engineering are critical success factor categories in both process and product. The product has many 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 involves supporting success factors. Human relations needs 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 elements. 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 demonstrated in Figure (b).

Major Features of the Iterative Waterfall Model with Verification and Validation

What interests us at this point is the reality that some kind of map to project activities and their chronology is needed to manage a software project. Boehm's early theories on achievement of subgoals (Figure (a)) as a necessity for a successful software product continue to remain feasible 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 objects:

●  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.

Selection and Tailoring of Software Development Life Cycles Is a Quality Objective

A defined software process provides organizations with a consistent process framework while permitting adjustment to unique needs. The conflicting needs for customization and standardization can be met by establishing a process architecture with standard unit or "kernel" process steps and rules for describing and relating them. Customization is then achieved through their interconnection into process models.


software product, configuration management, life cycle
The contents available on this website are copyrighted by TechPlus unless otherwise indicated. All rights are reserved by TechPlus, and content may not be reproduced, published, or transferred in any form or by any means, except with the prior written permission of TechPlus.
Copyright 2018 SPMInfoBlog.
Designed by TechPlus