Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Web Applications and Services.

Slides:



Advertisements
Similar presentations
Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Advertisements

Planning at CMM level 2 Copyright, 2000 © Jerzy R. Nawrocki Requirements Engineering.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
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
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
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.
Permeation of RUP and XP on Small and Middle-Size Projects KREŠIMIR FERTALJ University of Zagreb Faculty of Electrical Engineering and Computing Department.
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.
Software Engineering II Lecture 1 Fakhar Lodhi. Software Engineering - IEEE 1.The application of a systematic, disciplined, quantifiable approach to the.
Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Quality Connection 2002, Helsinki Poznan University of Technology Poznan,
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
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.
Software Project Failure Software Project Failure Night Two, Part One CSCI 521 Software Project Management.
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.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
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.
XP – Extreme Programming
Georgia Institute of Technology CS 4320 Fall 2003.
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.
Extreme Programming and Systems Engineering Similarities and Synergy (based on talk given to INCOSE New England Chapter) Joseph (Yossi) Weihs Sept 10 th,
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.
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)
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.
Testing under the Agile Method CSCI 521 Software Project Management based on the book Testing Extreme Programming by Lisa Crispin and Tip House.
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?
Introduction to XP.
Agile software development
Presentation transcript:

Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Web Applications and Services

Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions

Introduction Problems with the classical approach Too much paper work! Too many meetings!

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

Introduction Heavyweight vs. lightweight  well defined process  documents drive development  stable requirements  agile process  development = testing + coding  changing requirements or

Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions

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

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? Universit y Customer

Software Development Studio SDS SDS-XPSDS-CMM 6 projects Project Areas 5 projects many documentscode & test cases reviewspair programming stable requirementschanging requirem.

Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions

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!

CMM Level 2 KPAs at CMM Level 2 Requirements Management Project Planning Project Tracking and Oversight Configuration Management Quality Assurance Subcontract Management

CMM Level 2 SDS-CMM Team structure Quality Assurance (5 th year) Project Management (4 th year) Development (3 rd year)

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)

Introduction 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

Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions

eXtreme Programming Values and practices CustomerDevelopers communicatio n 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

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

eXtreme Programming SDS-XP Team structure Testers (5 th year) Coach & Tracker (4 th year) Development (3 rd year) Customer

eXtreme Programming SDS-XP Documents User stories Planning game Project scope Unit testing Development Accept. testing Integration

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

Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions

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

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)

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

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

Plan of the lecture Introduction Software Development Studio CMM Level 2 eXtreme Programming Main risk factors in CMM & XP Conclusions

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

Conclusions 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

Conclusions 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)

Conclusions l SDS-XP depends on people, not on documents l SDS-CMM seems more appropriate for inexperienced developers l SDS-XP requires constant customer involvement l SDS-XP and SDS-CMM both suffer from maintenance problems (though XP is more error-prone) l SDS-CMM requires better CASE support l SDS-XP needs more management involvement