The Crystal Family of Methodologies for Software Development - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

The Crystal Family of Methodologies for Software Development

Description:

He interviewed and studied project teams for 10 years. ... He found that you must choose and tailor the methodology to the team and the ... – PowerPoint PPT presentation

Number of Views:1996
Avg rating:3.0/5.0
Slides: 32
Provided by: gatew312
Category:

less

Transcript and Presenter's Notes

Title: The Crystal Family of Methodologies for Software Development


1
The Crystal Familyof Methodologiesfor
Software Development
Alistair Cockburn http//alistair.cockburn.us
2
History 1991 - 2004
  • 1991 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

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!

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)

5
Crystal is the lightest, least intrusive set of
rules that puts a project in the safety zone.
  • Crystals purpose Keep people from hurting each
    other, keeping each other informed
  • Crystals nature A set of conventions that gets
    updated
  • Crystals 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

6
Crystal is a family of methodologies because
every project is slightly different and needs its
own.
  • Technologieschangetechniques.
  • Cultureschangenorms.
  • Distanceschangecommunication.

Life (L)
Criticality (defects cause loss of...)
Essential money (E)
Discretionary money (D)
Comfort (C)
1 - 6
- 20
- 40
- 100
- 200
Number of people involved
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

8
1 Crystals Mindset
  • Software development is a (resource-limited)
    finite, goal-seeking
  • cooperative game of invention and communication.

9
A finite, goal-directed (resource-limited!)coope
rative game
Organization Survival
Infinite
Career Management
King-of-the-hill wrestling
Finite w/ no fixed end
Jazz music
Poker
Tennis
Rock-Climbing
Finite goal-directed
Software Development
Chess
Games
Cooperative
Competitive
10
The game has a primary and secondary goal Two
Games in One !
  • Primary Goal
  • Deliver working software.
  • (Mess up the first goal gt no software.
  • Secondary Goal
  • Set up for the next game.
  • Mess up the secondary goal gt disadvantaged next
    project

11
The correct mix of planning vs. agility
depends on the individual projects risk
exposure.
Plan-driven sweet spot
Damage from over/underplanning
Agile sweet spot
Time and Effort Invested in Plans
from Get Ready for Agile Methods With Care
(Barry Boehm, IEEE Computer, January 2001)
12
2 Crystals Design Priorities
  • Project Safety
  • Development Efficiency
  • Process Habitability

13
3 Crystals Design Principles
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.

15
Agile processes are easy to describe understand
as nested cycles of different durations.
Project
Delivery
Iteration
Day/Week
Integration
Episode
16
To understand Crystal (or any agile process),
describe each cycle independently.
Project
Delivery
Delivery
Iteration
Iterations
Iteration
Day/Week
Day/Week
Days
Days
Integration
Integration
Integrations
Integrations
Integrations
Episodes
Episode
Episode
Episode
Episode
Episodes
Episodes
17
The activities of any one day may belong to
different cycles
Project Iteration Day Integration
Episode Charter Plan Daily
standup Design Check-in Design
Check-in Build and test Design
Check-in Design Check-in Build and
test Daily standup Design
Check-in Design Check-in Build and
test Design Check-in Design
Check-in Build and test Deliver Reflect
and celebrate Plan (etc.) Wrapup
18
4 Crystals 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

19
5 Crystals 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

20
Critical technique in CrystalThe 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

21
6 Crystal Sample MethodologyDesigns
  • Crystal Orange Crystal Orange/web Crystal Clear

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. 77-93)

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.

24
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)

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

26
Getting started with Crystal Clear
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
Iterations
Iteration
Week
Week
Days
Days
Integration daily
Integrations
Integrations
Integrations
Episodes
Episode
Episode
Episode
Episode
Episodes
Episodes
28
Focus on the first 3 properties
  • 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

29
Simply start work, and stay in good-humored
communication with with your teammates !
  • 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

30
Hold a reflection workshop one day andeach month
or iteration after that.
31
Crystal is the lightest, least intrusive,
success-oriented methodology.
  • 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.
  • http//Alistair.Cockburn.us
Write a Comment
User Comments (0)
About PowerShow.com