A couple of weeks ago I had a discussion with my manager whether we can set an initiative that we worked on to “Completed”. We had developed our part and handed it over to another team to consume the changes. But there were good chances that they would come back to us with further suggestions, so that what we had developed would provide real value to our users. So were we really done?
Around the same time I came across an excellent post from Lina Zubyte about the “Definition of Done”. As a development team we had done our part, more or less along the lines described in the post. But still, whether we were done-done depended very much on who we asked.
Here are some common “Definitions of Done” (DoD) for the various roles in software development and why it helps that we all know about them.
Developer
For a development team some of the most common done criteria include code is written, tested, instrumented to be monitored, complying to certain standards, toggles in place and finally deployed to production. Depending on how far along on the DevOps journey, the DoD might also include actively monitoring the behaviour of the code in the productive system after deployment and adapting accordingly.
Release Manager
This is someone who takes care that the code that is in production is ready for use by the end users. Their DoD might include that all user documentation is in place, further areas are adequately informed, e.g. marketing or sales, feature toggles are “turned on”, or that existing users are informed about possible impact due to the changes.
Product Manager
Even when the code is deployed and released to the users it doesn’t mean the business problem it was addressing is necessarily solved. That is why product managers have another set of DoDs, for example, reaching certain expected metrics, validating an assumption, reaching an acceptable NPS, the feedback by usage or direct through messages is moving the needle for the business.
People Manager
Your manager is someone who, ideally, takes care of your work load. A good manager, as far as I am concerned, aligns their team’s success to that of the business while taking care that their people have the necessary conditions to achieve it. For them, something is done when employees can allocate their time to different initiatives, their department has measurably contributed to the company’s goals and the contribution is communicated efficiently to gain further support from upper management.
For smaller products the lines between the roles might blur, but most of the DoDs mentioned here are still needed. It is important to clarify what the DoDs for our specific role are. It is equally important though, we at least have an overview of what the DoDs are for everyone. Otherwise, we feel that we did what was expected of us and don’t understand why work we thought we were done with comes back to us. Knowing what’s happening down the line might settle us feeling comfortable replying “we are done for now”.