what is an agile methodology?. delivers nearly no knowledge (or risk reduction) knowledge comes at...

42
What is an Agile Methodology?

Upload: emory-trevor-king

Post on 12-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

What is an Agile Methodology?

Page 2: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Delivers nearly no knowledge(or risk reduction)

Knowledge comes atthe “moment of truth”: final integration.

Waterfall is a late-learning strategy

time

costGrowth of knowledge with big-bang integration

Page 3: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Development sequence indifferent (with respectto knowledge)

Delivers knowledge

(risk reduction)

We can pay to learn early in the project

time

cost

Growth of knowledge with early, continuous integration

Page 4: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Develop for business value once risks are down

time

Knowledge growing(risk reduction)

cost

Growth of business value

Business value growing

Page 5: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Trim to deliver on-time (or early)

Delay to get moreor better

Trim the Tail: Choose to deliver by value or date

Page 6: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal’s “Genetic Code (DNA)”

Page 7: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

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

Page 8: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Methodology: who, what, when of interactions

Team Values

Activities

Techniques

Tools Skills

Roles

Standards

Quality Teams

ProductsPeople

MilestonesProcess

Regression testsObject modelProject plan

Use cases

Microsoft Project3month increments

UML / OMTC++

Microsoft ProjectSTPEnvy/Developer

ModelingJava programmingJAD facilitation

Personality

Project managerDocumenterDesignerTester

PlanningTesting

MBWAUse casesCRC cards

Page 9: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

EcosystemMethodology

Process

Techniques

Tools Skills

Roles

Standards

Quality Teams

Products People

MilestonesActivities

Personality

Jenny

JimPeter

Annika

But people are stuffed full of personality

Project managerDocumenterDesignerTester

Values

Values

Page 10: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Standard methodologist errors:

One size, intolerant, embellished, heavy, wrong.• e1. One size methodology (projects vary)• e2. Intolerant methodology (people vary)• e3. Embellished ('did do' or 'should have done'?)• e4. Heavy (more writing /= more safety)• e5. Untried (lots of errors)• e6. Tried once (limited applicability)

• (e 3-6 also apply to expert methodologists!)

• "Embellishment is the pitfall of the methodologist"

Page 11: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

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

Page 12: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Clear Yellow Orange Red

Crystal is a family of methodologies because every project is slightly different and needs its own.

• Technologieschangetechniques.

• Cultureschangenorms.

• Distanceschangecommunication.

Number of people involved

Cr

itica

lity

(def

ects

cau

se lo

ss o

f...)

Comfort(C)

Essentialmoney

(E)

Life(L)

1 - 6 - 20 - 40 - 100 - 200

C6 C20 C40 C100 C200

D6 D20 D40 D100 D200

E6 E20 E40 E100 E200

L6 L20 L40 L100 L200

Discretionarymoney

(D)

Page 13: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

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

Page 14: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

1: Crystal’s Mindset

“Software development is a (resource-limited) finite, goal-seeking

cooperative game of invention and communication.”

Page 15: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

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

Page 16: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

2: 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

Page 17: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Frequent Delivery

Have you delivered running, tested, usable functions to your user community at least twice in the last six months?

Page 18: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Reflective Improvement

Did you get together at least once within the last three months for a half hour, hour, or half day to compare notes, reflect, discuss your group's working habits, and discover what speeds you up, what slows you down, and what you might be able to improve?

Page 19: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Osmotic Communication

• Does it take you 30 seconds or less to get your question to the eyes or ears of the person who might have the answer?

• Do you overhear something relevant from a conversation among other team members at least every few days?

Page 20: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Personal Safety

• Can you tell your boss you mis-estimated by more than 50 percent, or that you just received a tempting job offer?

• Can you disagree with him or her about the schedule in a team meeting?

• Can people end long debates about each other’s designs with friendly disagreement?

Page 21: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Focus

• Do all the people know what their top two priority items to work on are?

• Are they guaranteed at least two days in a row and two uninterrupted hours each day to work on them?

Page 22: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Easy Access to Expert Users

• Does it take less than three days, on the average, from when you come up with a question about system usage to when an expert user answers the question?

• Can you get the answer in a few hours?

Page 23: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Technical Environment with Automated Tests, Configuration Management, and Frequent Integration

• Can you run the system tests to completion without having to be physically present?

• Do all your developers check their code into the configuration management system?

• Do they put in a useful note about it as they check it in? • Is the system integrated at least twice a week?

Page 24: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Timeboxing is a critical element in iteration scheduling

• 2-week, 1-month (,quarterly) timeboxes.• Each timebox ends with integrated, tested code.• Cut scope as needed but complete on time.

Deliver whatever you haveWhatever you accomplished this time is a predictor of

what you will accomplish next time(“Yesterday’s Weather”)

• (some timeboxing fixes requirements, some don’t)

Page 25: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Run the project with nested cycles.ent-->

Page 26: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

There are Activities Outside Construction!

ent-->

Page 27: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

3: 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 Re-architecture

• Information Radiators

Page 28: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

4: Crystal’s Design Priorities

• Project Safety• Development Efficiency• Process Habitability

Page 29: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

5: Crystal’s Design Principles

• 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.

Page 30: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Base technique in Crystal:Methodology-tuning interviews, workshops

• Build the control system first.– Settle increment size, – Hold interview & workshop before/after each.

• Preload the system.– Interview projects to learn key issues, hazards, tricks.– Ask what they did, liked, didn't, would change or keep.– Identify fears, priorities, success factors, hazards.

• Ask the group.– Let the group influence first increment's methodology.

Page 31: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Base technique in Crystal:Post-iteration reflection workshop

• Hang a flipchart, create two columns– “Keep these”– “Try these”

• (Create a small area for “Recurring Problems”)• (Don’t create an area for “Don’t Like These”!)

• Spend 30 minutes filling in the chart

• HANG THE CHART IN A PUBLIC, VISIBLE FREQUENTLY SEEN PLACE !!!!!

• Make sure you actually try some of the Try These ideas !• Repeat after each iteration

Page 32: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

C6 C10

D6 D10

E6 E10

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, 2002• also in Agile Software Development, Cockburn 2001)

Page 33: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal Clear : roles & teams

• Must have: sponsor, senior designer, designer/programmer, user (part-time)

• Combined roles: coordinator, business expert, requirements gatherer

• Teams: single team of designers/programmers • Seating: single big room, or adjacent offices

Page 34: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal Clear : Products and Milestones

• Products– Release sequence, Schedule of user viewings, deliveries – Actors-goals list & Annotated use cases – Design sketches & notes as needed, screen drafts– Common object model – Running code, Migration code, Test cases – User manual

• Publish: each• Review: each

– Methodology (pre- and mid-increment)

• Declare: – Requirements stable enough to design to,– UI stable enough to document to, – Application correct enough to deliver.

Page 35: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal Clear : standards

• Policy: – Delivery increments every 2 + 1 months– Tracking by milestones, not by work products– Requirements in annotated usage scenarios (use cases)– Mandatory regression testing of application function– Peer code reviews– Direct user involvement– Ownership model for work products

• Local standards (up to the team):– Coding style– UI style– Regression test framework

Page 36: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal Clear : tolerance

• Policy standards are mandatory, but equivalent substitution are permitted (e.g. "Scrum")

• Full tolerance on techniques: any technique allowed• Quite wide tolerance on work products

– Many alternatives to intermediate products accepted– e.g., paper, whiteboard, online notes– Low precision in early stages– High precision only required for production work products

• Assess the Quality of the communications, not the quality of the work products (except Test Cases).

Page 37: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

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 sub-teaming)

• Not for life-critical projects– (insufficient verification)

• (Described in Surviving OO Projects, Cockburn, 1998, pp. 77-93)

AmberC6 C20 C40 C80

D6 D20 D40 D80

E6 E20 E40 E80

L6 L20 L40 L80

Page 38: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal Orange : roles & teams

• Roles: Sponsor, Business expert, Usage expert, Technical facilitator, Business analyst/designer, Project Manager, Architect, Lead designer/programmer, Designer/programmer, Design Mentor, Reuse Point, Writer, Tester, UI designer.

• Teams: System planning, Project monitoring, Architecture, Technology, Functions, Infrastructure, External test.

Page 39: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal Orange : standards

• Policy: – Delivery increments every 3 + 1 months– Tracking by milestones, not by work products– Mandatory regression testing of application function– Direct user involvement– Ownership model for work products– 2 user viewings per release – Use cases completed down to failure cases– Single, common object (not analysis & design models)– Downstream activities start as soon as upstream is "stable enough to

review"• Local standards (set and maintained by team):

– Work product templates, Coding style, UI style– Regression test framework

Page 40: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal Orange : products

• Ownership assignment is negotiable, • Every product has an owner.• * Requirements doc• * Release sequence, schedule, status report• * UI design doc• * Common object model• * Inter-team specs• * Usage manual• * Code• * Test cases

Page 41: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal Orange : tolerance

• Policy standards are mandatory, but equivalent substitution are permitted (e.g. "Scrum")

• Full tolerance on techniques: any technique allowed• >Recommended techniques– Semantic modeling, RDD, facilitated sessions

• Tolerance on work products– Minor deviation from templates permitted– Few alternatives to intermediate products accepted

Page 42: What is an Agile Methodology?. Delivers nearly no knowledge (or risk reduction) Knowledge comes at the “moment of truth”: final integration. Waterfall

Crystal Orange : activities & milestones

Workshop:• Mid- & post-increment methodology reviewPublish:• Each work product, • Iteration & increment deliveriesReview:• Each work product, Iteration deliveries, Test cases,

Final deliveryDeclare:• Each work product stable enough to review,• Application correct enough to deliver.