What Is Agile Development & What does it Imply?

Slides:



Advertisements
Similar presentations
Polycom Unified Collaboration for IBM Lotus Sametime and IBM Lotus Notes January 2010.
Advertisements

0 - 0.
Digital inclusion – a CS perspective Alex Poulovassilis ESRC TLRP-TEL Inclusion and Impact conference, June 2010.
Kelly Weyrauch
Colin Weaver The Eleven Essential Behaviours of Successful Agile Project Teams.
Chapter: 3 Agile Development
Agile Software Development کاری از : مهدی هوشان استاد راهنما : استاد آدابی.
OXFORD SOFTWARE ENGINEERING Software Engineering Services & Consultancy Slide 1.1 eXtreme Programming experiences with a new approach to software development.
©Alistair Cockburn Slide 1 Alistair Cockburn The Crystal Family of Methodologies for Software Development.
Systems Development Environment
AGILE DEVELOPMENT Outlines : Quick Look of agile development Agility
Agile development By Sam Chamberlain. First a bit of history..
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The World of Agile Software Development (or, “Creating a fair playing field in 30 minutes”)
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
An Agile View of Process
Introduction to Agile.
Software engineering Process models Pavel Agejkin.
1 Agile Methodology & Programming Ric Holt July 2009.
Software Engineering Modern Approaches
Agile Programming Principles.
Agile Web Development C. Daniel Chase University of Colorado at Boulder.
Developed by Reneta Barneva, SUNY Fredonia Agile Development.
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.
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.
Agile Modeling Theory. 2 Agile Modeling (AM) AM is a chaordic, practices-based process for modeling and documentation AM is a collection of practices.
Agile Development In 2001, a group called the “Agile Alliance” signed a “manifesto” that stated: Individuals and Interactions over processes and tools.
Project Workflow. How do you do it? -Discussion-
IT Job Roles & Responsibilities Shannon Ciriaco Unit 2:
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,
1 11/21/2015 ã 2007, Spencer Rugaber Agile Manifesto February, 2001 XP, SCRUM, DSDM, Adaptive Software Development,
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
Topics that covered Agile Software Development.
Requirements Engineering Requirements Engineering in Agile Methods Lecture-28.
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix B Agile Methodologies B.1.
- 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.
©Alistair Cockburn 2009 “I Come to Bury Agile, Not to Praise It” Effective Software Development in the 21st Century Alistair Cockburn
Alistair Cockburn©Humans and Technology, Inc., Slide 1 Foundations of Agile Development: Cooperative Games of Invention and Communication in.
© 2010 Alistair Cockburn The New Methodology isn't a Methodology Dr. Alistair Cockburn.
©Alistair Cockburn 2013 Disciplined Learning: The successor to risk reduction Disciplined Learning: The successor to risk reduction Dr. Alistair Cockburn.
©Alistair Cockburn 2010 What Makes Agile Work: The New Software Engineering Getting Past “Wimpy” Agile Dr. Alistair Cockburn
© 2010 Alistair Cockburn Designing in Teams Dr. Alistair Cockburn
Slide 1 ©Alistair Cockburn 2008 Alistair Cockburn Effective Software Development in the 21st Century: The New Face Of Software.
Slide 1 ©Alistair Cockburn 2009 Project Management as Pharma: Sometimes the opposite of a good strategy is a better strategy Dr. Alistair Cockburn Humans.
Agile Gintarė Bernotaitytė © 2013.
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The Current Conversation in Agile Software Development April-2004
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Introduction to Agile Software Development
Software & Software Engineering Pertemuan-4 Dosen :Kundang K Juman
Agile Development Processes “Make the Customer Successful”
Rapid Application Development
Agile Software Development
The Current Conversation in Agile Software Development Aug-2002
Hard-Agile Effective Software Development in the 21st Century
Agile Software Development The Cooperative Game
Crystal (How to make a methodology fit)
Term Paper on Agile Software Development
Designing in Teams The Cooperative Game
Designing in Teams Dr. Alistair Cockburn
Teaching the Next Generation Software Engineering
Introduction to Agile Blue Ocean Workshops.
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
Agile software development
Agile Development.
Chapter 5: New and Emerging Process Methodologies
SD5953 Successful Project Management AGILE SOFTWARE DEVELOPMENT
Presentation transcript:

What Is Agile Development & What does it Imply? Alistair Cockburn alistair.cockburn@acm.org http://Alistair.Cockburn.us

Talk structure What agile is (isn’t), and what it implies What is ‘agile’, how did it get there? Methodology theory meets project details Getting / Misconstruing the message

‘Agile’ got there by winning the development races in the turbulent 1990s. 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. Trial runs of current agile methodologies, 1993 - 1995 RAD DSDM XP Crystal Scrum Adaptive

Agile software development is about valuing “maneuverability” and “efficiency” Differing tactics fit differing focuses of attention: ? predictability ? repeatability ? cost ? agility Agile methods make greater use of: + Individuals and interactions + Working software + Customer collaboration + Responding to change Within ‘agility,’ different tactics fit different situations (“Agile” is not just a retitling of Extreme Programming !)

Software development is making ideas concrete in an economic context. People inventing / communicating, Solving a problem Creating a solution Using limited languages Where every choice has economic consequences, and resources are limited Which they don’t fully understand & keeps changing under them

A resource-limited cooperative game of invention and communication Primary Goal  Deliver this software Secondary Goal  Set up for the next game Elements of the Game: People, Cooperation, Invention, Communication (p.s. The game never repeats !!) Infinite Organization Survival Career Management Competitive Cooperative Finite w/ no fixed end Jazz music King-of-the-hill wrestling Finite & goal-directed Tennis Poker Rock-Climbing Games Software Development

Key topics in the cooperative game 1. Different tactics for different projects 2. People’s Personalities, Motivation, Goal Alignment 3. Talent & Skill (fewer better people) 4. Communication (developers - developers - users) 5. Energy Management (minimal requirements/design) 6. Reflecting on what works / doesn’t work 7. Quality in work (good, simple designs) 8. Good Tools (configuration management, testing) 9. Tacit knowledge, verbal communication 10. Frequent Delivery (incremental development)

The players in the game are “People,” Highly spontaneous, active devices Weak on: Strong on: Consistency Communicating Discipline Looking around Following instructions Copy / modify-ing Motivated by: Pride in work Pride in contributing Pride in accomplishment

People communicate most effectively interactively, face-to-face. 2 people at whiteboard 2 people on phone Communication Effectiveness Photo courtesy of Evant corp. Videotape 2 people on email Paper Richness of communication channel

Methodology meets Project details: Methodology meets Project details: (a) Methodology = theory of a project Methodology Activities Milestones Values Quality Process Teams Regression tests Object model Project plan Use cases Tester MBWA Use cases CRC cards Designer Documenter Project manager Products Techniques Roles Microsoft Project 3month increments UML / OMT C++ Microsoft Project STP Envy/Developer Modeling Java programming JAD facilitation Personality Standards Tools Skills

“Ecosystem” = the actual project details “Ecosystem” = the actual project details. (b) People are stuffed full of personality Methodology Ecosystem Values Values Activities Milestones Jenny Jim Peter Annika Quality Process Teams Tester Designer Documenter Project manager Products Techniques Roles People Standards Tools Skills Personality

Methodology and Ecosystem are always in interplay When each changes, the ecosystem rearranges itself. Ecosystem: Project details (“environment”) Staff expertise (“species”) Specific dominant / mild people (“predators”) Flights of stairs people must climb (“cliffs”) Office layout (“terrain”) Amicability between the individuals

Projects get restructured around ecosystem details Marketing group Business analysts Jenny (Pete) Marketplace Programmers Bill Mary

Misconstruing the message: 1. Agile is hacking. Hackers “Avoid planning” “Spend all their time coding” “Talk to each other when they are stuck [only]” “Management caves in out of fear” Agilists Plan regularly Test according to project priorities, recheck results with users often. Talk to each other and customers as a matter of practice Expect management to provide priorities, to participate jointly in making project adjustments. (Hacker interpretations are available & inevitable.)

Misconstruing the message 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.

Getting the message: 1. Agile techniques are “cheating”. · Hire good people; · Seat them close together to help each other out; · ... 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 the heart of agile software development a good idea

Getting the message: 2. Agile won’t work for all projects. Right. Not every project team - values agility - can set up the needed trust and communication (p.s. Business isn’t fair).

Alistair Cockburn alistair. cockburn@acm. org http://members. aol Alistair Cockburn alistair.cockburn@acm.org http://members.aol.com/acockburn www.CrystalMethodologies.org