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!
Trang 1Lecture # 29
Trang 2• Inhouse assessments are also common
Trang 3• 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
Trang 4• The primary goal of software process
assessments is to gather qualitative
information about the practices, methods,
Trang 5• 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
Trang 6• 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
Trang 9• 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
Trang 12• But without the assessment, many problems would remain invisible
• Assessments should be viewed as nothing more than annual checkups to ensure that
no new problems have occurred and that
progress is being made on curing problems found during the last assessment
Trang 13• Out of a total of 250 factors that can affect the outcome of a software development
project, an individual project would be
affected by 15 to 20 factors
• These factors are collected from projects in the domains of system software,
information systems, military software,
Trang 15• These ten areas are not specific to any
individual kind of assessment, but are the topics examined by several forms of
assessment because they have a very
significant impact on software project
schedules, productivity, and quality levels
Trang 16inserted
Key Process Areas
Trang 19• Software process assessments attempts to identify practices that can lead to successful outcomes on software projects
• Conversely, process assessments also seek
to identify harmful practices that might lead
to delays or unacceptable outcomes
Trang 20• As software projects are very labor
intensive and require exceptional skills on the part of technical and management
personnel, software assessments may also examine the factors that are concerned with hiring and supporting software personnel
• Following is a list of ten key personnelrelated
topics that may be examined during software
process assessments
Trang 21inserted
KeyPersonnel Topics
Trang 24Introduction to Some Assessment
Methods
Trang 25Methods
Trang 26• Because software development is still a
largely manual activity performed by
skilled craftsmen, it is obvious that success
on software projects requires very capable personnel led by capable managers
• Good teams must also utilize methods and practices that are known to produce
excellent results, and should avoid practices
Trang 27Methods
Trang 29• Although the assessment and maturitylevel concepts can be considered separately, most people regard the two as being a linked set
• Formal SEI assessments are performed by the SEI or by a number of licensed
consulting companies
Trang 30• Informal “SEIstyle” assessments that
companies perform on their own or that are done by consultants who are not licensed by the SEI but who use assessment approaches derived from the published SEI materials
• There is a large body of knowledge related
to SEI assessments
Trang 31• SEI assessment approach originally dealt
primarily with the software processes and methodologies used by very large
companies that produced very large systems
• SEI has now broadened the sets of factors included under the assessment
Trang 32• Software process improvements cannot be successful if they overlook key topics or
emphasize one topic and ignore others
• Thus, the broad range of topics included in SEI’s programs emphasize that success in software requires being good in many
activities
Trang 33• The SPR assessment interview approach is
a group activity for each project analyzed
• The SPR consultant meets with the project manager and as many as seven technical
staff members at the same time
• All the participants have seen the
questionnaires ahead of time, so they know
Trang 34• The “official” assessment questionnaire is filled out by the SPR consultant using the group consensus as the source of
information
• Sometimes there may be debate or
polarized opinions among team members,
as can occur on any human activity. A full set of responses is recorded in this case
Trang 35• These differences are then resolved
Trang 37• Once a sample of projects has been
analyzed using the questionnaires, the
answers to the questions are input directly into a tool that performs a statistical
analysis of the results and shows the mean values and standard deviations of all factors
Trang 38• Although strengths are very laudable, the real value of a process assessment for most clients is the discovery and the objective
analysis of areas in which the client is
lagging and needs improvement
• Identifying these areas of weakness is the key to a successful process improvement
program
Trang 39• Once an assessment is completed, the
patterns of strengths and weaknesses
observed usually lead to a desire to improve software development processes
• Once the areas of weakness have been
analyzed and discussed, the client is in an excellent position to begin a successful
Trang 40• Then organizations can follow a sixstage improvement program
Trang 41SixStage Improvement Program
Trang 43• These six phases provide an overall
framework for software improvement
strategies
Trang 44• Stage 1 concentrates on management issues,
which are critical to all downstream activities. Software process improvement is a fairly
expensive undertaking that can stretch out over three to five years
• Unless the management community is at state oftheart levels in cost estimating, value
analysis, and risk analysis, funding for process improvement may be denied
Trang 45Technologies
• Management needs to be trained in critical technologies such as planning, sizing,
Trang 46• Stage 2 of improvement programs involves the introduction of specific process
technologies, e.g., formal code and design inspections
• Stage 2 improvements require training and cultural adjustments, but are not very
expensive in terms of capital equipment or major investments
Trang 47productivity, schedules, defect prevention, and defect removal efficiencies, against
Trang 48• Stage 3 improvements may involve fairly costly tool suites and capital equipment,
such as better workstations
• As tools support processes, rather than the other way around, one can see why process improvements precede changes in tool
suites
Trang 49project management tools
Trang 51and Specialization
• This stage addresses issues of organization and specialization, and begins to move
Trang 53• 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
Trang 54measurements, and software management training
Trang 57• 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
Trang 58• Software technical staff of exceptional
ability
• More specialists than average organizations
Trang 59• Better than average staff morale levels
• Powerful project management tool suites
• Powerful software development tool suites
Trang 60Leadership 3
• Powerful quality assurance and testing tool suites
• Powerful geriatric tool for aging software
Trang 61• Cost elements include training, consulting fees, capital equipment, software licenses, and improvement in office conditions
Trang 63Improvements
Trang 64• Software Assessments, Benchmarks, and
Best Practices by Capers Jones (Chapters 2,
3, and 6)