Bootstrapping Agile
     Projects
     Christian Nelson
       Carbon Five
Who is Carbon Five?
Agile at Carbon Five

Born from the strong desire for a
collaborative process

Focus on delivering real (and visible) valu...
Agile Manifesto
                            2001




        We are uncovering better ways of developing
        software ...
What I value most...
Collaboration

Transparency (and Trust)

Build on Small Successes, Iteratively

Listen and Learn - Fe...
Truth about software
    development
We believe developing software is an
empirical process; we experiment, observe,
measu...
Strategy

Build the Smallest Whole1, then continuously
enhance the product.

Generate buzz and start identifying users.

P...
Sample Timeline
Sample Timeline



0   1   2   3   4   5   6   7   8   9   10   11   12   13   14   ...
Sample Timeline


   #
Features


           0   1   2   3   4   5   6   7   8   9   10   11   12   13   14   ...
Sample Timeline


   #
Features


           0      1   2   3   4   5   6   7   8   9   10   11   12   13   14   ...




 ...
Sample Timeline


   #
Features


           0      1   2     3    4     5   6   7   8   9   10   11   12   13   14   ...
...
Sample Timeline

                                       M2: Visual design
   #
Features


           0      1   2     3   ...
Sample Timeline

                                       M2: Visual design
   #
Features


           0      1   2     3   ...
Sample Timeline

                                       M2: Visual design
   #
Features


           0      1   2     3   ...
Sample Timeline

Audience                               M2: Visual design
  Size

   #
Features
           0      1   2   ...
Kick Off Goals/Activities
 Discuss process and development philosophy

 Establish a clear theme and plan for the first
 mil...
What’s a User Story?
A story describes a user-facing feature that
         provides describable value.
User Stories
As a ___, I want to ___, so I can ____.

Stands up on its own with clear acceptance
criteria.

Typically take...
Defining the Smallest
   Whole for M1
Identify differentiating features with laser
focus (leave out the rest)

Focus on one...
Story Mapping
Roles
Product Owner

Developer

Designers (UX and Visual)

QA

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 d...
Velocity
The rate at which the team is able to deliver
bug-free, user-facing features. Measured in
                   poin...
Expectations of the
   Product Owner
Channel all feedback and vision into a clear,
focused plan (set of stories).

Very re...
Timeline (micro-level)
Daily: Standup [15 mins]

Once per Iteration (weekly):

   Demo [30 mins]

   Review of Plan [30 mi...
Development Practices
Pair Programming
... most of the time.

Test Driven Development
... when not working on a spike.

Si...
Final Words

  The process evolves to suit the needs of the
project through feedback and regular reflection.


  The challe...
Check out...
Pivotal Tracker        Eric Ries - Lessons
pivotaltracker.com     Learned

Carbon Five Story      Jeff Patton...
Carbon Five is hiring!

http://carbonfive.com/jobs
              Recent Grads
             Rails Developers
Awesome Java de...
Questions?
Upcoming SlideShare
Loading in …5
×

Bootstrapping Agile Projects

1,778 views

Published on

Presented at SFRuby July 21, 2010.

Published in: Technology
0 Comments
6 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,778
On SlideShare
0
From Embeds
0
Number of Embeds
33
Actions
Shares
0
Downloads
0
Comments
0
Likes
6
Embeds 0
No embeds

No notes for slide
  • “Someone suggested a talk about Agile”
    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’d love to participate in those

    ROE: We’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’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.
  • Jeff Patton
  • Individuals may wear multiple hats.

    Now that we’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

    1. 1. Bootstrapping Agile Projects Christian Nelson Carbon Five
    2. 2. Who is Carbon Five?
    3. 3. Agile at Carbon Five Born from the strong desire for a collaborative process Focus on delivering real (and visible) value very quickly Practicing variants of eXtreme Programming since 2000
    4. 4. Agile Manifesto 2001 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.
    5. 5. What I value most... Collaboration Transparency (and Trust) Build on Small Successes, Iteratively Listen and Learn - Feedback Loop Working Software Reality Based and Sustainable
    6. 6. Truth about software development 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.
    7. 7. Strategy 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
    8. 8. Sample Timeline
    9. 9. Sample Timeline 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
    10. 10. Sample Timeline # Features 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...
    11. 11. Sample Timeline # Features 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... We are here!
    12. 12. Sample Timeline # Features 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... We are here! M1: Smallest whole
    13. 13. Sample Timeline M2: Visual design # Features 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... We are here! M1: Smallest whole
    14. 14. Sample Timeline M2: Visual design # Features 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... We are here! M3: Private beta M1: Smallest whole
    15. 15. Sample Timeline M2: Visual design # Features 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... We are here! M4: ??? M3: Private beta M1: Smallest whole
    16. 16. Sample Timeline Audience M2: Visual design Size # Features 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ... We are here! M4: ??? M3: Private beta M1: Smallest whole
    17. 17. Kick Off Goals/Activities Discuss process and development philosophy Establish a clear theme and plan for the first milestone, by... Story writing and story mapping Whiteboard wire-framing Conceptual domain model Understand roles and agree to responsibilities Logistics (schedule meetings)
    18. 18. What’s a User Story? A story describes a user-facing feature that provides describable value.
    19. 19. User Stories As a ___, I want to ___, so I can ____. Stands up on its own with clear acceptance criteria. Typically take a couple of hours to a couple of days to fully implement; they’re pretty granular. Leave out the UI specifics, just capture intent clearly and succinctly. Size measured in points (on the fibonacci scale).
    20. 20. Defining 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
    21. 21. Story Mapping
    22. 22. Roles Product Owner Developer Designers (UX and Visual) QA Process Coach / Facilitator User Testing Coordinator
    23. 23. Lifecycle of a Story 1. Written down and placed in the icebox [anyone], 2. Elaborated upon [product owner and designers], 3. Taskified 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
    24. 24. Velocity The rate at which the team is able to deliver bug-free, user-facing features. Measured in points. 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 filled against accepted features and don't earn the team any (additional) points.
    25. 25. Expectations of the Product Owner 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).
    26. 26. Timeline (micro-level) Daily: Standup [15 mins] Once per Iteration (weekly): Demo [30 mins] Review of Plan [30 minutes] Once per Milestone (every ~2-3 weeks): Kick-off [hours!] Reflection [60 mins] As needed: Working Sessions, Release Planning
    27. 27. Development Practices Pair Programming ... most of the time. Test Driven Development ... when not working on a spike. Simple Design ... always. Refactoring ... when a superior solution is clear and you feel pain.
    28. 28. Final Words The process evolves to suit the needs of the project through feedback and regular reflection. The challenge is almost never technical, it's getting everyone working together really well and keeping a clear, focused product vision.
    29. 29. Check out... Pivotal Tracker Eric Ries - Lessons pivotaltracker.com Learned Carbon Five Story Jeff Patton - Story Mapper Maps trackerstorymaps.com Steven Blank - Customer Kent Beck - XP Development Explained Martin Fowler - Mike Cohn - <all> Refactoring Art of Agile - James 37 Signals - Getting Shore Real
    30. 30. Carbon Five is hiring! http://carbonfive.com/jobs Recent Grads Rails Developers Awesome Java developers who want to learn Rails Mention SFRuby!
    31. 31. Questions?

    ×