Transcript
- Slide 1
- Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 Bartosz Walter Quality Connection 2002, Helsinki Poznan University of Technology Poznan, Poland Jerzy Nawrocki, Bartosz Walter, Adam Wojciechowski Poznan University of Technology Poznan, Poland
- Slide 2
- J.Nawrocki et al., CMM Level 2 & XP Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions
- Slide 3
- J.Nawrocki et al., CMM Level 2 & XP IntroductionIntroduction Problems with the classical approach Too much paper work! Too many meetings!
- Slide 4
- J.Nawrocki et al., CMM Level 2 & XP IntroductionIntroduction XP the Deliverer We do XP from the very beginning! code + test cases Forget it! Only artefacts: IEEE/ANSI standard 830/1993? Fagan inspections? Function Points? Oral communication much more important than written one.
- Slide 5
- J.Nawrocki et al., CMM Level 2 & XP IntroductionIntroduction Heavyweight vs. lightweight well defined process documents drive development stable requirements agile process development = testing + coding changing requirements or
- Slide 6
- J.Nawrocki et al., CMM Level 2 & XP Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions
- Slide 7
- J.Nawrocki et al., CMM Level 2 & XP Software Development Studio Teaching management of software development started in 1998 external customers 8 team members 11 project teams 1 year long started in 1998 external customers 8 team members 11 project teams 1 year long Customer University bachelor thesis software product
- Slide 8
- J.Nawrocki et al., CMM Level 2 & XP Software Development Studio Software development at university? Is it a real environment? Students work part time only... How about customer participation? What is the actual goal? Is it a real environment? Students work part time only... How about customer participation? What is the actual goal? University Customer
- Slide 9
- J.Nawrocki et al., CMM Level 2 & XP Software Development Studio SDS 2000-2001 SDS-XPSDS-CMM 6 projects Project Areas 5 projects many documentscode & test cases reviewspair programming stable requirementschanging requirem.
- Slide 10
- J.Nawrocki et al., CMM Level 2 & XP Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions
- Slide 11
- J.Nawrocki et al., CMM Level 2 & XP CMM Level 2 SEI Capability Maturity Model 1. Initial 2. Repeatable 3. Defined 4. Managed 5. Optimizing Key Process Area Practice Key Process Area Practice Level 2 is project oriented!
- Slide 12
- J.Nawrocki et al., CMM Level 2 & XP CMM Level 2 KPAs at CMM Level 2 Requirements Management Project Planning Project Tracking and Oversight Configuration Management Quality Assurance Subcontract Management
- Slide 13
- J.Nawrocki et al., CMM Level 2 & XP CMM Level 2 SDS-CMM Team structure Quality Assurance (5 th year) Project Management (4 th year) Development (3 rd year)
- Slide 14
- J.Nawrocki et al., CMM Level 2 & XP CMM Level 2 SDS-CMM Documents Initial Project Descrip. Initial Project Plan Requirements Specif. Conceptual Design Project Plan Detailed Design Development Test report Thesis Document Draft Formal reviews (SCCB) Customer acceptance Final document (SCMB)
- Slide 15
- J.Nawrocki et al., CMM Level 2 & XP IntroductionIntroduction Projects at SDS-CMM Requirements management tool Multi-projects management A client for remote databases A tool for multiple-choice tests mgmt Elective modules assignment tool Software testing tool Requirements management tool Multi-projects management A client for remote databases A tool for multiple-choice tests mgmt Elective modules assignment tool Software testing tool CMM XP
- Slide 16
- J.Nawrocki et al., CMM Level 2 & XP Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions
- Slide 17
- J.Nawrocki et al., CMM Level 2 & XP eXtreme Programming Values and practices CustomerDevelopers communication simplicity feedback courage XP values planning game short releases metaphor simple design test-first coding refactoring pair programming code co-ownership continouos integration no overtime on-site customer coding standard XP practices
- Slide 18
- J.Nawrocki et al., CMM Level 2 & XP eXtreme Programming Planning game Short releases On-site customer (part.) User stories Continuous integration Pair programming (part.) Test-first coding Coding standard Exploration We applied: Refactoring CRC cards Simple design We didnt apply: SDS-XP process
- Slide 19
- J.Nawrocki et al., CMM Level 2 & XP eXtreme Programming SDS-XP Team structure Testers (5 th year) Coach & Tracker (4 th year) Development (3 rd year) Customer
- Slide 20
- J.Nawrocki et al., CMM Level 2 & XP eXtreme Programming SDS-XP Documents User stories Planning game Project scope Unit testing Development Accept. testing Integration
- Slide 21
- J.Nawrocki et al., CMM Level 2 & XP eXtreme Programming Projects at SDS-XP Requirements management tool Multi-projects management Health-care appliance system Internet client for DNA sequencing Software testing tool Requirements management tool Multi-projects management Health-care appliance system Internet client for DNA sequencing Software testing tool XP CMM XP
- Slide 22
- J.Nawrocki et al., CMM Level 2 & XP Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions
- Slide 23
- J.Nawrocki et al., CMM Level 2 & XP Risk factors Maintenance issues in XP How to bind user stories to test-cases and code? How to preserve system architectural design? How to understand customer needs? difficulties in thesis completion missing customer's business goal poorly structured design Symptoms: difficulties in thesis completion missing customer's business goal poorly structured design business rationale for stories metaphore + architecture skilled students Solutions: business rationale for stories metaphore + architecture skilled students
- Slide 24
- J.Nawrocki et al., CMM Level 2 & XP Risk factors Maintenance issues in CMM Level 2 How to keep documents consistent and up-to-date? inconsistent documents versioning problems Symptoms: inconsistent documents versioning problems CASE tools (e.g. Rational Suite) Solutions: CASE tools (e.g. Rational Suite)
- Slide 25
- J.Nawrocki et al., CMM Level 2 & XP Risk factors Customer involvement Customers underestimate their role. On-site customer is almost utopia. customer is not available customer cannot make desisions Symptoms: customer is not available customer cannot make desisions train customers in XP alternative communication Solutions: train customers in XP alternative communication
- Slide 26
- J.Nawrocki et al., CMM Level 2 & XP Risk factors Pair programming Some people hate pair programming. Pair-mate is not involved enough. Excessive cost of pair programming. code contains simple mistakes code is owned by individuals certain people cannot work together Symptoms: code contains simple mistakes code is owned by individuals certain people cannot work together exercise pair programming add code reviews enforce changing partners in pairs Solutions: exercise pair programming add code reviews enforce changing partners in pairs
- Slide 27
- J.Nawrocki et al., CMM Level 2 & XP Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions
- Slide 28
- J.Nawrocki et al., CMM Level 2 & XP ConclusionsConclusions SDS-CMM vs. SDS-XP SDS-CMM: well defined process easy to maintain less dependent on customer programming seems unimportant needs a lot documentation documents are inconsistent SDS-XP: focused on programming less documents to produce stress on communication needs experience customer involvement is critical problems in maintenance In students' opinion...
- Slide 29
- J.Nawrocki et al., CMM Level 2 & XP ConclusionsConclusions More quantitative results... CRITERIONSDS-CMMSDS-XP Projects started 65 Projects completed 65 Software delivery delayed 23 Software accepted by customer 4*2 Projects continued next year 20 Software installed at customer's 22
- Slide 30
- J.Nawrocki et al., CMM Level 2 & XP ConclusionsConclusions Sommerville-Sawyer's model Defined > 85 Basic & > 40 Interm & AdvDefined Repeatable > 55 Basic & < 40 Interm & AdvRepeatable Initial < 55 BasicInitial SDS-CMM (61 + 29) SDS-XP (30+18)
- Slide 31
- J.Nawrocki et al., CMM Level 2 & XP ConclusionsConclusions SDS-XP depends on people, not on documentsSDS-XP depends on people, not on documents SDS-CMM seems more appropriate for inexperienced developersSDS-CMM seems more appropriate for inexperienced developers SDS-XP requires constant customer involvementSDS-XP requires constant customer involvement SDS-XP and SDS-CMM both suffer from maintenance problems (though XP is more error-prone)SDS-XP and SDS-CMM both suffer from maintenance problems (though XP is more error-prone) SDS-CMM requires better CASE supportSDS-CMM requires better CASE support SDS-XP needs more management involvementSDS-XP needs more management involvement