Archive for August 24th, 2009
-
Agile 2009: Distributed Agile Development
After searching and searching for this ballroom (this conference center is a bit of a maze), I finally found this session being held by some folks from Microsoft, Ade Miller. They were talking mostly about their observations of working with teams in South America, but did talk about working with Teams in Asia. This session was attractive to me because I was looking to see what other experiences people were having with distributed Teams and if my recent recommendations were on the right track.Here is a list of ideas I jotted down while listening:
- Get good tooling to minimize the difference being in the Team Room and out of the Team Room.
- Select tools that are adaptive to the Team’s processes and ways of working together.
- Plan to travel; use the lower rate of the offsite people to offset the travel costs.
- Always have one guy from overseas in the main office.
- There will always be people difficult to synch up with due to time zone differences, so nominate a representative in the Team Room to advocate for them.
- Avoid component-based architecture and thinking to prevent local optimizations.
- Make sure every Team has a coach to remind them of the underlying principles and values of Agile.
- Have a list of books that people should read when onboarding.
As it turns out, I was mostly in the ballpark.
-
Agile 2009: Advances in Release Planning
Stopped by to see Jim Highsmith’s session to pick up a few good ideas. Not surprisingly, there was a good deal of focus on release planning, some focus on value and discussing features along a continuum. In many traditionally managed products, there is an emphasis on the up-front planning, or as he termed it “wish-based planning”. During this inception stage, management spends a lot of time trying to answer the following questions with a high degree of precision:- What are the main dependencies in this product?
- What sort of risks do we expect? How do we mitigate them?
- Do we have enough resources? How will they be distributed?
- What sort of value will this product provide?
- How much will it cost us?
- When will the product be delivered?
Of course, Agile products want to answer these questions as well and we often figure this out during release planning. We want to know early on if the product is feasible and does it align with out goals and strategic objectives. Where Agile teams differ is we recognize the release plan is only a guide and is flexible. Another key difference is that an Agile team will estimate on the user story level, not at the task level. We perform the task estimation Just-In-Time. The creation of the release plan is really a conversation meant to answer all these questions. Finally, while most products benefit from a release plan, there are cases of highly experimental work where an iteration-by-iteration approach is valuable.
Another useful concept discussed at the session was the continuum of completeness for features. Instead of assuming all features have the same level of completeness, have conversations about what needs to be delivered using this model:
simplest -> basic -> nominal -> extensive
With this framework in mind, we now can have discussion around trade-offs and partial delivery. Why develop an extensive solution when the market leaders are only providing nominal? Is that are market differentiator or just engineering gold-plating? Or maybe we can only afford a basic implementation? At least we can make these decisions at the product level instead of the engineers making these decisions for us.
Finally, Jim made a big point about understanding the value for a feature. From his experience, even a fuzzy number around the value for a feature is acceptable if detailed data is unavailable.. In his words:
“If the product group does not have the time to calculate the value, then the programmers do not have time to estimate the cost.”
Frequent Topics
Agile Agile SD Certified ScrumMaster Coaching Collaboration Communication Conferences Daily Scrum Design Excellence Design for Six Sigma Extreme Programming Games Innovation Games Lean Legacy Code Links of the Week Measures Movies Pair Programming Personal Planning PMI Practices Presentations Product Owner Quality Refactoring Retrospectives Rugby Scrum ScrumMaster SIMSOC Spain Team Test-Driven Development Testing Tools Training Transitions Travel Voice of the Customer
Calendar
Recent Comments
- Kenneth van Rumste on Scrum Roles Defined
- Carlton on Scrum Roles Defined
- Kenneth van Rumste on Scrum Roles Defined
User Groups
Archives
- May 2011 (1)
- February 2011 (1)
- January 2011 (5)
- November 2010 (3)
- October 2010 (6)
- September 2010 (5)
- August 2010 (4)
- July 2010 (6)
- June 2010 (2)
- May 2010 (2)
- April 2010 (5)
- March 2010 (3)
- February 2010 (5)
- January 2010 (7)
- December 2009 (8)
- November 2009 (2)
- October 2009 (6)
- September 2009 (9)
- August 2009 (7)
- July 2009 (4)
- June 2009 (3)
- May 2009 (3)
- April 2009 (5)
- March 2009 (6)
- February 2009 (6)
- January 2009 (7)
- December 2008 (10)
- November 2008 (11)
- October 2008 (10)
- September 2008 (4)
- August 2008 (5)
- July 2008 (5)
- June 2008 (8)
- May 2008 (5)
- April 2008 (3)
