Thursday, March 31, 2011

Transparency: Keep it visible!

Openness is required for Scrum to work.
-Ken Schwaber, Agile Software Development with Scrum

Openness, transparency, visibility - no matter what synonym you use, it is critical to Scrum.  My favorite term is transparency: Scrum’s openness makes everything that is going on within the project transparent to the world.   With Scrum there are no hidden priorities, no hidden work, everyone should (and generally does) know what is currently being worked on and what will be delivered by the team.

On the surface, it may seem that transparency is more important for management and the business owners rather than the team.  Management primarily cares about when we can actually ship and start selling a product (and of course, that the product does what it needs to do - that it meets market expectations).  Numerous business-related activities such as marketing, support, training, etc,  are coordinated around a product release.  

But transparency is also extremely important for the team and individuals.  Nowhere is this more apparent than in a Waterfall development environment. There have been several instances in my career where a peer has asked me for workplace advice.  The conversation zeros in on a boss who is giving them grief about their productivity.  After listening to them vent, a common thread usually appears:  these individuals often are doing a lot of work, usually juggling many different activities, but their manager is only tangentially aware of the scope of responsibilities this person is shouldering.  The manager is not aware of their employee’s “backlog”.    

My advice in these situations is simple:  make a list of work you are doing, order it according to priority, and discuss the list with your manager.  In particular, I suggest that they work with their manager to help set the right priority of the various work items.  This conversation often opens the eyes of both the manager and the employee, quickly addressing the tension and frustration experienced by both parties.

With Scrum, this communication activity is commonplace.  In fact it is core to the Scrum framework:  the prioritized product backlog and the Sprint backlog are visible to everyone. As a result, the work being done by the team is obvious and very transparent.  Further, project progress is demonstrated to the business owners regularly during the Sprint Review, via a (potentially shippable!) working code demonstration.

The Inevitable New Unplanned “Top Priority” Work

In a Waterfall environment, the impact of new, mid-project “high priority” work is often not immediately felt.  Because the product release can be many months away, incoming hot issues can be dealt with in a timely manner and everyone feels good, at least in the short-term. However, this new work causes the team to accrue a form of “schedule debt”.  The painful balance comes due at some point in the future, usually in the form of a schedule slip.  And often, sadly, that schedule slip is a surprise to management.

In a Scrum environment, transparency is the proverbial Big Stick when unplanned “critical” work is added to the project.  When management (let’s face it, it usually is management) adds new new work to the team’s plate, the impact to the team is immediately obvious:  1) the new work will either displace existing Sprint priorities causing the Sprint to be abnormally terminated, something everyone wants to avoid, or 2) the work will be added to the Product Backlog and prioritized according to business value.  There’s no magic, no silver bullet, and everyone Scrum-enabled, will should understand that!

Surprise!

In software development, we don’t like surprises - we like predicable.  Usually a surprise means new unplanned work for the team or a schedule slip.  Someone is is going to be unhappy!  

Scrum’s transparency helps organizations eliminate surprises or at a minimum deal with them effectively.   Surprises in the form of schedule slips are eliminated because what the team is working on is very visible and demonstrated at the end of every Sprint.  Work, delivered via Sprints, is time-boxed and ends up being very predictable.  Surprises in the form of new, unplanned work is dealt with effectively by adding it to the prioritized Product Backlog.  With a prioritizing Backlog, the team is always working on top business value items.  

Transparency, via a published, readily viewable backlogs allows everyone to understand what is currently being worked on as well as the impact of new unplanned work.    
 

Scrum keeps everything about a project visible to everyone.
-Ken Schwaber, Agile Software Development with Scrum

No comments:

Post a Comment