Alistair Cockburn©Humans and Technology, Inc., 1998-2005 Slide 1 Foundations of Agile Development: Cooperative Games of Invention and Communication in.

Slides:



Advertisements
Similar presentations
Bell Work Read employment article Being an MVP at Work. Be prepared to discuss the article and explain the key points and understanding appropriate workplace.
Advertisements

Time Management By Zahira Gonzalez.
What Is Agile Development & What does it Imply?
©Alistair Cockburn Slide 1 Alistair Cockburn The Crystal Family of Methodologies for Software Development.
Conducting Pre- and Post-Conferences Copyright 2008 by The Health Alliance of MidAmerica LLC.
© 2014 wheresjenny.com ROLE PLAY STAFF IN CALL CENTERS AND TELEMARKETING FIRMS.
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.
Slide Set to accompany Web Engineering: A Practitioner’s Approach
These slides are designed to accompany Web Engineering: A Practitioner’s Approach (The McGraw-Hill Companies, Inc.) by Roger Pressman and David Lowe, copyright.
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The World of Agile Software Development (or, “Creating a fair playing field in 30 minutes”)
Project Management – An Overview Project as a metaphor – a way to approach a series of activities Contexts – construction managementt, IT development,
Chapter 13 Process Tools FOCUS: This chapter details the process understanding tools and techniques.
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.
Software Development Models: Waterfall and Spiral Sung Hee Park Department of Mathematics and Computer Science Virginia State University August 21, 2012.
Frequently asked questions about software engineering
Introduction to Agile.
Chapter 8 communication skills Section 8.1 Defining Communication
IT Job Roles Task 20. Software Engineer Job Description Software engineers are responsible for creating and maintaining software of various different.
Marketing CH. 4 Notes.
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.
Flowchart Guide Rules and Tips for Creating Flowchart Floachart Examples Flowchart Overview Benefits of Flowchart Start Alarm Rings Ready to Get.
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.
SOFT SKILLS C.RAGHAVA RAO.
Crystal Yellow Agile Software Methodology For ParaView Development Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin.
1 Agile Methodology & Programming Ric Holt July 2009.
Agile and XP Development Dan Fleck 2008 Dan Fleck 2008.
Software engineering. What is software engineering? Software engineering is an engineering discipline which is concerned with all aspects of software.
Copyright (C) 1993 – 2005 Michael Arthur Johnson Riga, Latvia Beyond Total Quality Management Learn to live the talk.
A COMPETENCY APPROACH TO HUMAN RESOURCE MANAGEMENT
Arman Arneja Mr. Como. Marketing Managers General Overview Plan, direct, and coordinate marketing programs. (promotion, advertisements, etc.) Identify.
Patient Education. Educational Domains Cognitive: information area (teaching joint protection principles to patient with Rheumatoid Arthritis Psychomotor:
Feedback: It Ain’t Just Noise! 36th Annual I&R Training and Education Conference Atlanta, Georgia Tuesday - June 3, 2014 John Plonski – Facilitator Director.
IT Job Roles & Responsibilities Shannon Ciriaco Unit 2:
Agile: Lessons Learned (a retrospective) Tony
Modeling Tough Scheduling Problems with Software Alex S. Brown Mitsui Sumitomo Marine Management (USA), Inc.
CPSC 371 John D. McGregor Session 32 This is it..
Funded by the European Commission WHAT MAKES A GOOD PROPOSAL?
Introduction. Steve Semler The Session in a Nutshell Figure out the business purpose and learning intent. Determine what actions or decisions the learners.
Evaluating Requirements
© BLR ® —Business & Legal Resources 1408 Teambuilding for All Employees.
Agenda: Overview of Agile testing Difference between Agile and traditional Methodology Agile Development Methodologies Extreme Programming Test Driven.
The collection of phases that are performed in completing a project. Each project phase is marked by completion of one or more deliverables. The conclusion.
Agile Manifesto Values. Agile Manifesto - Values In 2001, a group of expert software development professionals met to agree on a common set of guiding.
©Alistair Cockburn Slide 1 The Crystal Approach to Developing Software Alistair Cockburn The Crystal Approach to.
©Alistair Cockburn 2009 “I Come to Bury Agile, Not to Praise It” Effective Software Development in the 21st Century Alistair Cockburn
Management, Supervision, and Decision Making Chapter 2.
© 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
Functional Behavioral Assessment & Behavior Intervention Plan.
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The Role of the Manager in Modern Agile Projects Alistair Cockburn Humans and Technology.
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
Agile Methods SENG 301.
 Crystal methods are part of the Crystal family developed by Alistair Cockburn in the mid- 1990s  Based on observations of many teams that did not follow.
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
Crystal (How to make a methodology fit)
Frequently asked questions about software engineering
Designing in Teams The Cooperative Game
Designing in Teams Dr. Alistair Cockburn
Teaching the Next Generation Software Engineering
Analysis & Presentation Lecture
Presentation transcript:

Alistair Cockburn©Humans and Technology, Inc., Slide 1 Foundations of Agile Development: Cooperative Games of Invention and Communication in Action Alistair Cockburn Humans and Technology

Alistair Cockburn©Humans and Technology, Inc., Slide 2 Agile is a special case of effective software development is a special case of cooperative game of invention & communication MORE VALUABLE Individuals & interactions Working software Customer collaboration Responding to change HAS VALUE Processes and Tools Comprehensive documentation Contract negotiation Following a plan These values work from : communication, trust, feedback, fluidity

Alistair Cockburn©Humans and Technology, Inc., Slide 3 Developing software consists of making ideas concrete in an economic context. People inventing and communicating --- Solving a problem they don't yet understand, (which keeps changing out from under them) Creating a solution they don't yet understand, (which keeps changing out from under them) Writing in languages they don’t yet understand, (which keeps changing out from under them) --- To an interpreter unforgiving of error Where every choice has economic consequences, and resources are limited.

Alistair Cockburn©Humans and Technology, Inc., Slide 4 Software development in general is a series of “cooperative games of invention and communication” 2The “cooperative game” leads us to a better vocabulary for our field than “engineering”. 2Playing the cooperative game deliberately produces good project strategies. 2Cooperative issues govern much of the game: -Project-specific individuals and situations -Distances, Convection currents of information -Pride-in-work, Amicability matter 2“Agile” development is an approach to playing the game effectively under selected circumstances.

Alistair Cockburn©Humans and Technology, Inc., Slide 5 do thatdo thisdo that do thisdo that do this Why don’t Processes solve the problem ? Wish: The ideal process allows a company to eliminate its dependence on key individuals, producing software reliably, repeatably.

Alistair Cockburn©Humans and Technology, Inc., Slide 6 Complex processes using peopledon’t work as written ! “Work to rule” - doing only what the process calls for - is a standard work-slowdown technique. Why does breaking the process improve it? (It was wrong to start with) Why do workers break rules to improve a process? (Pride in accomplishment)

Alistair Cockburn©Humans and Technology, Inc., Slide 7 Infinite Organization Survival Career Management Competitive Cooperative Finite w/ no fixed end Jazz music King-of-the-hill wrestling Finite & goal-directed Tennis Software Developmen t Poker Rock-Climbing A software project is a goal-directed, finite cooperative game Chess

Alistair Cockburn©Humans and Technology, Inc., Slide 8 “Series of games” means each game calls for TWO goals in ONE - both resource-limited ! Goal #1  Deliver this software Goal #2  Set up for the next game Goals 1 and 2 conflict and compete for resources! Goal 1 is a simple, finite assignment; Goal 2 is an essentially infinite assignment. The game’s situation never repeats itself. Situations and strategies keep shifting Managing the game is a matter of brinkmanship. Achieve Goal #1; “adequacy” for Goal #2.

Alistair Cockburn©Humans and Technology, Inc., Slide 9 Cooperative software development requires intensive communication The various people need to construct similar internal models about what the problem is; what the soul of the solution is; They need to exchange details about the solution; trivia about the technology; trivia about the domain; dependency notes. Any delay in exchanging information delays the project, increases cost, jeopardizes the two goals.

Alistair Cockburn©Humans and Technology, Inc., Slide 10 The project’s speed depends on Cooperative Game issues : Can people easily detect something needs attention? (Good at Looking Around) Will they care enough to mention it or attend to it? (Trust, Personal safety, Amicability, Pride-in-work) Can they effectively pass along the information? (Economics of proximity, convection currents) The Cooperative Game lexicon gives us words and handles on these important issues

Alistair Cockburn©Humans and Technology, Inc., Slide 11 Normal team Aligned team (Dirty Dozen) The alignment of people’s goals affects the team efficiency: Goal alignment becomes a key topic

Alistair Cockburn©Humans and Technology, Inc., Slide 12 Amicability and Personal Safety determine how quickly information moves Amicability : Willingness to listen with good will The “amicability index” indicates how easily information passes from one part of the organization to another. In low amicability, people block the flow of information, intentionally or through not listening well. Personal Safety : Feeling of safety in speaking out (weaker form of Trust). Don’t need full 5-dimensional Trust Do need people volunteering information

Alistair Cockburn©Humans and Technology, Inc., Slide 13 In a cooperative game of communication... poor office layout costs the project a lot Reference pair 100 questions/week 1 minute delay / question : 1-2/3 hr/wk/person 12 people : 20 work hours / wk annually : 960+ work hours / yr (approx. 24 work weeks / year in transport delay)...plus Lost Opportunity Costs for questions not asked!... distributed teams cost still more in lost Trust.

Alistair Cockburn©Humans and Technology, Inc., Slide 14 The economics of communication affects team seating & project strategies This topic is well researched: “Managing the Flow of Technology,” T. J. Allen, M.I.T. “Distance Matters,” Olson & Olson “The length of a school bus” is the approx. distance they’ll both to travel to ask questions. They don’t climb stairs! Suggests two project strategies: “Osmotic Communication” (Team room) “Cone of Silence” (for overload situations)

Alistair Cockburn©Humans and Technology, Inc., Slide 15 KimPat KimPat Information drifts in currents; consider the “convection currents” of communication 72 work weeks lost annually Kim Pat Kim Pat 24 work weeks lost annually effectivemost effective (and tiring) “Information is like perfume”

Alistair Cockburn©Humans and Technology, Inc., Slide 16 Photo courtesy of Thoughtworks Information radiators emit constantly -- people learn while walking past! Photo courtesy of Géry Derbier

Alistair Cockburn©Humans and Technology, Inc., Slide 17 In a cooperative game of communication technology plays a role... Simulate Rich communication Presence Awareness web cams & mikes instant messaging systems continuous build systems (Cruise Control) Not ‘as good’, but ‘better than isolation

Alistair Cockburn©Humans and Technology, Inc., Slide 18 Photo courtesy of Tomax corp. Beware: Morale, Trust, Personal Safety flow through convection currents, too! Photo courtesy of ADP Dealer Services

Alistair Cockburn©Humans and Technology, Inc., Slide 19 Mid-talk check: Cooperative Game topics Each game part of a series:  must deliver & set up for next game Game situation changes constantly:  need fluidity in strategies Key terms in playing the cooperative games effectively:  Goal alignment, Morale  Amicability, Personal Safety  Communication paths rich, osmotic, low delay ... still haven’t touched the topic of ‘people’

Alistair Cockburn©Humans and Technology, Inc., Slide 20 People are unpredictable & spontaneous Weak on:Strong on: Consistency Communicating Discipline Looking around Following instructionsCopy / modify Changing habits Motivated by: Pride in work Pride in contributing Pride in accomplishment Trust & personal safety

Alistair Cockburn©Humans and Technology, Inc., Slide 21 Ecosystem Methodology Process Techniques Tools Skills Roles Standards Quality Teams Products People MilestonesActivities Personality Jenny Jim Peter Annika Project manager Documenter Designer Tester Values People are stuffed full of personality

Alistair Cockburn©Humans and Technology, Inc., Slide 22 Methodology and Ecosystem are in interplay When each changes, the ecosystem rearranges itself. Ecosystem: Actual project details (“environment”) Flights of stairs people must climb (“cliffs”) Office layout (“terrain”) Staff roles (“species”) Specific strong people (“predators”)

Alistair Cockburn©Humans and Technology, Inc., Slide 23 Jenny (Pete) MarketplaceProgrammers Bill Mary Marketing group Business analysts (Dirty Dozen) Strategies, processes, methodologies get rebuilt around ecosystems of people

Alistair Cockburn©Humans and Technology, Inc., Slide 24 Every game run uses different strategies -- Set up each project’s accordingly or suffer Number of people coordinated Comfort Essential moneys Life ,000 C6C20C40C100C200C500C1000 D6D20D40D100D200D500D1000 E6E20E40E100E200E500E1000 L6L20L40L100L200L500L1000 Discretionary moneys “Criticality”

Alistair Cockburn©Humans and Technology, Inc., Slide 25 Top factors when playing software development as a cooperative game: 2Fewer, better people working in amicability & safety 2Close (osmotic) communication 2Frequent delivery and feedback at all levels 2Reflective improvement 2Easy access to expert users 2Goals aligned & quality time to focus on them 2Simplified designs 2Future topics: humor & competition Agile development plays the cooperative game effectively in many common circumstances.

Alistair Cockburn©Humans and Technology, Inc., Slide 26 These ideas has been derived from projects and tested on projects over years 2 Derived from dozens of project debriefings 2 Supported in cognitive & social theory literature 2 Tested on small / large projects, various countries 2 Applied by busy teams on the fly 2 There is no ‘correct’ answer, there are only strategies more effective in this game at this moment.

Alistair Cockburn©Humans and Technology, Inc., Slide 27 Read more about cooperative games, agile development, project strategies at Alistair.Cockburn.us