Not too long ago I had a conversation with one of the senior member of the management team of project I’m working on. I had some ideas on how can we do things faster by improving our testing (not developer testing but end-to-end, QA and regression testing). After few minutes of conversation I was asked a very basic question: “What is the definition of DONE on our project?” I was just going to open my mouth and jump out with an answer like: “Well, it takes us usually 3 days to develop piece of functionality”, but I stopped. I actually wasn’t sure. We spend few more minutes discussing some other issues but when I left I felt that this question is still on the back of my mind, trying to desperately find the answer.
After number of attempts I decided to rephrase the question. What is the Goal of the project? Couldn’t find a simple answer. So I asked even more general question. What is the goal of the company? I recalled books by Eliyahu M. Goldratt, “The Goal” and “The Race”. “The goal of the company is to make money in the present as well as in the future”. The goal is to win the race for customers.
My team works on creating and maintaining the software that produces the data for other systems within the company. Those systems are used to deal with clients, to provide them with reports, to sell them information, to protect client interests. This means that our project indirectly contributes towards company’s goal.
All the other teams and projects that are receiving data from us are our customers. We should make all the effort to deliver the necessary features to the consumers in a timely manner as they will be use to generate the revenue.
That’s it. This is my understanding of DONE.
In other words:
- It’s NOT DONE when BA finalizes the requirements and forms them as stories that got accepted by all stakeholders
- It’s NOT DONE when developer finishes coding the solution and fixes all the bugs
- It’s NOT DONE when QAs, BAs finish testing and approve the deliverables
- It’s NOT DONE when Downstream systems receive the data and confirm it’s quality
- It’s DONE when client receives the service that he or she requested thanks to the piece of software my team delivered. That’s when it’s DONE!
I think there is an important aspect to touch on. It is the effort of the entire team before DONE could be announced. No one should silo himself into a specific role and take responsibility for the specified area only. Developers should help with delivery of tools for release and testing automation, BAs should help with testing, QAs should help to form requirements, etc.
So, next time when you think you’re DONE, think again. Perhaps you are not really there yet but you could help someone else to make it happen.
Wish you all many happy DONEs in the future. Greg