Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Quality Connection 2002, Helsinki Poznan University of Technology Poznan,

Slides:



Advertisements
Similar presentations
Extreme Programming Copyright, 1999 © Jerzy R. Nawrocki Personal Software Process Lecture.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Planning at CMM level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements Engineering.
SEP1 - 1 Introduction to Software Engineering Processes SWENET SEP1 Module Developed with support from the National Science Foundation.
More CMM Part Two : Details.
Chapter 2 The Software Process
Alternate Software Development Methodologies
Project Management with XPrince Requirements Eng. & Project Management Lecture 10 Jerzy Nawrocki „Trabrennen” in.
ITEC 370 Lecture 25 Lifecycles. Review Questions? F give prototype demonstration –Testing plan for your software Life cycles –Scrum (Roles, Meetings,
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Software Life Cycles ECE 417/617: Elements of Software Engineering
Quality Assurance Copyright, 2002 © Jerzy R. Nawrocki Quality Management Auxiliary.
Software Development Process Models. The Waterfall Development Model.
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Agile Software Development. Traditional Software Development 1.Initiation (RFP) 2.Feasibility study Technical – can we build it? Economic – should we.
Extreme Programming Collaboration in Software Development Process.
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Extreme Programming Mark Steverson. What Is Extreme Programming? ● Extreme Programming (XP) is a lightweight, agile methodology developed by Kent Beck.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
COMP4710 Senior Design Software Development Process.
Copyright  Larry Dribin, Ph.D. SE470_Overview_v1.ppt SE470 OV - 1 Excellence in Software Engineering Repeatable Level Defined Level Manage d Level.
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Project Planning Copyright, 2002 © Jerzy R. Nawrocki Quality Management Auxilliary.
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Chapter 3 – Agile Software Development Lecture 1 1Chapter 3 Agile software development.
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
EXtreme Programming: An Introduction Presentation by: Jon Banta.
Introduction to XPrince Requirements Engineering & Project Management Lecture 1.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Project Planning Copyright, 2002 © Jerzy R. Nawrocki Requirements Engineering.
CMM Level 2: Repeatable Copyright, 2000 © Jerzy R. Nawrocki Quality Management.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Experimental Evaluation of Pair Programming Copyright, 2001 © Jerzy R. Nawrocki European Software Control & Metrics ESCOM’01 ESCOM’01 Poznan University.
Implementing XP at PUT Copyright, 2000 © Jerzy R. Nawrocki Quality Management.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 other methodologies 1 Method/Process = step-by-step description of the steps involved.
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
The Confounding World of Process Methodologies By Thelma Hataria.
DAVID STOTTS DEPT. OF COMPUTER SCIENCE UNIV. OF NORTH CAROLINA AT CHAPEL HILL Extreme Programming.
CS3100 Software Project Management Agile Approaches.
Level 1 Level 1 – Initial: The software process is characterized as ad hoc and occasionally even chaotic. Few processes are defined, and success depends.
Project Management with XPrince Requirements Eng. & Project Management Lecture 11 Jerzy Nawrocki „Trabrennen” in.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
Configuration Management at CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Agile Methods Presentation By: Jason Abbett. Definition A process to rapidly develop software Many kinds of agile methods but few are practiced.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
Quality Assurance at CMM Level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements.
Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Web Applications and Services.
Copyright 2015, Robert W. Hasker. Classic Model Gathering Requirements Specification Scenarios Sequences Design Architecture Class, state models Implementation.
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Extreme Software Engineering A Hands-On Approach From Extreme Software Engineering: A Hands-On Approach Daniel H. Steinberg Daniel W. Palmer.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
By Manish Shrotriya CSE MS Software Engineering vs Software Project Engineering Goals: Develop quality software What is quality of a software.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Toward Maturity Model for eXtreme Programming Copyright, 2001 © J. Nawrocki, B. Walter, A.. Wojciechowski
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Requirements Engineering Lecture 4
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Planning User stories are written.
Alexander Kanavin Lappeenranta University of Technology
Coming up: What is Agile?
Agile software development
Presentation transcript:

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

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

J.Nawrocki et al., CMM Level 2 & XP IntroductionIntroduction Problems with the classical approach Too much paper work! Too many meetings!

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.

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

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

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

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

J.Nawrocki et al., CMM Level 2 & XP Software Development Studio SDS SDS-XPSDS-CMM 6 projects Project Areas 5 projects many documentscode & test cases reviewspair programming stable requirementschanging requirem.

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

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!

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

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)

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)

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

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

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

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 didn’t apply: SDS-XP process

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

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

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

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

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

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)

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

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

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

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...

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

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 ( ) SDS-XP (30+18)

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