Unit - 1: Conventional Software Management: The Waterfall Model, Conventional Software Management
Unit - 1: Conventional Software Management: The Waterfall Model, Conventional Software Management
The best thing about software is its flexibility. It can be programmed to do almost anything. The
worst thing about software is also its flexibility. The “almost anything” characteristic has made it
difficult to plan, monitor, and control software development. This unpredictability is the basis of
what has been referred to for the past 30 years as the “software crisis”
In the mid 1990’s, Three important analyses of the state of the software engineering industry
were performed. All three analyses reached the same general conclusion: The success rate for
software projects is very low. They can be summarized as follows.
The above THREE analyses provide a good introduction to the magnitude of the
software problem and the current norms for conventional software project
management performance. Most software engineering texts present the waterfall
model as the source of the conventional software process
SPM UNIT - I
2
SPM UNIT - I
3. The basic framework described in the water fall model is risky and invites
failure. The testing phases that occurs at the end of the development cycle is the first
event for which timing, storage, input/output transfers, etc. are experienced as
distinguished from analyzed. The resulting design changes are likely to be so
disruptive that the software requirements upon which the design is based are likely
violated. Either the requirements must be modified or a substantial design change
is warranted.
Item 1, which is seemingly trivial, will be expanded later into the separation of
engineering stage from production stage.
To eliminate most of the development risks alluded to in item 3, the winston
Royce in his paper describing five improvements to the basic waterfall model.
SPM UNIT - I
Why do we need so much documentation?
1. Each designer MUST communicate with various stakeholders like interface
designers, managers, customers, testers, developers.
2. During early phases documentation is the design
3. The real monetary value of the documentation is to support later modifications
by a separate test team, maintenance team and operations personal who are
not software literate
3. Do it twice :
This occurs last, when alternatives are least available, and expenses are at a
maximum.
To do:
1. Employ a team of test specialists who were not responsible for original design.
2. Employ visual inspections to spot obvious errors like code reviews, other technical
reviews and interfaces, wrong address, missing factors, dropped minus signs, etc.,
SPM UNIT - I
4. Employ final checkout on target computer
Now: Involving the customer and all stakeholders is critical to overall project success.
Demonstrate increments; solicit feedback; embrace change; cyclic and iterative and
evolving software. Address risk early.
o Theory is fine.
The S/w was compliable and executable; it was not necessarily complete, compliant,
nor up to specifications. The typical development of a S/W project that used waterfall model
follows the following sequence.
SPM UNIT - I
Late ‘shoe-horning’ of non-optimal fixes, with no time for redesign
A very fragile, un-maintainable product delivered late.
In conventional process testing consumed 40% or more of life cycle resources. The
following table shows a typical profile of cost expenditures across the spectrum of software
activities.
Activity Cost
Management 5%
Requirement 5%
Design 10%
Code and Unit Testing 30%
Integration and Testing 40%
Deployment 5%
Environment 5%
Total: 100%
SPM UNIT - I
2. Late risk resolution:
A serious issue associated with water fall model was the lack of early risk resolution. The
following figure shows a typical risk profile for conventional water fall model projects. It
includes four distinct periods of risk exposure, where risk is defined as the probability of missing
a cost, schedule, feature, or quality goal.
Early in the life cycle as the requires were being specified, the actual risk exposure was
highly unpredictable
SPM UNIT - I
4. Adversarial stakeholder relationships
Who are stakeholders?
Adversarial relationships OFTEN true!
Misunderstanding of documentation usually written in English and with business jargon.
Paper transmission of requirements – only method used….
No real modeling, universally-agreed-to languages with common notations; (no GUIs,
network components already available; Most systems were ‘custom.’)
Subjective reviews / opinions
Management Reviews; Technical Reviews!
The following sequence of events was typical for most contractual software:
SPM UNIT - I
5. Focus on documents and review meetings
Briefings and documents expose few of the important assets and risks of complex
software.
Few (tens) are in reality the real design drivers, but many presented
1. Finding and fixing a software problem after delivery costs 100 times more than fining
and fixing the problem in early design phases.
2. You can compress software development schedules 25% of nominal, but no more.
SPM UNIT - I
4. Software development and maintenance costs are primarily a function of the number of
source lines of code.
5. Variations among people account for the biggest differences in software productivity.
6. Overall ratio of software to hardware costs is still growing. In 1955 it was 15:85; In 1985, it
was 85:15
8. Software systems and products typically cost three times as much per SLOC as individual
software programs. Software-system products, that is system of systems, cost nine times as
much.
1. Size : The size of the end product is typically quantified in-terms of no of source lines of
code ( SLOC ) or No of Function Points ( FPs )
2. Process : The process used to produce the end product, the ability of the process to avoid
non-value adding activities like rework, bureaucratic delays, communication over head
5. Required Quality : The required quality of the product including its features,
performance, reliability, and adaptability.
The relationship among these FIVE parameters and the estimated cost can be written as
Effort=(Personnel)*(Environment)*(Quality)*(Size Process)
10
SPM UNIT - I
Three generations of software development
SPM UNIT - I
2. Transition: In 1980’s – 1990’s the organizations follows software Engineering by
using moiré repeatable process and off-the-shelf tools, and mostly (>70% custom
components) built-in higher languages. Some of the components (30 %) are available
as commercial components, including the OS, DBMS, Networking and graphical user
interfaces.
3. Modern Practices: In 2000’s and later the organization follows software production
by using managed and measured processes, integrated automated environments, and
mostly 70% off-the-shelf components. 30% of the components needs to be custom
built.
12
SPM UNIT - I
2.2 PRAGMATIC SOFTWARE COST ESTIMATION
It is defined in enough detail so that its key risk areas are understood and the
probability of success is objectively assessed.
Three Modes
13
SPM UNIT - I
Five Basic Phase Life Cycle
Evolution: COCOMO II
Basic COCOMO is good for rough order of magnitude estimates of software costs, but its
accuracy is necessarily limited because of its lack of factors to account for differences in
hardware constraints, personnel quality and experience, use of modern tools and
techniques, and other project attributes known to have a significant influence on costs."
Barry Boehm
ion points
Function Points
Capers Jones
Independent of Technology
14
SPM UNIT - I