The Bold, New Extreme Programming Experiment - Now in Its Ninth Year Brian Spears Follett Software Company McHenry, IL 2009 Agile Conference Student: Nick.

Slides:



Advertisements
Similar presentations
An Introduction to eXtreme Programming Michael L. Collard, Ph.D. Department of Computer Science Kent State University.
Advertisements

Why Use Test Driven Development (TDD)?.  Why the need to change to TDD.  Talk about what TDD is.  Talk about the expectations of TDD.
A little Software Engineering: Agile Software Development C Sc 335 Rick Mercer.
Software development process improvement Ville Wettenhovi Master thesis presentation Supervisor:Professor Jukka Manner Instructor:M.Sc. Markus Aalto Date:23th.
Eric Nickell.  History  What is Feature Driven Development?  What is a Feature?  Feature Driven Development Roles ◦ Class Ownership  Feature Driven.
NAUG NAUG Knowledge Evening – th February 2007.
Chapter 6 Prototyping, RAD, and Extreme Programming
EXtreme Programming Quick Introduction Daniel Arraes Pereira Eduardo Lourenço Apolinário Ricardo de Oliveira Cavalcanti.
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
Management 421 Computer Science 350. Overview Project Roles Software Development Process Extreme Programming Management/Developer Interaction in Extreme.
Transitioning to XP or The Fanciful Opinions of Don Wells.
03 | Application Lifecycle Management Susan Ibach| Technical Evangelist Christopher Harrison | Head Geek.
Effort in hours Duration Over Weeks Or Months Inception Launch Web Lifecycle Methodology Maintenance Phases Copyright Wonderlane Studios.
Agile Testing with Testing Anywhere The road to automation need not be long.
 Definitions  Background/History  Continuous Delivery › How to practice Continuous Delivery  Continuous Integration  Continuous Integration Tools.
N-Tier Architecture.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Extreme Programming.
Roles Managers Technical Team Leaders Programmers Customers Database Administrators Instructors.
A Never Ending Battle for Continuous Improvement J.J. Zang 200 E Randolph St # 2500 Chicago, IL , USA XP 2011 conference.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Release and Iteration Planning September 13, 2008.
Agile Methodologies: Comparative Study and Future Direction 林佳蓁 資工 4B.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
1 SEG4912 University of Ottawa by Jason Kealey Software Engineering Capstone Project Tools and Technologies.
Extreme/Agile Programming Prabhaker Mateti. ACK These slides are collected from many authors along with a few of mine. Many thanks to all these authors.
Chapter 6: Systems Development Steps, Tools, and Techniques Management Information Systems for the Information Age.
Project Plan for nSite Central Michael Dunn Ryan Sessions Kyle Kerrigan.
Planning Game in Artifacts Tracker (AT) Project Michal Pilawski.
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Project Tracking Why and How to Do It. The Dilbert View.
From Quality Control to Quality Assurance…and Beyond Alan Page Microsoft.
The Long Tail Why the future of business is selling less of more ▫ISBN = ▫Chris Anderson Low Distribution and Inventory costs allow companies.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
CS3100 Software Project Management Agile Approaches.
Chapter 7 The Practices: dX. 2 Outline Iterative Development Iterative Development Planning Planning Organizing the Iterations into Management Phases.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Goals for Presentation Explain the basics of software development methodologies Explain basic XP elements Show the structure of an XP project Give a few.
MIS 7003 MBA Core Course in MIS Professor Akhilesh Bajaj The University of Tulsa Introduction to S/W Engineering © All slides in this presentation Akhilesh.
Extreme Programming Based on and
Extreme programming (XP) Variant of agile Takes commonsense practices to extreme levels © 2012 by Václav Rajlich1.
Extreme Programming. Extreme Programming (XP) Formulated in 1999 by Kent Beck, Ward Cunningham and Ron Jeffries Agile software development methodology.
Agile Software Testing in a Large-Scale Project David Talby and Arie Keren, IAF Orit Hazzan and Yeal Dubinsky, IIT.
Software Testing Process
Planning Extreme programming
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
CS223: Software Engineering Lecture 18: The XP. Recap Introduction to Agile Methodology Customer centric approach Issues of Agile methodology Where to.
Automated Testing April 2001WISQA Meeting Ronald Utz, Automated Software Testing Analyst April 11, 2001.
“The Role of Experience in Software Testing Practice” A Review of the Article by Armin Beer and Rudolf Ramler By Jason Gero COMP 587 Prof. Lingard Spring.
Software Engineering 2004 Jyrki Nummenmaa 1 Why new software methodologies The classic waterfall-model based techniques are strongly based on the.
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.
TFS / Teamprise for J2EE Development Groups Month 00, 0000 Mac Noland Configuration Management Engineer Saturday, July 02, 2016.
Coming up: What is Agile? XP Development Dan Fleck 2010 Dan Fleck 2010.
Skiing and Boxing Coaching Product and Enterprise Teams 黃馨誼 蘇育光 修訂.
Teaching A Goliath to Fly
Integrate Agile Testing into the Process
aBAP – NextGen QA Delivery Gear
Computerized and Manual Systems
Script-less Automation: An Approach to Shift-Left.
Scrum MODULE 3 – Part 3.
Teaching slides Chapter 1.
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Coming up: What is Agile?
Refactoring.
Open Source Tool Based Automation solution with Continuous Integration and end to end BDD Implementation Arun Krishnan - Automation Manager Maria Afzal-
Extreme Programming.
Joint Application Development (JAD)
Chapter 5: New and Emerging Process Methodologies
Jamie Cool Program Manager Microsoft
Presentation transcript:

The Bold, New Extreme Programming Experiment - Now in Its Ninth Year Brian Spears Follett Software Company McHenry, IL 2009 Agile Conference Student: Nick Chou

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 2

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 3

INTRODUCTION In April 2001, members of the Destiny team attended a Chicago Process Improvement Network (C-SPIN) meeting where Martin Fowler spoke about Extreme Programming (XP). Destiny quickly established itself as a market-leading product and the success story continues today. 4

INTRODUCTION The team began with 11 members (8 developers, 1 project lead, 1 product manager, 1 customer representative) has grown in the past 8+ years to 51 members (33 developers). Author’s initial role on the team was as a developer. Most of his time is spent in a role that is part Technical Lead, part XP Coach, and part Technical Support Escalation Liaison role. 5

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 6

LET’S TRY IT The team in 2001 was to build the library management system. The requirement was to move away from the legacy approach of a single client-server install per school to a web-based centralized product to run all the libraries in a district. 7

LET’S TRY IT Of the 8 developers on the team, 2 were technical leads, one of whom also assumed an “XP Coach” role. The Project Lead as well acted as an XP Coach. A Product Manager was on the team as well as a writer/business analyst who served as the voice of the Customer on the team. Developers, committed to XP principles, built a simple framework using jUnit and HTTPunit for running suites of Unit Tests (UT) and Acceptance Tests (AT’s). 8

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 9

ALL OUR EGGS IN ONE BASKET This was a significant milestone for several reasons: The results of the initial iterations were promising, and management shifted from putting a significant chunk of development resources behind the effort to committing the bulk of its development resources. We were doubling the size of the team when XP was thought of as a small team process. Would it work as well with a team that was larger? Testers were being added to the team. Some thought of the UT’s and AT’s as replacing our traditional manual testers (our testers are not developers). How would we incorporate the testers into the team? 10

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 11

TECHNOLOGY CHOICE, TEST FIRST PAYS OFF Business model changes dictated that we changed databases from Oracle to Microsoft SQL Server. Coming from a C-ISAM, non-SQL database in our legacy products, such a change would have taken months of effort and require complete manual retesting of all features. On the Destiny team, this was accomplished in a single 3-week iteration. 12

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 13

HITTING OUR STRIDE Developers automated the test steps, and testers assisted with some manual testing toward the end of the iteration. Testers have proven time and again that their efforts manually test the product (in this case, run through the Automated AT steps one last time manually) will spot visual or other issues that were missed. 14

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 15

NON-STANDARD XP Note cards were one of the first things we abandoned. All of our business logic unit tests and all of our acceptance tests populate data through all layers to the database. In the past year author distributed out AT runs. With the new distributed approach, our AT run time is down under 3 hours again and we are utilizing existing hardware (our developer workstations) to a greater degree off hours. 16

NON-STANDARD XP For several years author fought hard to not develop experts. Author still to try not to depend on a SINGLE expert in any one technology or feature, but this code base is too big for everyone to be a generalist. Author have found a need to regression test before every release. Keeping 33 developers busy at the iteration boundary and achieving true release quality at every 2 week boundary has not been practical. 17

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 18

KEY TO SUCCESS Management backing Team buy in Coach role Simplest thing that could work and working within iterations Adapt One big room Tester roles Test first 19

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 20

CHALLENGES TODAY Team size = harder to stay agile and get momentum to change. Dividing into 2 and then 3 and now 4 sub teams working on different types of stories (still all in the same code base) has helped to some degree keep that small team feel and empowerment to change. Four sub teams all working in the same code base creates a real problem with managing the number of broken AT’s and UT’s. 21

OUTLINE INTRODUCTION LET’S TRY IT ALL OUR EGGS IN ONE BASKET TECHNOLOGY CHOICE, TEST FIRST PAYS OFF HITTING OUR STRIDE NON-STANDARD XP KEY TO SUCCESS CHALLENGES TODAY SUMMARY 22

SUMMARY A healthy XP project can run for a long time, but you need to change and adapt along the way. 23

24