Lecture Software process improvement: Lesson 29 provide students with knowledge about: software process assessments; software process assessment methodologies; key process areas; key-personnel topics; introduction to some assessment methods;... Please refer to the detailed content of the lecture!
Software Process Assessments Lecture # 29 1 Software Process Assessments • Since software applications are built by human beings, the methods, tools, and practices used for software have become subject to study and analysis • Software process assessments are normally carried out onsite by independent assessors • Inhouse assessments are also common 2 • Formal software assessments appear to have originated within the IBM corporation in the early 1970s • An assessment finds all the strengths and weaknesses associated with software 3 Software Process Assessments • The primary goal of software process assessments is to gather qualitative information about the practices, methods, tool suites, and organizational structures used for software • Some organizations gather additional information on topics such as office space and ergonomic factors used by the organizations undergoing the assessment 4 Software Process Assessments • As the software has become a worldwide business phenomenon, the need for software process assessments has become more and more important • Software is a very troublesome and difficult technology • For large systems, failures outnumber successes by a considerable margin 5 Software Process Assessments • Software process assessment data is normally gathered by means of structured interviews with managers and technical personnel • To ensure consistency among enterprises, standard questionnaires are utilized by most of the assessment methods, although the questions vary from method to method 6 Software Process Assessments • Scripts and questionnaires for data collection used by many of the major kinds of software assessments are now utilized throughout the world • Many forms of software assessments exist, following is a partial list of assessment methods 7 Software Process Assessment Methodologies • • • • • • • The SPR assessment methodology The SEI assessment methodology The ISO assessment methodology The SPICE assessment methodology The TickIT assessment methodology The Trillium assessment methodology The Howard Rubin Associates assessment methodology • The Gartner Group assessment methodology 8 Software Process Assessments • A software process assessment is somewhat equivalent to undergoing an annual medical examination • The annual physical examination is not intended to cure any specific disease. The main purpose is to find out about the health of the patient 9 Software Process Assessments • If the physical examination finds any serious problems, then the physician can prescribe a therapy program • However, the examination itself is performed for diagnostic purposes, not for therapeutic purposes 10 10 Stage 4 • Stage 4 improvements deal with corporate “infrastructures”. An example of such a change is the establishment of formal quality assurance departments, formal measurement departments, and testing and maintenance departments • As infrastructure changes are both expensive and complex, they need to be deferred until the value of the previous kinds of changes has started to become obvious 50 50 Stage 4: Focus on Infrastructure and Specialization • This stage addresses issues of organization and specialization, and begins to move toward the establishment of specialized teams for handling testing, maintenance, integration, and configuration control • Formal quality assurance departments • Policies on continuing education 51 51 Stage 5 – 1 • Stage 5 improvements are the most valuable in terms of improving quality and productivity, but they are also the most challenging • Stage 5 moves toward a full and formal software reusability program 52 52 Stage 5 – 2 • However, reuse is a doubleedge sword • If the reusable materials are of top quality, then reuse has the best positive ROI of any software technology • However, if the reusable materials are error prone and filled with defects, then the ROI of software reuse switches from positive to sharply negative 53 53 Stage 5: Focus on Reusability • Reusability has the best ROI of any technology, but effective reuse is not a game for amateurs • Successful software reuse demands stateof theart quality control, software measurements, and software management training 54 54 Some Reusable Components 1 • • • • • • • Reusable architecture Reusable requirements Reusable plans Reusable estimates Reusable designs and specifications Reusable interfaces Reusable data 55 55 Some Reusable Components 2 • • • • • Reusable screens or screen elements Reusable source code Reusable user documents Reusable test plans Reusable test cases 56 56 Stage 6 • Stage 6 involves using software excellence for competitive purposes, such as winning a Baldrige Award and using this award to aid in gaining market share 57 57 Stage 6: Focus on Industry Leadership 1 • Executives who understand and support software • Software project managers of exceptional ability • Software technical staff of exceptional ability • More specialists than average organizations 58 58 Stage 6: Focus on Industry Leadership 2 • Better measurements than average organizations • Better than average customer satisfaction levels • Better than average staff morale levels • Powerful project management tool suites • Powerful software development tool suites 59 59 Stage 6: Focus on Industry Leadership 3 • Powerful quality assurance and testing tool suites • Powerful geriatric tool for aging software 60 60 The Cost of Process Improvements • Every company needs to create an individualized plan and budget for its improvement strategy. However, estimates are reported in literature • Cost elements include training, consulting fees, capital equipment, software licenses, and improvement in office conditions 61 61 The Timing of Process Improvements • Smaller companies move much more rapidly than larger corporations and government agencies • Process improvement is a multiyear undertaking • When there is polarization of opinion or political opposition, progress can be very slow or nonexistent 62 62 The Value of Process Improvements 63 63 References • Software Assessments, Benchmarks, and Best Practices by Capers Jones (Chapters 2, 3, and 6) 64 64 .. .Software? ?Process? ?Assessments • Since? ?software? ?applications are built by human beings, the methods, tools, and practices used for? ?software? ?have become subject to study and analysis • Software? ?process? ?assessments are normally ... An assessment finds all the strengths and weaknesses associated with? ?software 3 Software? ?Process? ?Assessments • The primary goal of? ?software? ?process? ? assessments is to gather qualitative information about the practices, methods, ... These factors are collected from projects in the domains of system? ?software, information systems, military? ?software, commercial? ?software, outsourced projects, and end user applications 13 13 Software? ?Process? ?Assessments • The major topics that are covered by