Over a million developers have joined DZone.

Definition of done

· Agile Zone

Learn more about how DevOps teams must adopt a more agile development process, working in parallel instead of waiting on other teams to finish their components or for resources to become available, brought to you in partnership with CA Technologies.

When working on client projects we use a very loose agile process. We heavily believe that iterative and incremental development is key to a successful project. We gather requirements for the project as a whole, maybe not strict user stories, but just the functionality needed for each feature. These are then broken down into stages depending on the order they need to be built and the client's priorities. The work done in stage one often changes the priorities for stage two, then stage three, and so on. As a feature is built we tick it off as done so the client can go onto the test environment and take a look.

What is done?

Each feature needs to have a number of criteria, which are agreed with the client. Simply put, until all these criteria have been met, the item in not done. Sometimes 80% of the criteria are easy to build with little or no dependencies, but cannot be marked as done until the final 20% are complete. This may mean revisiting the feature later on through the stage once all impediments and dependencies have been addressed.

It is often tempting to mark something as done when it's not quite done. However this sets the wrong expectation with the client, and also confuses development. Wait until all criteria has been met, every last bit.

What about bugs?

We would reopen a feature and address any bugs as the client is paying for (as humanly possible) bug free software. These would get addressed as a priority free of charge. We would then go back the the feature previously worked on before the bug was discovered.

What about feature changes?

This is often something that's best to agree mutually with a client, but depending on the change required it can either go into the next stage or be added into the current stage as a new item. Each feature has an agreed level of criteria, additions to that cannot be added to a feature. They will need to be address separately, again this helps prevent any confusion.

Discover the warning signs of DevOps Dysfunction and learn how to get back on the right track, brought to you in partnership with CA Technologies.

Topics:

Published at DZone with permission of Tim Millwood, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

The best of DZone straight to your inbox.

SEE AN EXAMPLE
Please provide a valid email address.

Thanks for subscribing!

Awesome! Check your inbox to verify your email so you can start receiving the latest in tech news and resources.
Subscribe

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}