Friday, February 25, 2011

Agile Value Capture Metric - Are you spending your time Building Value?

When applying an Agile mindset, a team should consider the value of each task that they are working on.  Agile often brings value concepts into play and determining the value of tasks is one way to achieve this.  Is the task considered value-added or non-value-added.   Sometimes folks have a hard time wanting to separate tasks into value and non-value because it highlights the non-valued tasks folks are doing. However, if you really want to know, then you must do this (typically at the Product team level).  Sometimes the answer surprises people.   
Keep in mind that in Agile, value-added tasks refer to only those tasks that are directly related to building the product and that your customer values.  This would primarily include user stories and the attributes of this work related to the “done” criteria (e.g., incrementally designed, developed, built, tested, etc.) in order to complete the user story.  Remember, value is from the customer's perspective.  

On the other hand, non value-added tasks do not contribute directly to building the product.  There are tasks that are out-right of no value including administrative related tasks, writing status reports, all-hands and other status meetings.  There are tasks with no direct customer value but have benefit to quality including spending time on correcting defects, tasks related to technical debt, performing refactoring. Please understand, there are levels of internal value in doing these things and the goal is to make the value levels of the work transparent. 

A good practice in Agile (e.g., value capture metric) is to capture all related work or activity a team does in a sprint (as backlog items) to understand what are value-added tasks vs the other tasks that we do.  For each story or backlog item, assign it an attribute of either “value-added” or “non-value-added”.  You can track this on a sprint basis (or release basis) or trend it over time (from sprint to sprint).  This is a team-based metric so it is for the team's eyes only.  Below are some examples:
Chart 1: Value of work per Sprint (can be rolled up to the release level)

Chart 2: Value of work per Sprint (at the detailed level)

Chart 3: Value of work from Sprint to Sprint (Trend line)
The big advantage of this type of metric is that it helps you 1) be aware of the value and non value related work that your team is doing and then 2) it allows you to make adjustments if you want to get to a more value-added stream of work.  Also, an important caveat: this metric is a team-based metric and not meant to be shown to management.  It is for the team to see where their work is being spent.   

Whether you call it value and non-value work, the key is that much like the prioritization of the backlog, that you become aware of the priority of the various types of work that is occurring on your team. This metric also brings transparency to the types of 'work' where the team members are spending their time.  While this may force you to make some tough decisions (what is value-added and what is not), it will be worth it in the long run to get your team more productive and focused on the value-added work for your customers.  This can help you on your Agile journey! 

Tuesday, February 1, 2011

Configuration Management Crystal Ball - Is Agile in the Forecast?

As we gaze into the horizon, what do we think will be hot in the CM landscape and where is the CM field headed? Let’s take a look into the crystal ball:

My forecast will focus on:
  • Agile in the forefront of CM
  • More CM books to help you Deploy
  • Extending the CM reach into ALM and beyond
Prediction #1:  Agile in the forefront of CM
We will continue to see a strong focus on Agile in the way we approach and deploy CM.  Organizations are seeing the benefits of Agile and there continues to be a significant increase in adopting Agile.  There continues to be a heavy focus on continous integration and build where teams can take advantage of frequent merging and compiling to ensure their product is integrating, building, and testing correctly.  Also, since so many teams are going Agile, CM professionals need to ensure they are in a position to provide a CM environment that maintains the integrity that CM provides but is adapted to the more frequent actions that Agile introduces (more frequent check-outs and check-ins, builds, etc.). 

Prediction #2:  More CM books to help you DeployConfiguration Management is a field that is pervasive in software engineering.  With the shift to Agile comes the need to adapt and change and become lean.  These are challenges in the CM community.  The good news is that there are newer books on the market that help us address both the deployment of CM as well as the integration of Agile and CM.  With that in mind, here are some new CM books as well as blogs that focus on CM and Agile:
  • Configuration Management Best Practices: Practical Methods that Work in the Real World” by Bob Aiello and Leslie Sach.  The materials in this book are practical, easy to understand, and fully reflects the day-to-day realities faced by practitioners.  It addresses all six “pillars” of CM: source code management, build engineering, environment configuration, change control, release engineering, and deployment. 
  • Adapting Configuration Management for Agile Teams” by Mario E. Moreira.  This book provides both a CM Primer and an Agile Primer for those wishing to learn more about each topic followed by a chapter on how they can work well together. It then focuses on infrastructure for Agile and how using the cloud can reduce technical debt.  It follows this with a robust chapter on adapting the various CM practices for Agile.  It ends with chapters on identifying good tools for Agile (including CM tools) and adapting to standards and frameworks in an Agile environment.
Prediction #3:  Extending the CM reach into ALM and beyond
As we continue into the future, we see CM extending into the Application Lifecycle Management (ALM) space and then see ALM extended into a more unified approach.  Integration across engineering areas helps teams streamline their processes and reduces the effort of implementation and maintenance of manual integrations.  Two such examples of extending the reach include:
  • Rational Team Concert (RTC) provides a lean collaborative lifecycle management solution with agile and formal planning, project reporting, process workflow, work item management, source code management and build management, in a single integrated product supporting all popular platforms.
  • Look for innovative tool companies like AccuRev and AnthillPro establish Agile ALM solutions focusing on source code management and continuous integration and build as its core for organizations looking to improve and scale their Agile processes while still maintaining control.
As we look into 2011, what is the CM forecast and what is your forecast in CM?  Agility will continue to show up in various forms in both the Configuration Management (CM) and Application Lifecycle Management (ALM) contexts.  Also, books such as “Adapting Configuration Management for Agile Teams” will help CM and Agile teams understand and adapt to Agile methods and books like “Configuration Management Best Practices: Practical Methods that Work in the Real World” to help you deploy CM in a lean manner.  What is your organization’s CM forecast?  Whether your forecast is sunny or cloudy (or both), consider flexibility, adaptability, and agility in driving your business!  Have a productive 2011!!!

Feel free to visit the full article at:  Enjoy!