Socialtext Distributed Agile
Ross Mayfield Adina Levin
Tracy Ruggles
Socialtext Distributed Agile• Distributed agile is a trend
– At BarCamp and D-Camp a few years ago
– Last year at PCamp
Socialtext Distributed Agile
Socialtext Distributed Agile• Why agile?
– Personal experience with waterfall– 300 page prds– 24 month product cycles– product obsolete when released– dev and pm mutual
incomprehension
•Agile sounds like better way–Small-a agile, not big-A agile–Lots of war stories requiring beer
Socialtext Distributed Agile• The basics
– 2 week iterations– Hosted service and SAAS
appliance– Hosted every 2 weeks,
appliance every month
Anatomy of a story• Anatomy of a story
Anatomy of a Story
Anatomy of a Story
Anatomy of a Story
Anatomy of a Story• Cross-functional
discussion• Real time teamwork
Anatomy of a story family• How to do planning with agile
– Leadership team direction for year and quarter– Stories fit into projects. – Occasional focused planning a project level– Occasional f2f and focus
Real Live Customers• ”Customer feedback blog"
Information radiators
Challenges - Teamwork
• “The swarm" – Started with multiple processes– Changed to one process, one dev group
• Emotional challenges – Can't fight and then play foosball, get beer
• Logistics– Need to be sensitive to timezone
differences or we'll miss people
Socialtext Agile Culture• Learning... retrospect every iteration, what
went well, what didn't, what can be improved• JFDI.. if you have an idea for improvement,
take the ball• Transparency - code, design, planning,
customer feedback, better in the open
•
Outakes
Challenges - Design• Harder to "whiteboard" ideas together
– voip and screen or vnc– communicate that it's a brainstorming meeting
and not tactical story definition• Design patterns
– could do more to make it easier to add additional stories with design variants
• Usability testing• Architecture
– Review stories in families– Appoint architecture steward
Socialtext Agile Development• No code ownership (but some
expertise)• Source code control - cvs > subversion
> git• Iteration capacity based on on
"yesterday's weather"• Pair programming with voip and screen• Standup 3x per week - what are you
working on, where do you need help
Socialtext Agile QA• Release testing is a considered combination of
automated and human testing with the goal of preventing unhappy experiences for our users.
• Story test cover expected behavior & corner cases– As stories are finished, QA validates and raises
concerns during the iteration.• Browser based testing with selenium
– UI tests run 24/7 just like unit tests. – Automated tests are maintained and always exercise
a majority of the functions exposed to the user.• Exploratory testing• Lightweight performance analysis
Recommended