Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
A Gentle  Introduction to Agile Michael Sahota October, 2009
Michael has been doing Agile for 8 years including senior leadership roles B.A.Sc. in Engineering Science M.Sc. in Computer Science Companies I have worked at …  Universities I learned at …
Overview
What is software development? Art? Science? Engineering? Poetry?
It’s a cooperative game of invention and communication Infinite Organization Survival Career Management Competitive Cooperative Finite w/ no fixed end King-of-the-hill wrestling Finite &  goal-directed Tennis Software Development Poker Rock-Climbing Alistair Cockburn 2003-2005 Jazz music Product Management
Project work is in conflict with Product work Project is  primary goal:  deliver working, useful software Need to “invent” solution for needs based on technology Transfer of ideas from domain experts to developers Product is  secondary conflicting goal:  set up for the next game What is  your  companies philosophy about long-term planning? Alistair Cockburn 2003-2005
Incremental and Iterative Development (IID) is a precursor of Agile Use time-boxed iterations to reduce risk Provided feedback early In-tune with end users needs Responsive, not predictive
IID is not new – it has a 50 year track record with big successes 1950’s X-15 hypersonic jet, Project Mercury 1960’s - Weinberg teaching IID at IBM 1972 - TRW uses IID on $100M Army Site Defense software (1972) 1977-1980 NASA’s Shuttle Program 1985 - Barry Boehm’s Spiral Model 1993 - First SCRUM at Easel Corporation  1995 – Microsoft IID published Larman, Craig and Basili, Vic. A History of Iterative and Incremental Development. IEEE Computer, June 2003 (in press)
Waterfall history is accidental and based on misunderstandings 1970 - Royce publishes landmark paper as a conceptual  non-working  model 1985 - DoD-Std-2167 - Establishes Waterfall as mandatory process (by accident) 1994 - Mil-STD-498 - Permits both Waterfall and IID 1998 - Standish Group CHAOS Project Report: among the top reasons for project failures were aspects of the waterfall method:  “ Research also indicates that smaller time frames, with delivery of software components early and often, will increase success rate.” 2000 - DoD 5000.2 IID is identified as preferred approach
2008 Agile adoption survey has striking, unambiguous results February 2008 Message sent out to DDJ mailing list Data, summary, and slides downloadable from  www.ambysoft.com /surveys/   642 respondents: 54.8% were developers, 29.4% were in management 41.6% had 10-20 years IT experience, 37.2% had 20+ years 37.7% worked in orgs of 1000+ people 71% worked in North America, 17% in Europe, 4.5% in Asia Copyright 2008  Scott W. Ambler www.ambysoft.com/surveys/
Impact of agile on productivity   88%   Copyright 2008  Scott W. Ambler www.ambysoft.com/surveys/
Impact of agile on quality of systems deployed    77%   Copyright 2008  Scott W. Ambler www.ambysoft.com/surveys/
Impact of agile on business stakeholder satisfaction    78%   Copyright 2008  Scott W. Ambler www.ambysoft.com/surveys/
Agile has crossed the chasm in U.S. and Europe; just starting in Canada
Agile is not a silver bullet! People factors dominate software development “A well-functioning team of adequate people will complete a project almost regardless of the process or technology they are asked to use (although the process and technology may help or hinder them along the way).” – Alistair Cockburn
The Agile Manifesto sets out values and principles While there is value in the items on the right, we value the items on the left more   Individuals and interactions  over processes and tools  Working software  over comprehensive documentation  Customer collaboration  over contract negotiation  Responding to change  over following a plan  Craftsmanship* over crap * 2008 proposal by Bob Martin
Principle: Working software is a fundamental metric “ Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” See more @  http:// agilemanifesto.org/principles.html
Principle: Face-to-face communication is fast and effective Copyright Alistair Cockburn
Documentation matters too! It is important that details get stored (paper, models, images, video, etc.) to handle: Gaps in time - What did we decide last month? Gaps in space - Keeping off-site people in the loop Contracts & change of personnel Traceability
Agile processes come in different flavours Lean Agile Scrum (XP)Extreme Programming Crystal Clear Scrum, but… RUP IID Lean Software (Kanban)
Scrum has been used for almost 20 years for just about everything Empirical management and control process for any (development) project Used at product companies and IT organizations since 1990 Cross-functional teams self-organize to deliver the sprint goals Delivers business functionality in 2 to 4 weeks Scalable to distributed, large, and long projects CMMI Level/2 and Level/3 compliant Extremely simple but very hard CC Mountain Goat Software LLC
Scrum has been used by many companies Microsoft Yahoo Google Electronic Arts High Moon Studios Lockheed Martin Philips Siemens Nokia Capital One BBC Intuit Intuit Nielsen Media First American Real Estate BMC Software Ipswitch John Deere Lexis Nexis Sabre Salesforce.com Time Warner Turner Broadcasting Oce CC Mountain Goat Software LLC
Scrum has been used for many types of projects Commercial software In-house development Contract development Fixed-price projects Financial applications ISO 9001-certified applications Embedded systems 24x7 systems with 99.999% uptime requirements the Joint Strike Fighter Video game development FDA-approved, life-critical systems Satellite-control software Websites Handheld software Mobile phones Network switching applications ISV applications Some of the largest applications in use CC Mountain Goat Software LLC
Scrum cycle shows the essence of an iterative Agile process
 
eXtreme Programming (XP) engineering practices are critical for sustained success (Version Control, Coding standards) Automated Testing Test driven development  Refactoring Shared code Pairing Continuous Integration (Automated builds) User Stories
Crystal Clear is a light Agile process with 7 properties for successful projects Frequent Delivery Osmotic Communication Reflective Improvement Personal Safety Focus Easy Access to Expert Users Technical Environment with Frequent integration Automated testing Configuration management Core  properties  of “Crystal”  Properties  increasing project safety (rubustness to adverse events) Alistair Cockburn 2003-2005
Lean principles can be used to enhance success with Agile Eliminate Waste Amplify Learning Decide as Late as Possible Deliver as Fast as Possible Empower the Team Build Integrity In See the Whole
Kanban is Agile too… and uses continuous flow instead of iterations Graphic Copyright Jeff Patton AgileProductDesign.com
Overview
What questions do you have?

More Related Content

A Gentle Introduction To Agile

  • 1. A Gentle Introduction to Agile Michael Sahota October, 2009
  • 2. Michael has been doing Agile for 8 years including senior leadership roles B.A.Sc. in Engineering Science M.Sc. in Computer Science Companies I have worked at … Universities I learned at …
  • 4. What is software development? Art? Science? Engineering? Poetry?
  • 5. It’s a cooperative game of invention and communication Infinite Organization Survival Career Management Competitive Cooperative Finite w/ no fixed end King-of-the-hill wrestling Finite & goal-directed Tennis Software Development Poker Rock-Climbing Alistair Cockburn 2003-2005 Jazz music Product Management
  • 6. Project work is in conflict with Product work Project is primary goal: deliver working, useful software Need to “invent” solution for needs based on technology Transfer of ideas from domain experts to developers Product is secondary conflicting goal: set up for the next game What is your companies philosophy about long-term planning? Alistair Cockburn 2003-2005
  • 7. Incremental and Iterative Development (IID) is a precursor of Agile Use time-boxed iterations to reduce risk Provided feedback early In-tune with end users needs Responsive, not predictive
  • 8. IID is not new – it has a 50 year track record with big successes 1950’s X-15 hypersonic jet, Project Mercury 1960’s - Weinberg teaching IID at IBM 1972 - TRW uses IID on $100M Army Site Defense software (1972) 1977-1980 NASA’s Shuttle Program 1985 - Barry Boehm’s Spiral Model 1993 - First SCRUM at Easel Corporation 1995 – Microsoft IID published Larman, Craig and Basili, Vic. A History of Iterative and Incremental Development. IEEE Computer, June 2003 (in press)
  • 9. Waterfall history is accidental and based on misunderstandings 1970 - Royce publishes landmark paper as a conceptual non-working model 1985 - DoD-Std-2167 - Establishes Waterfall as mandatory process (by accident) 1994 - Mil-STD-498 - Permits both Waterfall and IID 1998 - Standish Group CHAOS Project Report: among the top reasons for project failures were aspects of the waterfall method: “ Research also indicates that smaller time frames, with delivery of software components early and often, will increase success rate.” 2000 - DoD 5000.2 IID is identified as preferred approach
  • 10. 2008 Agile adoption survey has striking, unambiguous results February 2008 Message sent out to DDJ mailing list Data, summary, and slides downloadable from www.ambysoft.com /surveys/ 642 respondents: 54.8% were developers, 29.4% were in management 41.6% had 10-20 years IT experience, 37.2% had 20+ years 37.7% worked in orgs of 1000+ people 71% worked in North America, 17% in Europe, 4.5% in Asia Copyright 2008 Scott W. Ambler www.ambysoft.com/surveys/
  • 11. Impact of agile on productivity  88%  Copyright 2008 Scott W. Ambler www.ambysoft.com/surveys/
  • 12. Impact of agile on quality of systems deployed  77%  Copyright 2008 Scott W. Ambler www.ambysoft.com/surveys/
  • 13. Impact of agile on business stakeholder satisfaction  78%  Copyright 2008 Scott W. Ambler www.ambysoft.com/surveys/
  • 14. Agile has crossed the chasm in U.S. and Europe; just starting in Canada
  • 15. Agile is not a silver bullet! People factors dominate software development “A well-functioning team of adequate people will complete a project almost regardless of the process or technology they are asked to use (although the process and technology may help or hinder them along the way).” – Alistair Cockburn
  • 16. The Agile Manifesto sets out values and principles While there is value in the items on the right, we value the items on the left more Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan Craftsmanship* over crap * 2008 proposal by Bob Martin
  • 17. Principle: Working software is a fundamental metric “ Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.” See more @ http:// agilemanifesto.org/principles.html
  • 18. Principle: Face-to-face communication is fast and effective Copyright Alistair Cockburn
  • 19. Documentation matters too! It is important that details get stored (paper, models, images, video, etc.) to handle: Gaps in time - What did we decide last month? Gaps in space - Keeping off-site people in the loop Contracts & change of personnel Traceability
  • 20. Agile processes come in different flavours Lean Agile Scrum (XP)Extreme Programming Crystal Clear Scrum, but… RUP IID Lean Software (Kanban)
  • 21. Scrum has been used for almost 20 years for just about everything Empirical management and control process for any (development) project Used at product companies and IT organizations since 1990 Cross-functional teams self-organize to deliver the sprint goals Delivers business functionality in 2 to 4 weeks Scalable to distributed, large, and long projects CMMI Level/2 and Level/3 compliant Extremely simple but very hard CC Mountain Goat Software LLC
  • 22. Scrum has been used by many companies Microsoft Yahoo Google Electronic Arts High Moon Studios Lockheed Martin Philips Siemens Nokia Capital One BBC Intuit Intuit Nielsen Media First American Real Estate BMC Software Ipswitch John Deere Lexis Nexis Sabre Salesforce.com Time Warner Turner Broadcasting Oce CC Mountain Goat Software LLC
  • 23. Scrum has been used for many types of projects Commercial software In-house development Contract development Fixed-price projects Financial applications ISO 9001-certified applications Embedded systems 24x7 systems with 99.999% uptime requirements the Joint Strike Fighter Video game development FDA-approved, life-critical systems Satellite-control software Websites Handheld software Mobile phones Network switching applications ISV applications Some of the largest applications in use CC Mountain Goat Software LLC
  • 24. Scrum cycle shows the essence of an iterative Agile process
  • 25.  
  • 26. eXtreme Programming (XP) engineering practices are critical for sustained success (Version Control, Coding standards) Automated Testing Test driven development Refactoring Shared code Pairing Continuous Integration (Automated builds) User Stories
  • 27. Crystal Clear is a light Agile process with 7 properties for successful projects Frequent Delivery Osmotic Communication Reflective Improvement Personal Safety Focus Easy Access to Expert Users Technical Environment with Frequent integration Automated testing Configuration management Core properties of “Crystal” Properties increasing project safety (rubustness to adverse events) Alistair Cockburn 2003-2005
  • 28. Lean principles can be used to enhance success with Agile Eliminate Waste Amplify Learning Decide as Late as Possible Deliver as Fast as Possible Empower the Team Build Integrity In See the Whole
  • 29. Kanban is Agile too… and uses continuous flow instead of iterations Graphic Copyright Jeff Patton AgileProductDesign.com
  • 31. What questions do you have?