comparison of cmm level 2 and extreme programming copyright, 2002 © bartosz walter quality...

31
Comparison of CMM Level Comparison of CMM Level 2 and eXtreme 2 and eXtreme Programming Programming Copyright, 2002 © Bartosz Walter Quality Connection 2002, Quality Connection 2002, Helsinki Helsinki Jerzy Nawrocki, Bartosz Walter , Adam Wojciechowski Poznan University of Technology Poznan University of Technology Poznan, Poland Poznan, Poland

Upload: marcus-lynch

Post on 27-Dec-2015

219 views

Category:

Documents


0 download

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