©Alistair Cockburn 2003-2005 Slide 1 Alistair Cockburn The Crystal Family of Methodologies for Software Development.

Slides:



Advertisements
Similar presentations
Iteration Planning.
Advertisements

What Is Agile Development & What does it Imply?
Agile Architecture Prabhu Venkatesan for COMP-684.
Agile methods and techniques– some method comparisons Dave Parsons Mark Cranshaw.
NAUG NAUG Knowledge Evening – th February 2007.
Agile development By Sam Chamberlain. First a bit of history..
CSCU 411 Software Engineering Chapter 2 Introduction to Software Engineering Management.
SE Crystal1 Crystal Methodology Helaine McFerron Cristina Fhied SE 470 Presentation.
Agile Methodologies Crystal
Computer Engineering 203 R Smith Agile Development 1/ Agile Methods What are Agile Methods? – Extreme Programming is the best known example – SCRUM.
COMP 350: Object Oriented Analysis and Design Lecture 2
Alistair Cockburn©Humans and Technology, Inc., 2003 Slide 1 Alistair Cockburn Humans and Technology Salt Lake City, UT
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.
Sprint – Weekly cadence
Gaining Support for a Sustainable Agile Transformation Dennis Stevens, VP Enterprise Engagements LeadingAgile November 12, 2013.
Crystal Yellow Agile Software Methodology For ParaView Development Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin.
Software Engineering Modern Approaches
Agile Programming Principles.
Agile Software Development Brian Link
Sofia Bulgaria Summer School IST eXPERT: Best Practice on e-Project Development 30 June - 2 July 2003 eXtreme programming.
Agile Awareness Workshop 2008 Flavours of Agile II eXtreme Programming V I K A S H A Z R A T I June 14' 2008.
Copyright David Churchville - XP and Agile Planning David Churchville ExtremePlanner Software XP Fishbowl.
Current Trends in Systems Develpment
By Saravanan Bala. General Report 31 % of Software projects are cancelled 75 % of the software projects are considered failures by the people who initiated.
What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall.
AGILE SOFTWARE DEVELOPMENT PROCESSES Cheruku Smitha.
Property of Progressive Insurance & Casualty Company 1 Agile Test Automation Created and Modified By: Nishant Awasthi January 13, 2009.
1 김 수 동 Dept. of Computer Science Soongsil University Tel Fax
The Confounding World of Process Methodologies By Thelma Hataria.
AP-1 4. Agile Processes. AP-2 Agile Processes Focus on creating a working system Different attitude on measuring progress XP Scrum.
Lecture 4 – XP and Agile 17/9/15. Plan-driven and agile development Plan-driven development A plan-driven approach to software engineering is based around.
Virtually Agile Astro Sabre (Matt Ganis) IBM, Senior Technical Staff Member Hawthorne, NY - September 20, 2007.
Topics that covered Agile Software Development.
Overview of RUP Lunch and Learn. Overview of RUP © 2008 Cardinal Solutions Group 2 Welcome  Introductions  What is your experience with RUP  What is.
Modelling the Process and Life Cycle. The Meaning of Process A process: a series of steps involving activities, constrains, and resources that produce.
CS223: Software Engineering Lecture 16: The Agile Methodology.
©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
Alistair Cockburn©Humans and Technology, Inc., Slide 1 Foundations of Agile Development: Cooperative Games of Invention and Communication in.
Alistair Cockburn©Humans and Technology, Inc., Slide 1 Alistair Cockburn Humans and Technology Salt Lake City, UT
1 Introduction to eXtreme Programming Remko Popma Azzurri Ltd.
©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
Industrial Software Development Process Bashar Ahmad RISC Software GmbH.
© 2010 Alistair Cockburn Designing in Teams Dr. Alistair Cockburn
Managing Agile Software Development Teams Using Scrum AKA: Wrangling Developers for Fun and Profit!
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.
Alistair Cockburn©Humans and Technology, Inc., Slide 1 The Current Conversation in Agile Software Development April-2004
CSc 171 Fall 2016 Manage It! Your Guide to Modern, Pragmatic Project Management. Johanna Rothman 1 Chapter 12 – Multisite Projects How the customer explained.
AGILE METHODS Curtis Cook CS 569 Spring 2003.
Agile Project Management and the yin & yang of
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
Scrum CS These outstanding slides were created by Kevin Schenk, BS in Computer Science, Purdue University, 2012.
 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.
Hard-Agile Effective Software Development in the 21st Century
Agile Software Development The Cooperative Game
Extreme Programming.
Crystal (How to make a methodology fit)
Project Management and the Agile Manifesto
Rosa María Torres de Paz
Designing in Teams The Cooperative Game
Introducing ISTQB Agile Foundation Extending the ISTQB Program’s Support Further Presented by Rex Black, CTAL Copyright © 2014 ASTQB 1.
Designing in Teams Dr. Alistair Cockburn
Teaching the Next Generation Software Engineering
Chapter 3: Agile Software Processes
Projects, Assignments, and other Assessments
Agile software development
Agile Development.
Presentation transcript:

©Alistair Cockburn Slide 1 Alistair Cockburn The Crystal Family of Methodologies for Software Development

©Alistair Cockburn Slide 2 History : Alistair Cockburn (pronounced Co-burn) wanted to develop an effective software development methodology. He interviewed and studied project teams for 10 years. He found that “people-centric methodologies” do better than “process-centric” methodologies. He found that you must choose and tailor the methodology to the team and the assignment (cannot have 1 methodology design for all projects). 1994: “Orange” used on 45-person fixed-price project 1997: “Orange” published in Surviving OO Projects 1998: Family of methodologies the name “Crystal” 2004: “Crystal Clear” published as book

©Alistair Cockburn Slide 3 What were the most common characteristics of successful projects? People sit close together They communicate frequently and with good will The eliminate bureaucracy and let them design They get a real user directly involved They have good automated regression tests THey produce shippable functionality early and often A good methodology (family) must prioritize for these!

©Alistair Cockburn Slide 4 ‘Methodology’ is only the set of conventions people agree to follow -- it changes every few months! As the people on the team change, the conventions of the team change, also. As the project evolves from start to middle to end, the strategies and conventions change, also. The methodology of the team needs to change along with the situation. This is natural is we view the methodology only as the conventions the team uses, and nothing more! (Most people try to use ‘methodology’ as required development technique and also project management -- this is too much burden to place on a methodology)

©Alistair Cockburn Slide 5 Crystal is the lightest, least intrusive set of rules that puts a project in the safety zone. Crystal’s purpose: Keep people from hurting each other, keeping each other informed Crystal’s nature: A set of conventions that gets updated Crystal’s Philosophy:  People differ in working styles  Projects differ in needs  Software development is communication-intensive, experiment-based, needing lots of feedback in all directions  Less is generally better (for methodologies)  Techniques / technologies change over time  People learn in class or on the job, not from the methodology

©Alistair Cockburn Slide 6 ClearYellowOrangeRed Crystal is a family of methodologies because every project is slightly different and needs its own. Technologies change techniques. Cultures change norms. Distances change communication. Number of people involved Criticality (defects cause loss of...) Comfort (C) Essential money (E) Life (L) C6C20C40C100C200 D6D20D40D100D200 E6E20E40E100E200 L6L20L40L100L200 Discretionary money (D)

©Alistair Cockburn Slide 7 Crystal is a family of methodologies with a common genetic code. 1 Cooperative Game Mindset: SD is a series of resource-limited cooperative games of communication and invention. 2 Methodology Design Priorities: Project safety Development efficiency Habitability (tolerates humans!) 3 Methodology Design Principles: (7 of them, including: face-to-face work, concurrent development, & different rules for different circumstances) 4 Project Properties: Frequent delivery Close communication Reflective Improvement 5 Techniques: Discretionary but with a starter set. 6 Sample Methodology Designs: Crystal Clear Crystal Orange Crystal Orange-web

©Alistair Cockburn Slide 8 1: Crystal’s Mindset “Software development is a (resource-limited) finite, goal-seeking cooperative game of invention and communication.”

©Alistair Cockburn Slide 9 Infinite Organization Survival Career Management A finite, goal-directed(resource-limited!) cooperative game Competitive Cooperative Finite w/ no fixed end Jazz music King-of-the-hill wrestling Finite & goal-directed Tennis Software Developmen t Chess Rock-Climbing Games Poker

©Alistair Cockburn Slide 10 The game has a primary and secondary goal: Two Games in One ! Primary Goal  Deliver working software.  (Mess up the first goal => no software. Secondary Goal  Set up for the next game.  Mess up the secondary goal => disadvantaged next project

©Alistair Cockburn Slide 11 Plan-driven sweet spot Time and Effort Invested in Plans Damage from over/underplanning The “correct” mix of planning vs. agility depends on the individual project’s risk exposure. from “Get Ready for Agile Methods – With Care” (Barry Boehm, IEEE Computer, January 2001) Agile sweet spot

©Alistair Cockburn Slide 12 2: Crystal’s Design Priorities Project Safety Development Efficiency Process Habitability

©Alistair Cockburn Slide 13 Richness (“temperature”) of communication channel “cold”“hot” Communication Effectiveness 2 people at whiteboard 2 people on phone 2 people on Videotape Paper Audiotape (No Question-Answer) (Question-and-Answer) 3: Crystal’s Design Principles

©Alistair Cockburn Slide 14 Seven principles for methodology design 1. Prefer face-to-face communication  Interactive face-to-face communication is the cheapest and fastest channel for exchanging information 2. Methodology weight is costly 3. Use heavier methodologies for larger / distributed teams 4. Use More ceremony for more criticality 5. Use more feedback & communications, with fewer intermediate deliverables 6. Discipline, skills, understanding counter process, formality, documentation 7. Efficiency is expendable at non-bottleneck activities.

©Alistair Cockburn Slide 15 Agile processes are easy to describe understand as nested cycles of different durations. Project Episode Integration Day/Week Iteration Delivery

©Alistair Cockburn Slide 16 To understand Crystal (or any agile process), describe each cycle independently. Project Delivery Iteration Iterations Day/Week Integration Day/Week Integrations Days Integrations EpisodesEpisode Episodes Integrations Episodes

©Alistair Cockburn Slide 17 The activities of any one day may belong to different cycles ProjectIterationDay Integration Episode Charter Plan Daily standup Design & Check-in Build and test Design & Check-in Build and test Daily standup Design & Check-in Build and test Design & Check-in Design & Check-in Build and test Deliver Reflect and celebrate Plan (etc.) Wrapup

©Alistair Cockburn Slide 18 4: Crystal’s Project Properties Frequent Delivery Osmotic Communication Reflective Improvement Personal Safety Focus Easy Access to Expert Users Technical Environment with - Frequent integration - Automated testing - Configuration management

©Alistair Cockburn Slide 19 5: Crystal’s Starter Strategies & Techniques Methodology Shaping Reflection Workshop Blitz Planning Delphi Estimation Daily Stand-ups Agile Interaction Design Process Miniature Side-by-Side Programming Burn Charts Exploratory 360° Early Victory Walking Skeleton Incremental Rearchitecture Information Radiators

©Alistair Cockburn Slide 20 Critical technique in Crystal: The reflection workshop each month or iteration. Hang a 2-column flipchart Fill in the chart (30 minutes) Hang the chart in a public, visible, frequently seen place ! Try the ideas Repeat each month or after each iteration

©Alistair Cockburn Slide 21 6: Crystal Sample MethodologyDesigns Crystal OrangeCrystal Orange/webCrystal Clear

©Alistair Cockburn Slide 22 Crystal Orange : scope For D40 projects: Up to 40 people, same building Loss of discretionary moneys (May extend to E50) Not for very large projects (insufficient subteaming) Not for life-critical projects (insufficient verification) (Described in Surviving OO Projects, Cockburn, 1998, pp ) Amber C6C20C40 C80 D6D20D40 D80 E6E20E40 E80 L6L20L40 L80

©Alistair Cockburn Slide 23 Crystal Orange roles & teams for 45 people Roles: Sponsor, Business expert, Usage expert, Technical facilitator, Business analyst/designer, Project Manager, Architect, Lead designer/programmer, Designer/programmer, UI designer, Design Mentor, Reuse Point, Writer, Tester Teams: System planning, Project monitoring, Architecture, Technology, Functions, Infrastructure, External test.

©Alistair Cockburn Slide 24 C6 C10 D6D10 E6E10 Crystal Clear : scope For D6 projects: 3-6 people, close or in same room Loss of discretionary moneys (may extend to: E8 project) Not for large projects (insufficient group coordination) Not for life-critical projects (insufficient verification) (Described in Crystal Clear, Cockburn, 2004 also in Agile Software Development, Cockburn 2002)

©Alistair Cockburn Slide 25 Crystal Clear roles & teams for 3-8 people Required Roles: sponsor, senior designer, designer/programmer, user (part-time) Combined Roles: coordinator, business expert, requirements gatherer Teams: single team of designer- programmers Seating: single big room, or adjacent offices

©Alistair Cockburn Slide 26 Getting started with Crystal Clear

©Alistair Cockburn Slide 27 Select the frequency of delivery, the length of the iteration and integration cycles. Project: any length Delivery: every two months Delivery Iteration: two weeks Iteration Iterations Week Integration: daily Week Integrations Days Integrations EpisodesEpisode Episodes Integrations Episodes

©Alistair Cockburn Slide 28 Must Do These ! 1. Frequent Delivery : every month or two 2. Osmotic Communication : sit next to each other 3. Reflective Improvement : do reflection workshop monthly Focus on the first 3 properties

©Alistair Cockburn Slide 29 Add these as you can ! 4. Personal Safety : speak freely without fear of punishment 5. Focus : Know what is most critical, have time to work on it 6. Easy Access to Expert Users 7. Technical Environment with - Frequent integration : hourly, daily, 3 / week - Automated testing : unit tests, acceptance tests - Configuration management : check-in, versioning Simply start work, and stay in good-humored communication with with your teammates !

©Alistair Cockburn Slide 30 Hold a reflection workshop one day and each month or iteration after that.

©Alistair Cockburn Slide 31 Crystal is a genetic code for shaping your working conventions to your projec, always agile, focused on frequent delivery, close communication, and reflection. Crystal Clear is the lightest of the Crystal family, for 3-8 people working at the same location. Crystal is the lightest, least intrusive, success-oriented methodology.