software process improvement robin b. hunter, ph.d. vol 2., p. 363-382 presented by: andrew wheeler
TRANSCRIPT
Software Process Software Process ImprovementImprovement
Robin B. Hunter, Ph.D.Robin B. Hunter, Ph.D.Vol 2., p. 363-382Vol 2., p. 363-382
Presented by: Andrew WheelerPresented by: Andrew Wheeler
OverviewOverview
IntroductionIntroduction BackgroundBackground Models for Software Process Models for Software Process
ImprovementImprovement Capability DeterminationCapability Determination Software Process ImprovementSoftware Process Improvement StandardsStandards ConclusionsConclusions
IntroductionIntroduction The quality of the software system is The quality of the software system is
governed by the quality of the process governed by the quality of the process used to develop and maintain it.used to develop and maintain it.– Good SE -> Good Development -> Good Good SE -> Good Development -> Good
productproduct Software process is improved via Software process is improved via
improvement modelsimprovement models– SW-CMM and ISO9001SW-CMM and ISO9001
Other standards help with process Other standards help with process assessment, capability determination, and assessment, capability determination, and process improvementprocess improvement– SPICE, ISO/IEC 15504 and ISO/IEC 12207SPICE, ISO/IEC 15504 and ISO/IEC 12207
BackgroundBackground
Software EngineeringSoftware Engineering– Uses structured analysis and designUses structured analysis and design– Object oriented approachObject oriented approach– Software measurement as applied Software measurement as applied
sciencescience Process and Product approachProcess and Product approach
– Focus on modeling the software Focus on modeling the software development and maintenancedevelopment and maintenance
– Focus on testing for accuracy and Focus on testing for accuracy and completenesscompleteness
Background (cont)Background (cont)
Software Process AssessmentSoftware Process Assessment– Framework that serves as a roadmap Framework that serves as a roadmap
and a gaugeand a gauge Capability determinationCapability determination
– Can a company produce a quality Can a company produce a quality product and meet the demands of their product and meet the demands of their customer?customer?
Need for process improvementNeed for process improvement– Control, predictability, and effectiveness Control, predictability, and effectiveness
all improveall improve
Models for Software Process Models for Software Process Improvement – SW-CMMImprovement – SW-CMM
5 Maturity Levels5 Maturity Levels– Initial – …Few processes are defined and Initial – …Few processes are defined and
success depends on individual effort…success depends on individual effort…– Repeatable - … management process Repeatable - … management process
are established to track cost, schedule are established to track cost, schedule and functionality…repeat earlier successand functionality…repeat earlier success
– Defined – Management and engineering Defined – Management and engineering activities well documented… All projects activities well documented… All projects used a tailored version of standard used a tailored version of standard software process for development and software process for development and maintenancemaintenance
Models for Software Process Models for Software Process Improvement – SW-CMM (cont)Improvement – SW-CMM (cont) 5 Maturity Levels5 Maturity Levels
– Managed – Measures are put in place… Managed – Measures are put in place… process and products are controlledprocess and products are controlled
– Optimizing – Continuous process Optimizing – Continuous process improvement from quantitative feebackimprovement from quantitative feeback
Models for Software Process Models for Software Process Improvement – SW-CMM (cont)Improvement – SW-CMM (cont) MaturationMaturation
– Occurs when key process areas satisfy the Occurs when key process areas satisfy the goals of the current levelgoals of the current level
– Key Process AreaKey Process Area Reqs management, Software project planning, Reqs management, Software project planning,
Software subcontract management, etc.Software subcontract management, etc.– Common FeatureCommon Feature
Commitment to perform, ability to perform, activities Commitment to perform, ability to perform, activities performed, etc.performed, etc.
– CF(KPA) -> Key PracticeCF(KPA) -> Key Practice Ability to perform( Software Project tracking and Ability to perform( Software Project tracking and
oversight ) -> Metrics are collected against cost and oversight ) -> Metrics are collected against cost and effort predictions and reviewed for improvementeffort predictions and reviewed for improvement
Models for Software Process Models for Software Process Improvement – SW-CMM (cont)Improvement – SW-CMM (cont) Training and assessment teams are available.Training and assessment teams are available. Software process changeSoftware process change
– Must start with senior leadershipMust start with senior leadership– Team effort is a mustTeam effort is a must– ContinuousContinuous– Requires investmentRequires investment
BenefitsBenefits– Increased response to change, reduction in project Increased response to change, reduction in project
investigation time, accelerated spread of best investigation time, accelerated spread of best practicespractices
Models for Software Process Models for Software Process Improvement – SW-CMM (cont)Improvement – SW-CMM (cont) SpinoffsSpinoffs
– BOOTSTRAPBOOTSTRAP Preparation -> Assessment -> Action Plan derivationPreparation -> Assessment -> Action Plan derivation In line with ISO/IEC 12207 and ISO/IEC 15504In line with ISO/IEC 12207 and ISO/IEC 15504
– TRILLIUMTRILLIUM Customer focused benchmarkCustomer focused benchmark
– Assessment of supplier’s development processAssessment of supplier’s development process– Internal process improvementInternal process improvement
– PSP/TSPPSP/TSP Personal Software Process - Personal tracking of Personal Software Process - Personal tracking of
performanceperformance Team Software Process – Team working practices to Team Software Process – Team working practices to
establish goals, etc.establish goals, etc.
Models for Software Process Models for Software Process Improvement – ISO9000Improvement – ISO9000
A series of standards and generic practices A series of standards and generic practices that can be applied to many fieldsthat can be applied to many fields
1988 (U.K.) – Applying ISO9000 is cost 1988 (U.K.) – Applying ISO9000 is cost effective (TickIt)effective (TickIt)– Certificates are awarded to accomplished Certificates are awarded to accomplished
companiescompanies– Certificates have to be renewedCertificates have to be renewed
ISO90001 applies to software development ISO90001 applies to software development Rule of thumbRule of thumb
– An ISO9001 compliant organization would An ISO9001 compliant organization would relate to a SW-CMM level 2 to 3relate to a SW-CMM level 2 to 3
Models for Software Process Models for Software Process Improvement – SPICEImprovement – SPICE
International standardizationInternational standardization– Being pilot tested in U.S.Being pilot tested in U.S.
Promotion of SPICE approachPromotion of SPICE approach Identify weaknesses in model and Identify weaknesses in model and
documentationdocumentation
– Standardization via technical reportsStandardization via technical reports Items -> Drafts -> StandardsItems -> Drafts -> Standards
Capability DeterminationCapability Determination
Systematic assessment and analysis Systematic assessment and analysis of select software processes to of select software processes to reveal strengths, weaknesses, and reveal strengths, weaknesses, and risks associated with deploying risks associated with deploying process to satisfy requirementsprocess to satisfy requirements
Related to procurementRelated to procurement Birth of SA-CMMBirth of SA-CMM
Software Process Software Process ImprovementImprovement
8 steps8 steps– Examine needsExamine needs– InitiateInitiate– Conduct assessmentConduct assessment– Analyze results and form action planAnalyze results and form action plan– ImproveImprove– ConfirmConfirm– SustainSustain– MonitorMonitor
Software Process Software Process Improvement (cont)Improvement (cont)
BenefitsBenefits– QualitativeQualitative
Increased staff moraleIncreased staff morale Increased customer satisfaction via product Increased customer satisfaction via product
quality and productivityquality and productivity
– QuantitativeQuantitative Hard to measureHard to measure Relationship to qualitativeRelationship to qualitative
– Higher morale -> less staff turnovers -> less Higher morale -> less staff turnovers -> less training coststraining costs
StandardsStandards
ISO/IEC 12207ISO/IEC 12207– Focus on lifecycle objectives, recording Focus on lifecycle objectives, recording
data and additions to lifecycle practicesdata and additions to lifecycle practices– Main processesMain processes
PrimaryPrimary– Acquisition, supply, etc.Acquisition, supply, etc.
SupportingSupporting– Documentation, configuration management, etc.Documentation, configuration management, etc.
OrganizationOrganization– Management, improvement, trainingManagement, improvement, training
Standards (cont)Standards (cont)
ISO/IEC 15504ISO/IEC 15504– Processes are identical and split into 5 Processes are identical and split into 5
categoriescategories Primary process relates to customer supplier and Primary process relates to customer supplier and
engineer categoriesengineer categories Supporting process relates to support categoriesSupporting process relates to support categories Organizational relates to management and Organizational relates to management and
organization categoriesorganization categories
– Continuous modelContinuous model– Possible rearchitecting of ISO 12207 and 15504 Possible rearchitecting of ISO 12207 and 15504
to be more compatible with each other may to be more compatible with each other may result from hearingsresult from hearings
ConclusionsConclusions
SW-CMM and ISO9001SW-CMM and ISO9001– Both are designed for capability Both are designed for capability
determination as well as process determination as well as process improvementimprovement
Many other standards exist to help Many other standards exist to help guide companies to improve processguide companies to improve process– ISO 15504 and SPICEISO 15504 and SPICE
Benefits from abiding by these Benefits from abiding by these standards are still in qualitative form standards are still in qualitative form but are leading to quantitative formbut are leading to quantitative form
My thoughtsMy thoughts
Very well structuredVery well structured All concepts presented are pretty All concepts presented are pretty
modernmodern One major issueOne major issue
– How much feedback is truly given from How much feedback is truly given from the implementers of the quality processthe implementers of the quality process
Streamlining the process would Streamlining the process would drastically improve usabilitydrastically improve usability