©Alistair Cockburn 2010 What Makes Agile Work: The New Software Engineering Getting Past “Wimpy” Agile Dr. Alistair Cockburn

Slides:



Advertisements
Similar presentations
Applying Agile Methodologies to Traditional Publishing Kristen McLean Bookigee, Inc. February 12 th, 2011.
Advertisements

What Is Agile Development & What does it Imply?
©Alistair Cockburn Slide 1 Alistair Cockburn The Crystal Family of Methodologies for Software Development.
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.
Chapter 2 Modeling the Process and Life Cycle Shari L. Pfleeger
Agile development By Sam Chamberlain. First a bit of history..
© ThoughtWorks, 2008 Improving Productivity and Quality With Agile Patrick Kua.
1 Agile Methodologies in DoD Software By Cynthia Johnson.
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
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.
Agile Programing Methods Drew Arrigoni. The Agile Manifesto ● Individual Interactions over Processes and Tools ● Working Software over Comprehensive Documentation.
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.
4. Interaction Design Overview 4.1. Ergonomics 4.2. Designing complex interactive systems Situated design Collaborative design: a multidisciplinary.
Agile Software Development Alistair Cockburn Addison Wesley.
4. Interaction Design Overview 4.1. Ergonomics 4.2. Designing complex interactive systems Situated design Collaborative design: a multidisciplinary.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
© AgiliX Agile Development Consulting Agile Demystified Cesario Ramos.
CS3500 Software Engineering Agile Software Development (1) Agile software development, proposed in 2001 by the non-profit Agile Alliance, has four basic.
Programming with eyes wide open. Your host today Subby Angelov Team
Agile Project Management By: Jim Highsmith Presented by: Brian Faulk.
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.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
Agile Software Development What is Agile? And How are we implementing Agile?
BEFORE AGILE METHODS Other Engineering fields development models were used, ie: Waterfall Method: Intensive planning and refactoring before coding is actually.
The Agile Primer July 2008 © ThoughtWorks 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.
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-
© 2006 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Agile Assessment Gadi Lifshitz, Ayelet Kroskin, Barak Yagour, Yael Dubinsky.
AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha.
1 Software Process Models-ii Presented By; Mehwish Shafiq.
CS1: Classic Software Life Cycle “Waterfall” method: 1.Requirements/Analysis Determine the problem to be solved – client-centered 2.Specification.
Agile Concepts - II “Agile” Estimating & Planning Nupul Kukreja 5 th November, 2014.
Agile Methodology Paul Mohrbacher. Agile Manifesto We are uncovering better ways of developing software by doing it and helping others do it. Through.
AGILE XP AND SCRUM © University of LiverpoolCOMP 319slide 1.
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
- 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.
Module 2: What is Agile? Why use it? TLO: Given a DoD program involved in software development, the student will recognize situations where applying agile.
Generic competencesDescription of the Competence Learning Competence The student  possesses the capability to evaluate and develop one’s own competences.
Copyright © , RoleModel Software, Inc. The Continuous Refinement of Extreme Programming Ken Auer RoleModel Software, Inc.
ICS 61 – The Game Improves through Iteration Based on Schell, ch. 8 Winter, 2015.
©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.
1 Requirements Engineering for Agile Methods Lecture # 41.
©Alistair Cockburn The 2005 “Declaration of InterDependence” Alistair Cockburn
© 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.
Extreme programming (XP) Advanced Software Engineering Dr Nuha El-Khalili.
© 2010 Alistair Cockburn Designing in Teams Dr. Alistair Cockburn
By Manish Shrotriya CSE MS 4 Point Agile Manifesto 1.Individuals and interactions over processes and tools 2.Working software over comprehensive.
Introduction to Agile Development Advanced Software Engineering Dr. Nuha El-Khalili.
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.
Embedded Systems Software Engineering
The Current Conversation in Agile Software Development Aug-2002
Hard-Agile Effective Software Development in the 21st Century
Case Studies Motivating Efficiency as a Spendable Quantity
Agile Software Development The Cooperative Game
Domains of Agility Being Agile Doing Agile Evan Leybourn, 2016 PROCESS
Crystal (How to make a methodology fit)
Designing in Teams The Cooperative Game
Designing in Teams Dr. Alistair Cockburn
Teaching the Next Generation Software Engineering
Projects, Assignments, and other Assessments
Presentation transcript:

©Alistair Cockburn 2010 What Makes Agile Work: The New Software Engineering Getting Past “Wimpy” Agile Dr. Alistair Cockburn

©Alistair Cockburn The Agile Manifesto invites wimpy-ness "… Individuals and interactions over processes & tools…" (Yayy!! I don't have to follow those stupid processes any more!) "… Working software over comprehensive documentation…" (W00t!! Dump the documentation! I LOVE this agile stuff!) "… Customer collaboration over contract negotiations…" (I'm done when I'm done and I never have to say when!) "… Responding to change over following a plan…" (No plans! No project managers! No architects! ) Where do I sign up?

©Alistair Cockburn People... Solving a problem Creating a solution To an interpreter unforgiving of error Making decisions every decision has economic consequences and resources are limited. … they don’t understand which keeps changing Communicating Deciding Inventing Expressing ideas in a language … they don’t understand which keeps changing … they don’t understand which keeps changing

©Alistair Cockburn Craft Cooperative Game Knowledge Acquisition Flow Management Self-Awareness (Personalities) origami courtesy of Gery Derbier

©Alistair Cockburn Self - Awareness

©Alistair Cockburn People don’t match formulas

©Alistair Cockburn Craft

©Alistair Cockburn People learn skills in 3 stages Shu: Learn a technique Ha: Collect techniques Ri: Invent / blend techniques

©Alistair Cockburn Craft teaches us to pay attention to our skills and to the medium Major crafts: 1 Deciding what to build 2 Managing (people and projects) 3 Modeling 4 Designing the external view 5 Large-scale design (architecting) 6 Fine-scale design (programming) 7 Validating the work

©Alistair Cockburn The International Consortium for Agile is establishing a learning roadmap for each specialty.

©Alistair Cockburn Cooperative Game

©Alistair Cockburn Infinite Organization Survival Career Management Competitive Cooperative Open-ended Jazz music Finite goal-directed King-of-the-hill wrestling Poker Tennis Chess Rock-Climbing Theater Journalism Exploration Software Development Business Product Line Management IT Systems Games have positions, moves, strategies

©Alistair Cockburn Three moves: Two conflicting subgoals: Deliver this system Set up for the next game The situations (almost) never repeat! Communicating Deciding Inventing

©Alistair Cockburn C6C20C40C100 D6D20D40D100 E6E20E40E100 L6L20L40L100 Project Classification Scale: Number of people coordinated Comfort Essential moneys Life Discretionary moneys Criticality X X X X X Adapt to your situation

©Alistair Cockburn Richness of communication channel Communication Effectiveness 2 people on phone 2 people on chat (Question-and-Answer) 2 people at whiteboard (Courtesy of Thoughtworks, inc.) Face-to-face is the most effective - Try Video Paper (No Question-Answer) Videotape

©Alistair Cockburn People issues determine a project’s speed Can they easily detect something needs attention? (Good at Looking Around) Will they care enough to do something about it? (Pride-in-work; Amicability) Can they effectively pass along the information? (Proximity; face-to-face)

©Alistair Cockburn Flow Management

©Alistair Cockburn I wish they’d decide what style they want! Users & Sponsors Testers Business Analysts I wish they’d decide what functions they want! A decision I wish they’d decide on the UI design already! I wish they’d think a bit more carefully before coding! Programmers Every line of code is a decision UI Designers Design = manufacturing if Inventory = Decisions!

©Alistair Cockburn Users & Sponsors UI Designers Programmers Testers Business Analysts Convert jams Users & Sponsors UI Designers Programmers Testers Business Analysts to continuous flow. Reduce decisions in motion & balance the flow

©Alistair Cockburn Knowledge Acquisition

©Alistair Cockburn Delivers nearly no knowledge (or risk reduction) Big-Bang Design is a late-learning strategy time Knowledge comes at the “moment of truth”: final integration. cost Growth of knowledge with big-bang integration

©Alistair Cockburn Development sequence indifferent (with respect to knowledge) Delivers knowledge (risk reduction) We can pay to learn early in the project time cost Growth of knowledge with early, continuous integration Applies to both business ("lean startups") & technical design

©Alistair Cockburn Develop for business value once risks are down time Knowledge growing (risk reduction) cost Business value growing Reduce risks: - Business - Social - Technical - Cost / Schedule

©Alistair Cockburn Trim to deliver on-time (or early) Delay to get more or better Payoff = Trim-the-Tail: Deliver by value or date

©Alistair Cockburn Craft Professions skills in a medium Cooperative Game communication teamwork strategies Knowledge Acquisition pay-to-learn trim-the-tail Flow Management unvalidated decisions = inventory, lean processes Self-Awareness (Personalities) the people, strategies, techniques actually used Designing in Teams origami courtesy of Gery Derbier