Studies show that more effort is devoted to software maintenance
(including software enhancement, adaption to new technologies and bug fixing)
than for software development activities (that is about 40% for analysis +
design + implementation). According to Boehm, the total effort spend during the
software development life cycle is as follows –
The following deductions may be made from the above effort
distribution –
è
Greater effort (60%) is made for software maintenance
activities (Adapt + Enhance + Bug Fix) than for software development (40% analysis
+ design + implementation )
è
About 75% is spent for software testing and
software maintenance
è
About 16% is spent for software testing in
software development phase (16 + 8 + 16 = 40%)
è
Large effort (36%) is spent for software
enhancement
è
Software implementation requires lesser effort (<10%)
Software Engineering tools (Development and Management) used
in software development helps to reduce the total effort devoted to software
product. Now since greater effort is spend for software maintenance, Software
Engineering tools and techniques aids in improving the quality and productivity
of the initial product development phase, i.e it directs the goals of initial
product development phase towards further reducing the overall effort and
increasing software product visibility. For example a systematic approach to
software development using Software Engineering tools and techniques will
certainly improve the software quality, visibility and documentation levels
which further eases efforts to be spend for testing, enhancing, adapting and
fixing of bugs.