The Current Conversation in Agile Software Development Aug-2002

Slides:



Advertisements
Similar presentations
What Is Agile Development & What does it Imply?
Advertisements

AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
PROC-1 3. Software Process. PROC-2 What’s a process? Set of activities in creating software It involves creativity –hard to automate –Requires human judgment.
Scrum (software development)
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The World of Agile Software Development (or, “Creating a fair playing field in 30 minutes”)
Agile Software Development Matt Rice November 27, 2006.
An Application for Education Dave Dalsveen CSM.  In terms of software development, from the need to integrate change into the software project development.
Agile Methods.
Agile Software Development
A Case for Agile Development
Agile Principles Suradet Jitprapaikulsarn 1. What is Agility? Effective (rapid and adaptive) response to change Effective communication among all stakeholders.
The Agile Alliance By Mark Rucker. The Agile Alliance What is the Agile Alliance? History of the Agile Alliance What is the Agile Alliance today? The.
An Agile View of Process
Agile Development Methods: Philosophy and Practice
Elephants in the Agile Room. Reflections on 10 Years of Agility Todd Little Sr. Development Manager Landmark Graphics.
The New (Agile) Methodology
Agile Programming Principles.
The Agile Primer July 2008 © ThoughtWorks 2008.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
Chapter 4 Agile Development
An introduction for PMPs
Chapter 5 Software Process Models. Problems with “Traditional” Processes 1.Focused on and oriented towards “large projects” and lengthy development time.
Scrum Thomas Ferris Nicolaisen Common sense?
"The thinking it took to get us into this mess is not the same thinking that is going to get us out of it."
AgileCamp Presents: Agile 101. Good luck in your presentation! This slide deck has been shared by AgileCamp Kit under the Creative Commons Attribution.
Richard HundhausenKen Schwaber Accentient Corporation Scrum.org SESSION CODE: DPR205.
Phil O'Connell Penn State Abington IST 261 (Fall 2015) Application Development Design Studio I Agile Scrum Phil O'Connell
Software Creation Communication Agile Principles applied to software projects.
THE AGILE MENTALITY CHAPTER Topics  Why Use Agile and Scrum?  Agile Development –Manifesto for Agile Software Development  Scrum Methodology.
1 The Manifesto for Agile Software Development “We are uncovering better ways of developing software by doing it and helping others do it. Through this.
K.Ingram 1 Sept 2007 Agile Software Development. K.Ingram 2 Sept 2007 Contents Agile Software Development: 1.What is it? 2.Agile’s Values, Principles,
AGILE COTS Václav Pergl We are uncovering better ways of developing software by doing it and helping others do it. Through this work.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
ISECON 2003 San Diego, California Integrating Agile Methodologies into the Project Capstone Christopher G. Jones, CPA/PhD Utah Valley State College
- 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.
Copyright © , RoleModel Software, Inc. The Continuous Refinement of Extreme Programming Ken Auer RoleModel Software, Inc.
©Alistair Cockburn The 2005 “Declaration of InterDependence” Alistair Cockburn
By: Isuru Abeysekera AGILE DEVELOPMENT. WHAT IS AGILE DEVELOPMENT? Broad term used to describe several methods for a development process Introduced in.
Agile Gintarė Bernotaitytė © 2013.
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The Current Conversation in Agile Software Development April-2004
Introduction to Software Engineering
Agile/XP Introduction
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Forget about Agile for a second!
Phlip Pretorius 10-March-2014
Manifesto for Agile Software Development
The low hanging fruit is gone!
AGILE SCRUM METHODOLOGY
PMP vs. Scrum Master Compatible or Incompatible? Presented by:
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Software Engineering: A Practitioner’s Approach, 6/e Chapter 4 Agile Development copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University.
Agile MDA Stephen J. Mellor
Teaching Agile Methods CSEE&T 2017, Savannah, Georgia
Agile Development Methods: Philosophy and Practice
Agile Development Methods: Philosophy and Practice
Introduction to Software Engineering
Agile Development Methods: Philosophy and Practice
Software Engineering (CSI 321)
Agile Software Development Paradigms
Agile Development Agile Development Damian Gordon Damian Gordon.
CSCE 747 Software Testing and Quality Assurance
Adjective: Able to move quickly and easily. Principles and Values
The Manifesto for Agile Software Development
Chapter 5: New and Emerging Process Methodologies
Agile Development Methods: Philosophy and Practice
Agile Development Methods: Philosophy and Practice
Agile Project Management and Scrum
Presentation transcript:

The Current Conversation in Agile Software Development Aug-2002 Alistair Cockburn alistair.cockburn@acm.org http://alistair.cockburn.us

Which Agile method is Best? The Great Bunny-Ears Debate

the Great Bunny-Ears debate A Skill-based craft, not a Religion -different approaches suited to different moments -people select them based on their personality + talents -people learn many techniques and use them variously Importance of micro-techniques -multitude of small, moment-to-moment actions that lead to overall effectiveness (-applies to thinking as well as to manual actions) Three levels of practice Copy technique . . . Switch techniques . . . Fluid

Application to agile software development: Don’t worry that different authors work in different ways Learn the themes and the micro-techniques Work out something effective for your group

History

How did “agile” arise? “Agile” techniques were in use since the beginning. Agile (mobility-based) techniques did not show competitive advantage in the 1970s / 1980s, but did during the 1990s and do now. 1994: trials of semi-defined agile methodologies RAD DSDM XP Crystal Scrum Adaptive 2001: Snowbird meeting, coining term “agile” for software development

Agile Software Development Manifesto - a declaration of values “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 more.” (Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert Martin, Stephen J. Mellor, Ken Schwaber, Jeff Sutherland, Dave Thomas )

Where Is Agile Applicable? Agile joins the “would-be” crowd

Reality check: Methodologies are only attitudes, Reality check: Methodologies are only attitudes, a “centering of the attention”. Declarations of core values declare an “attitude” An attitude cannot promise success in the future, it can only be spoken successfully in the past tense. it is only a wish to be...

There are valid alternatives to would-be-Agile We are going to run a . . . would-be agile process would-be predictable process would-be repeatable process would-be inexpensive process would-be defect-free process would-be ‘laid-back and enjoyable’ process

Different projects need different methodologies Different projects need different methodologies -How many are suited to agile prioritization? (2-4/5) . . . Prioritized for Legal Liability Prioritized for Productivity & Tolerance Life (L) (defects cause loss of...) Criticality L6 L20 L40 L100 L200 L500 L1000 Essential money (E) E6 E20 E40 E100 E200 E500 E1000 Discretionary money (D) D6 D20 D40 D100 D200 D500 D1000 Comfort (C) C6 C20 C40 C100 C200 C500 C1000 1 - 6 - 20 - 40 - 100 - 200 - 500 - 1,000 Number of people involved +20%

Some agile techniques can be applied on (almost) any project Some agile techniques can be applied on (almost) any project. Some people will only use these. The would-be Agile attitude focuses on: 1. Talent & Skill (fewer better people) 2. Proximity (developers - developers - users) 3. Communication (morale, daily standup) 4. Just-in-time requirements and design 5. Frequent Delivery (incremental development) 6. Reflection 7. Less paper, more tacit / verbal communication 8. Tools 9. Quality in work 10. Different strategies for different projects

Misconstruing the message

Is / Isn’t: Misconstruing the message 1. Agile SD is cheating 2. Agile SD requires the best developers 3. Agile SD is hacking 4. Agile SD won’t work for all projects

1. Agile won’t work for all projects. Right. (Business isn’t fair). Agile is an attitude prioritizing: Project evaluation based on delivered code Rapid feedback People as a value center Creativity in overcoming obstacles Not every team ... values the Agile value set. ... can set up the needed trust and communication

2. Agile only works with the best developers. Every project needs at least one experienced and competent lead person. (Critical Success Factor) Each experienced and competent person on the team permits the presence of 4-5 “average” or learning people. With that skill mix, agile techniques have been shown to work many times.

Faulty logic in action:“Agile processes require a few Competent and Experienced (C&E) people.” Proposition (T): To use agile, I need a few C&E people. Inverse (F): If I am not using an Agile process, I don’t need any C&E people on my project ..? (Logical Flaw: If I don’t have any C&E people, I can ... “suffer” ... ) Contrapositive (T): Without a few C&E people, I can’t use agile processes (or anything else). Conclusion: With a few C&E people, I can use almost any process ... without them, no process will work.)

3. Agile is hacking. (Hacker interpretations are available & inevitable.) Hackers: “...spend all their time coding” Agilists: ...test according to project priorities, recheck results with users often. Hackers: “...talk to each other when they are stuck” Agilists: ...talk to each other and customers as a matter of practice. Hackers: “...avoid planning” Agilists: ...plan regularly Hackers: “...management caves in out of fear” Agilists: ...expect management to provide priorities, & participate jointly project adjustments.

4. Agile techniques are “cheating”. · Hire good people; · Seat them close together to help each other out; · Get them close to the customers and users; · Arrange for rapid feedback on decisions; · Let them find fast ways to document their work; · Cut out the bureaucracy. This is: cheating . . . stacking the deck

4. Agile techniques are “cheating”. · Hire good people; · Seat them close together to help each other out; · Get them close to the customers and users; · Arrange for rapid feedback on decisions; · Let them find fast ways to document their work; · Cut out the bureaucracy. This is: a good idea the heart of agile software development

The Current Conversation in Agile Software Development Alistair Cockburn alistair.cockburn@acm.org http://alistair.cockburn.us