Process ImprovementObjectivesTopics coveredProcess improvementProcess attributesProcess improvement stagesThe process improvement processProcess and product qualityPrincipal product quality factorsQuality factorsProcess analysis and modellingSlide 12Process analysis techniquesElements of a process modelThe module testing activityActivities in module testingProcess exceptionsProcess measurementClasses of process measurementGoal-Question-Metric ParadigmThe Software Engineering InstituteThe SEI process maturity modelMaturity model levelsKey process areasSEI model problemsThe CMM and ISO 9000Capability assessmentThe capability assessment processProcess classificationProcess applicabilityProcess choiceProcess tool supportKey pointsSlide 34©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 1Process Improvement©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 2To explain the principles of software process improvementTo explain how software process factors influence software quality and productivityTo introduce the SEI Capability Maturity Model and to explain why it is influential. To discuss the applicability of that modelTo explain why CMM-based improvement is not universally applicableObjectives©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 3Process and product qualityProcess analysis and modellingProcess measurementThe SEI process maturity modelProcess classificationTopics covered©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 4Understanding existing processesIntroducing process changes to achieve organisational objectives which are usually focused on quality improvement, cost reduction and schedule accelerationMost process improvement work so far has focused on defect reduction. This reflects the increasing attention paid by industry to qualityHowever, other process attributes can be the focus of improvementProcess improvement©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 5Process attributes©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 6Process analysis•Model and analyse (quantitatively if possible) existing processesImprovement identification•Identify quality, cost or schedule bottlenecksProcess change introduction•Modify the process to remove identified bottlenecksProcess change training•Train staff involved in new process proposalsChange tuning•Evolve and improve process improvementsProcess improvement stages©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 7The process improvement processProcessmodelProcess changeplanTrainingplanFeedback onimprovementsRevised processmodelAnalyseprocessIdentifyimprovementsTuneprocess changesIntroduceprocess changeTrainengineers©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 8Process quality and product quality are closely relatedA good process is usually required to produce a good productFor manufactured goods, process is the principal quality determinantFor design-based activity, other factors are also involved especially the capabilities of the designersProcess and product quality©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 9Principal product quality factorsProductqualityDevelopmenttechnologyCost, time andscheduleProcessqualityPeoplequality©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 10Quality factorsFor large projects with ‘average’ capabilities, the development process determines product qualityFor small projects, the capabilities of the developers is the main determinantThe development technology is particularly significant for small projectsIn all cases, if an unrealistic schedule is imposed then product quality will suffer©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 11Process analysis and modellingProcess analysis•The study of existing processes to understand the relationships between parts of the process and to compare them with other processesProcess modelling•The documentation of a process which records the tasks, the roles and the entities used•Process models may be presented from different perspectives©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 12Study an existing process to understand its activitiesProduce an abstract model of the process. You should normally represent this graphically. Several different views (e.g. activities, deliverables, etc.) may be requiredAnalyse the model to discover process problems. Involves discussing activities with stakeholdersProcess analysis and modelling©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 13Published process models and process standards•It is always best to start process analysis with an existing model. People then may extend and change this.Questionnaires and interviews•Must be carefully designed. Participants may tell you what they think you want to hearEthnographic analysis•Involves assimilating process knowledge by observationProcess analysis techniquesElements of a process model©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 15The module testing activityTestmoduleSigned-off testrecordModule testdataModulespecificationModule compileswithout syntaxerrorsAll defined testsrun on moduleTestengineerPre-conditionInputProcessRôlePost-conditionOutputsResponsibleforActivities in module testingPrepare test da taaccor ding tospecificationRead modulespecificationSubmit test datafor reviewReview test dataTEST DATA PREPARATIONRead and understandmodule interfaceCheckout modulefrom configurationmana gement systemPrepare test harnessfor moduleCompile testharnessMODULE TEST HARNESS PREPARATIONIncorporate modulewith test harnessRun approved testson moduleRecord test resultsfor regression testsTEST EXECUTIONWrite report on moduletesting including detailsof discovered problemsSubmit reportfor approvalSubmit testresults to CMTEST REPORTING©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 31. Slide ##©Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 28 Slide 17Process exceptionsSoftware processes are
View Full Document