How defining done leads to better software quality and increased productivity

The definition of done (DoD) basically describes what's required for a story to be considered complete.

In Pivotal Tracker, the "accepted" state usually means a story has been done in compliance with your team's standards. If a story fails to meet those standards, the points assigned to it should not be counted, as it's not yet adding any value to the end-user.

Many teams have their own specific DoD. That's fine, as long as everyone on a given team is aligned as to what their definition is. Clearly defining what "done" means to your team will ensure you deliver higher-quality software—not to mention save you money by improving efficiency.

Better software quality

When you agree on a DoD as a team, what you're essentially doing is establishing quality standards and then making them official. It's a simple yet critical step that can yield incredibly powerful results, both directly and indirectly.

For starters, adhering to a DoD guarantees that everything that gets shipped has undergone any number of verification and testing methods, such as test coverage, code review, and manual testing.

Furthermore, the impact of displaying your team's goals displayed for everyone to see cannot be understated. Outside of the workplace, one of the most effective ways to stick to your personal goals is to share them with your friends and family. It reinforces your commitment and keeps you on track when the going gets tough, if only for fear of letting down the people you've told. Alternatively, you can write your goals down to stay accountable to yourself and on the path to success.

In the context of a project, the people you need to be accountable to are the end-users of your product, your boss, and your immediate team. And beyond making those people happy, respecting your clear commitment to the standards you've established will help you avoid expensive conflicts. For those reasons, I suggest making your DoD available to all stakeholders in order to boost your team's commitment to delivering a quality product.

Increased productivity

Establishing a DoD will save everybody time. Not only will it spare you and your team countless arguments about what should and shouldn't be considered done, but it'll minimize the number of times each story goes back and forth between states.

Having a definition of ready and done and proactive impediment removal will get you to a Hyper-Productive state. — Jeff Sutherland

If your developer doesn't have the same DoD as your QA manager, your state-flow chart will show regular traffic from the finished state to the in-progress state. Your cycle time and average cycle time charts will show you that some stories are taking far too long to get done. The same will result in cases where your QA team doesn't go by the same DoD as your customer or product owner.

In the end, fixing those impediments and getting everyone to agree on a DoD is a surefire way to make your developement process leaner and your stakeholders happier.

In the next post, I'll explore why a team might want to change the done state to something other than what Pivotal Tracker calls the "accepted" state.