Definition of DONE in Software Developent


Let’s imagine, that at the end of every iteration in SCRUM or any other Agile Software Development method, the developer is coming to you and saying: “I’m done with this functionality!” But you of course ask: “What do you mean done? Are you done or done done?”

What do I want to say here: Software developers think that software development begins and ends with them. It’s actually not really false, but…
The software development is much bigger than only writing the code. Code by itself isn’t that useful. When developing team is stating define Definition of Done (DoD), it will be much more than “just coding”.

Example Definition of Done

Development / Coding

  • Code is written with unit tests
  • Code has been merged to Main
  • Code reviewed by someone other than the author

Testing / Deployment

  • Written QA tests
  • Tested by QC
  • Tested by QA
  • Written UI tests
  • Accepted by Product Owner
  • Load tested Deployed to Production

As you can see, the real Done functionality contains much more steps, as just only code. And how to determine this Definition of Done (DoD)?

 Defining Definition of Done (DoD)

  • Get the team together before or just at the project beginning
  • Start to discus in which phase your functionality can be named as DONE
  • Try to avoid ambiguity and differences in definition
  • Write it down!
  • All team members should follow the DoD

So in next, when developer will come and say:”I’m done!”, all will know exactly what does it mean.

Related Post

Story Points in estimating work One of effective way to estimate the work in software development is to use Story points. The story points are based on size and complexity, not duration.  They are also become unitless, they not measured by time or another units. One other good ...
Understanding Product Owner Role Responsibility Must have a Shared Vision Developing Winning product Product Owner controls the development effort in order to create a product Other Features A) Create Product Vision B) Maintaining the product backlog C) Release pla...
Who is actually the Scrum Master? The Scrum Master helps the team to be productive and use they creativity in order to deliver done, working software. The main point here is that the Scrum master leads the team, but not command the team The Scrum Master is a Coach. He is not a ...
9 main Agile software development Methodologies Agile Modeling Set of concepts, principles and techniques (practices) that enables you to quickly and easily perform design and documentation for software development projects. Does not include detailed instructions on designing, contains descript...