&#x201C;Someone suggested a talk about Agile&#x201D; This is not Agile 101, assume familiarity with the fundamentals Getting product and business folks on board with Agile Critical to success as a developer Enabler of all the other great Agile practices There are lots of other talks about Agile and we&#x2019;d love to participate in those
ROE: We&#x2019;ll save a hunk of time at end for conversation
Small(ish) web application and mobile development shop 20 person company with offices in SF and LA Project-based and bootstrapping work for startups like Aardvark and Power Reviews, non-profits like SFMOMA and ITVS, institutions like Schwab and National Geographic Started as Java shop and we now look like a Rails shop In business for 10 years
Show of hands - who&#x2019;s familiar with this?
These are the values that resonate most strongly with me. Transparency: honesty and bad news early
A little story about each? Connect it with real experience.
Lean Startups - Eric Ries Customer Development - Steven Blank
Establish a strong rapport.
INVEST: Independent, Negotiable, Valuable, Estimatable, Small, Testable A story is a promise to have a future conversation. Mike Cohn - User Stories Applied
M1 is an internal milestone Usually includes 5-10 stories on my projects taking 2-4 weeks.
Individuals may wear multiple hats.
Now that we&#x2019;ve painted a broad picture, what does it look like day to day?
Some of the daily developer practices that are most visible to non-developers.
Props to Kent Beck.
Bootstrapping Agile Projects
Agile at Carbon Five
Born from the strong desire for a
Focus on delivering real (and visible) value
Practicing variants of eXtreme Programming
We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
That is, while there is value in the items on
the right, we value the items on the left more.
What I value most...
Transparency (and Trust)
Build on Small Successes, Iteratively
Listen and Learn - Feedback Loop
Reality Based and Sustainable
Truth about software
We believe developing software is an
empirical process; we experiment, observe,
measure, and react.
We want to use this to our advantage.
We have the tendency to live in a bubble; a
focus on customer-value with short iterations
helps keep us honest.
Build the Smallest Whole1, then continuously
enhance the product.
Generate buzz and start identifying users.
Put the product in front of users as soon as
possible (and collect feedback).
Balance Vision and Feedback.
1. see also Minimum Viable Product
Kick Off Goals/Activities
Discuss process and development philosophy
Establish a clear theme and plan for the ﬁrst
Story writing and story mapping
Conceptual domain model
Understand roles and agree to responsibilities
Logistics (schedule meetings)
What’s a User Story?
A story describes a user-facing feature that
provides describable value.
As a ___, I want to ___, so I can ____.
Stands up on its own with clear acceptance
Typically take a couple of hours to a couple of
days to fully implement; they’re pretty granular.
Leave out the UI speciﬁcs, just capture intent
clearly and succinctly.
Size measured in points (on the ﬁbonacci scale).
Deﬁning the Smallest
Whole for M1
Identify differentiating features with laser
focus (leave out the rest)
Focus on one or two user activities
Strive for the simplest version of each story
Don’t waste time on duplicating functionality
Skip admin functionality and registration
Designers (UX and Visual)
Process Coach / Facilitator
User Testing Coordinator
Lifecycle of a Story
1. Written down and placed in the icebox [anyone],
2. Elaborated upon [product owner and designers],
3. Taskiﬁed and Estimated [developers],
4. Prioritized into the Backlog [product owner],
5. Implemented [developers and designers],
6. Accepted (or Rejected) [product owner],
7. QA ‘d [qa], and released to production
The rate at which the team is able to deliver
bug-free, user-facing features. Measured in
Used to estimate how many story-points can
be completed per iteration.
Chores don't directly provide user-value and
don't earn the team points.
Bugs are ﬁlled against accepted features and
don't earn the team any (additional) points.
Expectations of the
Channel all feedback and vision into a clear,
focused plan (set of stories).
Very responsive to ad-hoc questions; you
must be very available.
Willingness to ruthlessly prioritize.
Acceptance of delivered features (within a
couple of hours).
Daily: Standup [15 mins]
Once per Iteration (weekly):
Demo [30 mins]
Review of Plan [30 minutes]
Once per Milestone (every ~2-3 weeks):
Reﬂection [60 mins]
As needed: Working Sessions, Release Planning
... most of the time.
Test Driven Development
... when not working on a spike.
... when a superior solution is clear and you feel
The process evolves to suit the needs of the
project through feedback and regular reﬂection.
The challenge is almost never technical, it's
getting everyone working together really well
and keeping a clear, focused product vision.
Pivotal Tracker Eric Ries - Lessons
Carbon Five Story Jeff Patton - Story
Steven Blank - Customer
Kent Beck - XP Development
Martin Fowler -
Mike Cohn - <all> Refactoring
Art of Agile - James 37 Signals - Getting
Carbon Five is hiring!
Awesome Java developers who want to learn