One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip **

Slides:



Advertisements
Similar presentations
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Advertisements

Extreme Programming Alexander Kanavin Lappeenranta University of Technology.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
System Development Life Cycle Process of creating and altering systems or software by using methodologies or models to develop the systems in a logical.
Alternate Software Development Methodologies
NAUG NAUG Knowledge Evening – th February 2007.
 User assignments (product owner)  ‘circle’  1 st sprint: ◦ Scrum Boards (informative workspace)  Product -, release -, sprint -, defect backlog 
Agile Process Models. Prescriptive models don’t work It is unrealistic to not have changes. Why? The Agile Manifesto: Individuals and interactions over.
Agile development By Sam Chamberlain. First a bit of history..
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
XP – eXtreme Programming A gentle introduction. Cleviton Vinícius Jobson Ronan Thiago Rodrigues.
Extreme Programming Collaboration in Software Development Process.
Extreme Programming Team Members Gowri Devi Yalamanchi Sandhya Ravi.
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.
Xtreme Programming. Software Life Cycle The activities that take place between the time software program is first conceived and the time it is finally.
A Distance Learning Approach to Teaching eXtreme Programming Chris Murphy, Dan Phung, Gail Kaiser Columbia University.
An Overview of Agile L e a d i n g C h a n g e T h r o u g h C o l l a b o r a t i o n.
Monster-Sized Agile Adoptions SUCCESS AND FAILURE STRATEGIES.
Agile Software Development What is Agile? And How are we implementing Agile?
Chapter 3 – Agile Software Development 1Chapter 3 Agile software development.
Software Engineering Modern Approaches
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Extreme Programming: Introduced Matthew Heusser Excelon Development – xndev.com - Presented to CS 611 at GVSU, 4/6/2005.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Unified Process versus Extreme Programming. Outline Compare and contrast UP and XP  Processes / Disciplines  Management  Artefacts Risk management.
Presenter: 陳秋玉 1.  Extreme programming Extreme programming  On-site customer On-site customer  Benefit Benefit  Characteristics of a good customer.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Extreme Programming.
XP – Extreme Programming
June 05 David A. Gaitros Jean Muhammad Introduction to OOD and UML Dr. Jean Muhammad.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
XP Overview Short Life cycle Risky / Dynamic Requirements Increase developer productivity.
Copyright © 2015 Curt Hill Software Development Paradigms What do you need to know?
CS3100 Software Project Management Agile Approaches.
Extreme Programming (XP) XP is an agile methodology: –aims to be responsive to change Theme running through XP is the importance of communication –amongst.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Extreme Programming Based on and
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
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.
EXtreme Programming and Open Source engineering paradigm A comparison
Agile. Processes Waterfall Traditional With prototyping Sprial Agile Dynamic Systems Development Method (DSDM) Scrum Crystal eXtreme Programming (XP)
SoberIT Software Business and Engineering Institute HELSINKI UNIVERSITY OF TECHNOLOGY 1 eXtreme Programming – one of the Agile Software Development Methodologies.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
Engineering Practices Necessary for Scrum andrew fuqua enterprise agile coach LeadingAgile, LLC
Comparison of CMM Level 2 and eXtreme Programming Copyright, 2002 © Bartosz Walter Web Applications and Services.
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Project Management Software development models & methodologies
Chapter 3 Agile software development 1 Chapter 3 – Agile Software Development.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Embedded Systems Software Engineering
Agile Project Management and the yin & yang of
CSC 355 – Newer Approaches to System Development Life Cycles & Processes, Spring 2017 March 2017 Dr. Dale Parson.
Planning User stories are written.
Extreme Programming.
Waterfall and Agile Quality Techniques
What do you need to know about XP?
Chapter 3: Agile Software Processes
Coming up: What is Agile?
Introduction to XP.
Agile software development
Presentation transcript:

One XP Experience: Introducing Agile (XP) Software Development into a Culture that is Willing but not Ready Joe Bergin * Fred Grossman * David Leip ** Sue Merritt * Olly Gotel * * Pace University ** IBM

Background IBM Webmaster maintains a large and complex web site 2,000,000 + pages Many applications/Complex architecture/ Dynamic Mission Critical Development crosses managerial lines

Inception Experiment at IBM –Will agile processes work in the Webmaster’s domain? –David invites Fred Grossman and Joe Bergin to explore the question with his organization –Original thought was to run a pilot project with Fred and Joe training and coaching the team

Wisdom Pick a reasonably sized project for the first attempt at any new methodology Pick a project that is not mission critical Train everyone thoroughly Set up required infrastructure Learn Evaluate

Reality There was no time to initially train everyone The team was not in place There was no time to discover, much less set up, the infrastructure The project ultimately chosen was MISSION CRITICAL Looming fixed project deployment deadline Start or fail

Complexities Webmaster applications use people with a variety of non-interchangeable but critical skills. Application development is not localized in a single part of the organization, and reporting lines go all the way to the top.

Advantages People are eager People are skilled, though with a different skill sets People are motivated (most positive and a few negative) People like each other and work well together

Training Fred and Joe gave most of the participants an overview of XP An all day exercise (Extreme Construction) was used to introduce the practices A “virtual” retrospective of prior projects was done to capture the organization’s sense of their existing methodology

Execution The team (developers and customer) was formed Customers (2) wrote lots of stories Team estimated, then built the stories Fred and Joe coached the team, daily at first, then several times per week.

Success The customer got usable functionality that would not have been delivered with the standard methodology by the pre-determined deployment date the, BUT –Would have liked more functionality –Was often frustrated with the pace and the awkwardness of some of the practices

How well did we do XP (+) Planning Game Onsite Customer - whole team Short Iterations Standup Meeting Coding Standard Retrospectives Metaphor Sustainable Pace Simple Design Common Code ownership

How well did we do XP (-) Pair Programming (collaboration only) Constant Refactoring Test First Development Continuous Integration Initial confusion with the distinction between iterations and releases

Problems The coaches were never able to really convince the team of the advantage of the practices not done, though the team saw the consequences. The team was breaking new ground (for themselves at least) requiring a very complex testing environment that never quite came together.

Values Courage Feedback Simplicity (mostly) Communication

Risks The code quality could be better Lack of automated test suites makes refactoring and maintenance difficult Bugs appeared that should not have, frustrating everyone and slowing the process down

Conclusions While the project was technically a success: –The practices not practiced held us back and left some risks More early training could have solved some of this (pairing and TDD) Better infrastructure preparation could have solved much of the rest (testing infrastructure)

Conclusions (2) One of the anomalies we had to cope with is that while the team did not follow all the practices, the methodology appeared to be working, although exposing them to some risk. In some cases the team followed modified practices. The full set of practices is necessary when building a community with an agile culture.