Quality Management, & Agile Methods Quality Management

3y ago
85 Views
22 Downloads
838.44 KB
23 Pages
Last View : 15d ago
Last Download : 3m ago
Upload by : Rosa Marty
Transcription

Quality Management,& Agile MethodsQuality ManagementBeatrice Åkerblombeatrice@dsv.su.seWhat is quality?!Quality, simplistically, means that aproduct should meet its specification.!This is problematical for softwaresystems There is a tension between customerquality requirements (efficiency,reliability, etc.) and developer qualityrequirements (maintainability,reusability, etc.) Some quality requirements are difficultto specify in an unambiguous way Software specifications are usuallyincomplete and often inconsistent3The qualitycompromise!We cannot wait for specifications toimprove before paying attention toquality management.!We must put quality managementprocedures into place to improve qualityin spite of imperfect specification.4

Scope of qualitymanagement!!!Quality managementactivitiesQuality management is particularlyimportant for large, complex systems.!Quality assurance The quality documentation is a record ofprogress and supports continuity ofdevelopment as the development teamchanges!For smaller systems, qualitymanagement needs less documentationand should focus on establishing aquality culture.!Quality planning Select applicable procedures andstandards for a particular project andmodify these as required.Quality control !Establish organisational proceduresand standards for quality.Ensure that procedures and standardsare followed by the softwaredevelopment team.Quality management should be separatefrom project management to ensureindependence.56Process-based qualityProcess-based quality!Define processDevelopproductImproveprocessMore complex relation for softwarebecause: The application of individual skills andexperience is particularly important insoftware development External factors such as the novelty ofan application or the need for anaccelerated development schedulemay impair product qualityAssess re must be taken not to imposeinappropriate process standards - thesecould reduce rather than improve theproduct quality8

Principal productquality factorsDevelopmenttechnologyProcess qualityProductqualityPractical processquality!Define process standards such as howreviews should be conducted,configuration management, etc.!Monitor the development process toensure that standards are being followed!Report on the process to projectmanagement and software procurerPeople qualityCost, time &schedule!910Quality assuranceand standardsProduct and processstandardsStandards are the key to effective qualitymanagement Product standards definecharacteristics that all componentsshould exhibit e.g. a commonprogramming styleProcess standards define how thesoftware process should be enacted11Product standardsProcess standardsDesign review formDesign review conductRequirements document structureSubmission of documents to CMMethod header formatVersion release processJava programming styleProject plan approval processProject plan formatChange control processChange request formTest recording process12

Standardsdevelopment!!!ISO 9000!An international set of standards forquality management.!Review standards and their usageregularly -- standards can quicklybecome outdated and this reduces theircredibility amongst practitionersApplicable to a range of organisationsfrom manufacturing to service industries.!ISO 9001 applicable to organisationswhich design, develop and maintainproducts.Detailed standards should haveassociated tool support!ISO 9001 is a generic model of thequality process that must be instantiatedfor each organisation using the standard.Involve practitioners in development.Engineers should understand therationale underlying a standard1314ISO 9000 certificationISO 9000 and qualitymanagement!Quality standards and proceduresshould be documented in anorganisational quality manual!An external body may certify that anorganisation!s quality manual conformsto ISO 9000 standards!Some customers require suppliers to beISO 9000 certified although the need forflexibility here is increasingly recognisedISO 9000quality modelsinstantiated asdocumentsOrganisationquality manualis used to developProject 1quality planinstantiated asProject 2quality planProject 3quality planSupports15Organisationquality process16Project qualitymanagement

Documentationstandards!!Particularly important - documents arethe tangible manifestation of thesoftwareDocumentation process standards !Document standards !Concerned with how documentsshould be developed, validated andmaintainedConcerned with document contents,structure, and appearanceDocument interchange standards DocumentationprocessCreateinitial draftStage 1:CreationProofreadtextStage ewdraftApproved documentProducefinal draftCheckfinal draftApproved documentReviewlayoutProduceprint mastersConcerned with the compatibility ofelectronic documents18Document standardsQuality planningDocument identification standards !!A quality plan sets out the desiredproduct qualities and how these areassessed and defines the mostsignificant quality attributes!The quality plan should define the qualityassessment process!It should set out which organisationalstandards should be applied and, wherenecessary, define new standards to beusedHow documents are uniquely identifiedStandard structure for projectdocumentsDocument presentation standards !!Document structure standards Define fonts and styles, use of logos,etc.Document update standards PrintcopiesStage 3:Production17!Re-draftdocumentDefine how changes from previousversions are reflected in a document1920

Software qualityattributesQuality reviews!This is the principal method of validatingthe quality of a process or of a product!A group examines part or all of aprocess or system and itsdocumentation to find potential ilityResilienceModularityEfficiencyThere are different types of review withdifferent objectivesRobustnessComplexityLearnability Inspections for defect removal(product) Reviews for progress assessment(product and process) Quality reviews (product andstandards)!!2122Softwaremeasurement andmetricsSoftware metric!Software measurement is concernedwith deriving a numeric value for anattribute of a software product orprocessThis allows for objective comparisonsbetween techniques and processesAny type of measurement which relates toa software system, process or relateddocumentation Lines of code in a program, the Fogindex, number of person-days requiredto develop a component.!Allow the software and the softwareprocess to be quantified!May be used to predict product attributesor to control the software process!Product metrics can be used for generalpredictions or to identify anomalouscomponentsCovered on the course TEME/ID20032324

Internal and externalattributesThe measurementprocess!A software measurement process maybe part of a quality control process!Data collected during this processshould be maintained as anorganisational resource!Once a measurement database hasbeen established, comparisons acrossprojects become possibleNumber of procedureparametersMaintainabilityCyclomatic complexityReliabilityProgram size in linesof codePortabilityNumber of errormessagesUsabilityLength of user manual!Data accuracyMeasurementanalysisThe questions to be answered shouldbe decided in advance and therequired data identifiedTell people why the data is beingcollected !26Don!t collect unnecessary data !25It should not be part of personnelevaluation!It is not always obvious what datameans Analysing collected data is very difficult!Professional statisticians should beconsulted if available!Data analysis must take localcircumstances into accountDon!t rely on memory Collect data when it is generated notafter a project has finished2728

Process improvement!Process Improvement!Understanding existing processes andintroducing process changes to: improve product quality reduce costs accelerate schedulesMost process improvement work so farhas focused on defect reduction. Thisreflects the increasing attention paid byindustry to quality30The processimprovement cycleProcess improvementstages!Process measurement Measure!Process analysis ChangeAnalyse!The current process is assessed andbottlenecks and weaknesses areidentifiedProcess change 31Attributes of the current process aremeasured. These are a baseline forassessing improvementsChanges to the process that havebeen identified during the analysis areintroduced32

Principal productquality factorsDevelopmenttechnologyProcess qualityProductqualityPeople qualityQuality factors!For large projects with “average”capabilities, the development processdetermines product quality.!For small projects, the capabilities of thedevelopers is the main determinant!The development technology isparticularly significant for small projects!In all cases, if an unrealistic schedule isimposed then product quality will sufferCost, time &schedule3334Process classificationProcess applicability!Informal !PrototypesShort-lifetime systems4GL business systemsSmall/medium-sizedsystemsDefined process model which drivesthe development processManagedprocessLarge systemsLong-lifetime n domainsRe-engineered systemsMethodical !InformalprocessManaged !No detailed process model.Development team chose their ownway of workingProcesses supported by somedevelopment method such as the RUPSupported Processes supported by automatedtools3536

Process choice!!!!Process tool supportProcess used should depend on type ofproduct which is being developed For large systems, management isusually the principal problem so youneed a strictly managed process For smaller systems, more informalityis possibleThere is no uniformly applicable processwhich should be standardised within anorganisation High costs may be incurred if you forcean inappropriate process on adevelopment team Inappropriate methods can alsoincrease costs and lead to ProjectmanagementtoolsAnalysis anddesignworkbenches3738ProcessmeasurementProcess changeImprovingprocessSpecialisedtoolsWherever possible, quantitative processdata should be collected!Involves making modifications to existingprocesses !This may involve:However, where organisations do nothave clearly defined process standardsthis is very difficult as you don!t knowwhat to measure. A process may haveto be defined before any measurementis possibleProcess measurements should be usedto assess process improvements But this does not mean thatmeasurements should drive theimprovements. The improvement drivershould be the organisational objectives39! Introducing new practices, methods orprocesses Changing the ordering of processactivities Introducing or removing deliverables Introducing new roles orresponsibilitiesChange should be driven by measurablegoals40

Process changestages!Improvement identification!Improvement prioritisation!Process change introduction!Process change training!Change tuning!The SEI!s mission is to promote softwaretechnology transfer particularly to USdefence contractors!It has had a profound influence onprocess improvement Capability Maturity Model introduced inthe early 1990s Revised maturity framework (CMMI)introduced in 2001Problems with theCMM!InitialPractices associated with model levels Essentially uncontrolledRepeatableProduct management proceduresdefined and usedDefined!Process management procedures andstrategies defined and usedManaged !!The SEI capabilitymaturity model !The CMMI framework is the currentstage of work on process assessmentand improvement that started at theSoftware Engineering Institute in the1980s42 !!41 !The CMMI frameworkQuality management strategies definedand usedOptimising Discrete rather than continuous !Companies could be using practicesfrom different levels at the same timebut if all practices from a lower levelwere not used, it was not possible tomove beyond that levelDid not recognise distinctions betweenthe top and the bottom of levelsPractice-oriented Concerned with how things were done(the practices) rather than the goals tobe achievedProcess improvement strategiesdefined and used4344

The CMMI model!!An integrated capability model thatincludes software and systemsengineering capability assessment.CMMI modelcomponents!Process areas The model has two instantiations Staged where the model is expressedin terms of capability levels;!Goals Continuous where a capability rating iscomputed.24 process areas that are relevant toprocess capability and improvementare identified. These are organised into4 groups.!Goals are descriptions of desirableorganisational states. Each processarea has associated goals.Practices Practices are ways of achieving a goal-- however, they are advisory and otherapproaches to achieve the goal maybe used.4546CMMI process areas1CMMI process areas2Process managementOrganisational process definitionOrganisational process focusOrganisational trainingOrganisational process performanceOrganisational innovation and deploymentProject managementProject planningProject monitoring and controlSupplier agreement managementIntegrated project managementRisk managementIntegrated teamingQuantitative project management47EngineeringRequirements managementRequirements developmentTechnical solutionProduct ion managementProcess and product quality managementMeasurement and analysisDecision analysis and resolutionOrganisational environment for integrationCausal analysis and resolution48

CMMI assessment!!Examines the processes used in anorganisation and assesses their maturityin each process areaBased on a 6-point scale:A process capabilityprofileProject monitoringand controlSupplier agreementmanagement Not performed Performed ManagedConfigurationmanagement DefinedRequirementsmanagement Quantitatively managed 4950The staged CMMImodelThe staged CMMImodel!Comparable with the software CMM!Each maturity level has process areasand goals. For example, the processarea associated with the managed levelinclude: Requirements management Project planning Project monitoring and control Supplier agreement management Measurement and analysis Process and product quality assurance515Level 5OptimizingLevel 4QuantitativelymanagedLevel 3DefinedLevel 2ManagedLevel 1Initial52

SW-CMM KeyProcess Areas!!!!!There are key process areas (KPAs) foreach levelExperience!It takes: 3 to 5 years to get from level 1 to level2Level 2 KPAs include: Requirements management 1.5 to 3 years from level 2 to level 3 Project planning Project tracking Configuration managementSEI questionnaires highlightshortcomings, suggest ways toimprove the process Quality assurance5354SW-CMM PraiseSW-CMM CriticismIt has arguably been successful in thisrole, even reputedly causing somesoftware sales people to clamour fortheir organisations to "implement CMM."Economic development agencies inIndia, Ireland, Egypt, Syria, andelsewhere have praised the CMM forenabling them to be able to compete forU.S. outsourcing contracts on an evenfooting.The CMM provides a good frameworkfor organisational improvement. It allowscompanies to prioritise their processimprovement initiatives.55!CMM failed to take over the world.!CMM is well suited for bureaucraticorganisations such as governmentagencies, large corporations andregulated monopolies.!The use of auditors and executivereports may influence the entire ITorganisation to focus on perfectlycompleted forms rather than applicationdevelopment, client needs or themarketplace.56

SW-CMM Criticism!The CMM does not describe how tocreate an effective softwaredevelopment organisation.!The CMM can seem to be overlybureaucratic, promoting process oversubstance. For example, foremphasising predictability over serviceprovided to end users.eXtreme Programming5767XP Roles!!XP Roles, cont!d!CustomerCoach Writes User Stories and specifiesFunctional Tests Watches everything, makes sure theproject stays on course Sets priorities, explains stories Helps with anything May or may not be an end-user Has authority to decide questionsabout the stories!Tracker Monitors Programmers! progress,takes action if things seem to be goingoff track. Actions include setting up a meetingwith Customer, asking Coach oranother Programmer to helpProgrammer Estimates stories Defines Tasks from stories, andestimates Implements Stories and Unit Tests5960

XP Roles, cont!d!!XP Roles, cont!d!Tester Implements and runs Functional Tests(not Unit Tests!) Graphs results, and makes surepeople know when test results decline.Doomsayer Ensures that everybody knows therisks involved Ensures that bad news isn't hidden,glossed over, or blown out ofproportion!Manager Schedules meetings (e.g. IterationPlan, Release Plan), makes sure themeeting process is followed, recordsresults of meeting for future reporting,and passes to the Tracker Possibly responsible to the GoldOwner. Goes to meetings, brings back usefulinformation Pays for pizzaGold Owner The person funding the project, whichmay or may not be the same as theCustomer6162Stages of an XPprojectXP PracticesXP is based on 12 key practices:!! The Planning Process Release Planning & Iteration Planning!Frequent, Small Releases!System Metaphor!Simple Design!Test Driven DevelopmentInitiationRelease Planning!Release (each Release is typically 1 -6months) !Refactoring!Pair Programming!Collective Code Ownership!Continuous Integration!Sustainable Pace!On-site Customer!Coding Standard 63User Stories!Iteration 1 (typically 1 -3 weeks)!Development!Deployment!Acceptance TestingIteration 2!Development!Deployment!Acceptance Testing.64

GatheringRequirements!!!Responsibilities Key Point: The Customer isresponsible for the requirements. Programmers help to gather and clarifyrequirements. Customers especiallyneed help with non-functionalrequirements and with working out thedetails of acceptance tests. User Stories Acceptance Test CasesA short description of the behaviour ofthe system from the point of view of theCustomer!Use the Customer!s terminology withouttechnical jargon!One for each major feature in the system!Must be written by the users!Are used to create time estimates forrelease planning!Replace a large RequirementsDocument6566User Stories cont!dUser Stories cont!dDrive the creation of the acceptancetests:Must be one or more tests to verify thata story has been properly implemented!!!Should only provide enough detail tomake a reasonably low risk estimate ofhow long the story will take toimplement.Different than Use Cases: Written by the Customer, not theProgrammers, using the Customer!sterminology More “friendly” than formal Use Cases67User stories have three crucial aspects:Card Different than Requirements: !!Documentation !User Stories!Enough information to identify the storyConversation Customer and Programmers discussthe story to elaborate on the details Verbal when possible, but documentedwhen requiredConfirmation Acceptance tests to confirm that thestory has been properly implemented68

Acceptance Tests!!!Release Planning!Customer defines the business value ofdesired features (User Stories)!Should be automated, buy may simply aseries of repeatable stepsProgrammers provide estimates of 1, 2or 3 “points”!At least one Acceptance Test for eachStoryStories larger than 3 points must be splitinto smaller stories!Customer decides which Stories are tobe included in a Release!Focus on completing the Stories with thehighest business value and highest riskfirstFormal test to determine if a systemsatisfies its acceptance criteria, i.e. theUser Stories!6970Release Planningcont!dIteration Planning!Stories for a Release are arranged into1-3 week Iterations!Stories for Iteration are broken down intoTasks by Programmers!Higher risk, and higher priority stories inearl

Quality Management, & Agile Methods Beatrice Åkerblom beatrice@dsv.su.se Quality Management . to specify in an unambiguous way Software specifications are usually incomplete and often inconsistent 3 The quality . from project management to ensure independence. 6 Process-based quality 7 Define process Develop product Assess product

Related Documents:

1. The need for an agile way of working 6 2. The need for an agile way of working 9 3. Agile Core Values - Agile Project Management Vs. 10 Agile Event Management 4. Agile principles 12 _Agile Principles of Agile Project Management 13 _Agile Principles of VOK DAMS Agile Event Management 14 5. Agile Methods 16 _Scrum in Short 16 _Kanban in Short 18

1. Agile methods are undisciplined and not measurable. 2. Agile methods have no project management. 3. Agile methods apply only to software development. 4. Agile methods have no documentation. 5. Agile methods have no requirements. 6. Agile methods only work with small colocated teams.-7. Agile methods do not include planning. 8.

2. Quality Assurance AND Methods of Agile 3. Metrics of quality AND Agile quality assurance 4. Agile AND Quality 5. Agile Quality AND Software Development 6. Agile quality AND Agile methods The search keywords for agile particulars have been merged by using the Boolean ''OR" operator, which

Agile World View "Agility" has manydimensions other than IT It ranges from leadership to technological agility Today's focus is on organizational & enterprise agility Agile Leaders Agile Organization Change Agile Acquisition & Contracting Agile Strategic Planning Agile Capability Analysis Agile Program Management Agile Tech.

The most popular agile methodologies include: extreme programming (XP), Scrum, Crystal, Dynamic Sys-tems Development (DSDM), Lean Development, and Feature Driven Development (FDD). All Agile methods share a common vision and core values of the Agile Manifesto. Agile Methods: Some well-known agile software development methods include: Agile .

Agile Estimating and Planning by Mike Cohn Agile Game Development with Scrum by Clinton Keith Agile Product Ownership by Roman Pichler Agile Project Management with Scrum by Ken Schwaber Agile Retrospectives by Esther Derby and Diana Larsen Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and .

1.1 Purpose of the Agile Extension to the BABOK Guide1 1.2 What is Agile Business Analysis?2 1.3 Structure6 Chapter 2:The Agile Mindset 2.1 What is an Agile Mindset?7 2.2 The Agile Mindset, Methodologies, and Frameworks8 2.3 Applying the Agile Mindset9 2.4 Agile Extension and the Agile Ma

The Agile Scaling Model (ASM) defines a roadmap for effective adoption and tailoring of agile strategies to meet the unique challenges faced by a system . delivery team. The first step to scaling agile strategies is to adopt a disciplined agile delivery lifecycle which scales mainstream agile construction techniques