© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.

Slides:



Advertisements
Similar presentations
Keith McMillan Principal, Adept Technologies Copyright (C) 2008, Adept Technologies llc.
Advertisements

Feb Alten Group Started in France in 1988 Currently more than people Presence in 10 countries Active in The Netherlands since 2002.
Agile Software Development Robert Moore Senior Developer Curtin University.
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
Presented by Dustin Friel, PMP CSM May 6, 2009 Agile Lessons Learned 1.
E X treme Programming & Agile Modeling Copyright © 2003 Patrick McDermott UC Berkeley Extension
SOFTWARE DEVELOPMENT METHODOLOGIES Methodologies Waterfall Prototype model Incremental Iterative V-Model Spiral Scrum Cleanroom RAD DSDM RUP.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
NAUG NAUG Knowledge Evening – th February 2007.
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..
Agile
Agile Requirements Methods CSSE 371 Software Requirements and Specification Mark Ardis, Rose-Hulman Institute October 26, 2004.
Agile Methods and Extreme Programming CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 23, 2007.
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.
Agile Methods.
Programming with eyes wide open. Your host today Subby Angelov Team
An Agile View of Process
Introduction to Agile Methodologies and Concepts Roy Osherove Principal, Team Agile Blog : ISerializable.com.
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
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.
AgileCamp Presents: Agile Software Development. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons.
Agile Software Development What is Agile? And How are we implementing Agile?
Software Engineering Modern Approaches
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Chapter 4 Agile Development
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
CPSC 371 John D. McGregor Session 22 Process. Specification and design problem solution specification implementation specification.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
Embracing change with Extreme Programming Method Engineering Erik ten Brinke
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
Extreme Programming (XP). Agile Software Development Paradigm Values individuals and interactions over processes and tools. Values working software over.
Agile
Informatics 43 – May 14, Open Source Source code is freely available and (usually) re-distributable Examples: Firefox web browser Apache HTTP Server.
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
CS3100 Software Project Management Agile Approaches.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
1/2/12 Chapt 2 Iterative Evolutionary Agile. 1/2/12 (Rational) Unified Process A software development process – Flexible and open Other processes – XP.
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)
PV213 EIS in Practice: 06 – Development process 1 PV213 Enterprise Information Systems in Practice 06 – Development process.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
- Discussion of Chapter 1 in Martin and Martin.  We are uncovering better ways of developing software by doing it and helping others do it. Through this.
Extreme Programming מתודולוגיה לפיתוח פרויקטי תוכנה.
Agile = regular iterations, releases time-boxed incremental regular heartbeat streamlined collaboration co-located team on-site customer face-face communication.
Agile Gintarė Bernotaitytė © 2013.
Embedded Systems Software Engineering
Agile/XP Introduction
Chapter 5 Agile Development Moonzoo Kim KAIST
Agile Methods SENG 301.
Manifesto for Agile Software Development
Principles for Agile Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Planning User stories are written.
Agile Software Development Brian Moseley.
Waterfall and Agile Quality Techniques
Agile and XP Development
Chapt 2 Iterative Evolutionary Agile.
Agile and XP Development
Agile and XP Development
Adjective: Able to move quickly and easily. Principles and Values
Chapter 3: Agile Software Processes
Introduction to XP.
Chapter 5: New and Emerging Process Methodologies
Presentation transcript:

© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua

© ThoughtWorks, 2008 The Software Development Crisis…

© ThoughtWorks, 2008 Who’s happy with:

Requirements not met

Software taking too long before it can be used

Unhappy Users

Unhappy Developers

What’s working to fix this?

© ThoughtWorks, 2008 Agile

© ThoughtWorks, 2008 What is Agile?

XP Scrum Lean DSDM Crystal …

© ThoughtWorks, 2008 A guiding manifesto…

© ThoughtWorks, 2008 The Agile Manifesto

© ThoughtWorks, 2008 The Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to value: – Individuals and interactions over processes and tools – Working software over comprehensive documentation – Customer collaboration over contract negotiation – Responding to change over following a plan. That is, while there is value in the items on the right, we value the items on the left (bold) more.

© ThoughtWorks, 2008 What leads to poor productivity? Poor Communication Too much planning (no delivery) Constant Handover Priorities changing

© ThoughtWorks, 2008 How does agile help? Poor Communication Too much planning (no delivery) Constant Handover Priorities changing Timeboxed iterations Constant feedback Daily stand ups Customer involvement Iteration Showcases Iteration planning games Release planning Pair programming Cross functional teams Iteration planning games

© ThoughtWorks, 2008 What leads to poor quality? Late Testing Overcomplicated designs No process improvement Delaying Integration No knowledge transfer Lack of Standards

© ThoughtWorks, 2008 How does agile help? Late Testing Overcomplicated designs No process improvement Delaying Integration No knowledge transfer Lack of Standards Code standards Collective Ownership Continuous Integration Frequent Releases Refactoring YAGNI Test Driven Development Automated acceptance tests Unit tests Daily stand ups Pair programming Behaviour driven development Retrospectives Informative Workspaces Pair programming

© ThoughtWorks, 2008 Example practices

© ThoughtWorks, 2008 Continuous Integration

© ThoughtWorks, 2008 Testing

© ThoughtWorks, 2008 Customer acceptance tests Unit tests supports... “TDD produced code that passed between 18 and 50 percent more external test cases than code produced by control groups not using TDD.” IEEE Article: Software Architecture Improvement through TestDriven Development by David S. Janzen

© ThoughtWorks, 2008 Refactoring

© ThoughtWorks, 2008 Pair Programming Constant code reviewing Very efficient – second person prevents drift – X hours longer vs. 15X hours bug fixing (source:

© ThoughtWorks, 2008 Reinforcing Practices

© ThoughtWorks, 2008 WARNING!

Only following practices…

Coach

© ThoughtWorks, 2008 Summary Agile Discipline Quality Speed Productivity

© ThoughtWorks, 2008 Questions?