Definition of Done for Software Development Projects

Tags
6 September 2019
Complete Guide for CTO & IT Directors
Microservices under X-Ray Three books image Download free ebook

In software development, definition of done specifies all of the conditions that a software product must satisfy to be accepted by the customer. The main driver for establishing DoD criteria is increasing the quality of the product being delivered.

The DoD might differ from product to project, and usually the team (together with client representative) is responsible to figure out the exact criteria that are needed/are going to work for specific project at hand. However, it is good to have a good starting point that becomes cornerstone for the team’s work. Here is our initial Definition of Done for agile projects:

User story:

  1. Code review accepted
  2. Automated tests passing
  3. 80% unit test coverage
  4. Acceptance tests automated and passing
  5. Functional tests scenarios created and reviewed 
  6. Integration test scenarios created and reviewed
  7. 80% of functional and 60% of integration tests automated
  8. Data migrations scripts created and tested (forwards and backwards)
  9. Documentation written and reviewed

Sprint:

  1. All stories in scope merged into sprint branch
  2. All tests passing
  3. Demo performed and Product Owner accepted the sprint functionality
  4. Performance tests passed
  5. Exploratory tests passed
  6. No bugs/regressions on the sprint branch

Marcin Wudarczyk

Latest Posts
angular apps

Angular Apps: Top 7 Web Application Examples, Advantages, and Considerations

Angular is a leading development tool for building sophisticated web apps. Check out the top applications fueled by this Google-backed platform and learn about its strengths and weaknesses. Angular is a household name in the front-end development industry and the key competitor of React (aka ReactJS). As one of the leading web development frameworks, it […]

/
ux writing samples

UX Writing Samples. How to Enhance Usability With Effective Microcopy?

Text is an integral part of UI design and user experience. High-quality, usability-focused copy helps engage users and turn them into customers. User experience (UX) writing is much more than a buzzword. It combines writing proficiency and inventiveness with a strong focus on user actions. The goal is to make things smooth, easy, and informative […]

/
gregg castano news direct

How to Pick a Good Software Partner? Q&A with Gregg Castano of News Direct  

A few years ago, we had the opportunity to work with News Direct on developing their platform. After carefully analyzing their needs, we’ve helped them design the system and developed a microservices-based architecture incorporating state-of-the-art modern technology allowing for communication using both synchronous and asynchronous calls to ensure high system flexibility and scalability. The main […]

/
cert pinning android

Mobile Development and Security: Certificate Pinning on Android

In today’s increasingly interconnected digital world, the importance of security for mobile apps and web services cannot be overstated. As cyber threats evolve, so must the defenses and measures we deploy to safeguard sensitive data and maintain trust. One of the pivotal practices in enhancing network security is certificate pinning, a technique that ensures a […]

/
django apps

Django Apps, Projects, and Other Caveats

Django, emerging as a significant player in the realm of web frameworks, stands out as a Python-based toolset that revolutionizes the way developers approach web application development. It is not merely a framework but a holistic environment that encapsulates a developer’s needs for building robust, efficient, and scalable web applications. Born out of a practical […]

/
rxjs react

RxJs & React: Reactive State Management

In the ever-evolving realm of web development, the quest for efficient, scalable, and maintainable tools never ends. Two such tools, React and RxJS, have garnered significant attention in the recent past. React, the brainchild of Facebook focuses on crafting intuitive user interfaces by leveraging a component-based architecture. On the other hand, RxJS offers a fresh […]

/
Related posts
angular apps

Angular Apps: Top 7 Web Application Examples, Advantages, and Considerations

Angular is a leading development tool for building sophisticated web apps. Check out the top applications fueled by this Google-backed platform and learn about its strengths and weaknesses. Angular is a household name in the front-end development industry and the key competitor of React (aka ReactJS). As one of the leading web development frameworks, it […]

/
cert pinning android

Mobile Development and Security: Certificate Pinning on Android

In today’s increasingly interconnected digital world, the importance of security for mobile apps and web services cannot be overstated. As cyber threats evolve, so must the defenses and measures we deploy to safeguard sensitive data and maintain trust. One of the pivotal practices in enhancing network security is certificate pinning, a technique that ensures a […]

/
django apps

Django Apps, Projects, and Other Caveats

Django, emerging as a significant player in the realm of web frameworks, stands out as a Python-based toolset that revolutionizes the way developers approach web application development. It is not merely a framework but a holistic environment that encapsulates a developer’s needs for building robust, efficient, and scalable web applications. Born out of a practical […]

/
Angular mobile apps

Angular Mobile Apps: Key Advantages and Considerations

Angular is a popular framework backed by a huge community, favored by many developers, and used by leading corporations, including Google, Microsoft, and Samsung. Find out how it can streamline mobile app development. In software development, efficiency is paramount. Building maintainable and scalable applications requires a lot of proficiency and experience, which enable you to […]

/
platform native

Platform-native vs. cross-platform vs. hybrid development. How to develop an app?

Creating a flawless mobile app is a challenge in many ways. For starters, you need to choose the right approach. We explain how to decide between native, hybrid, and cross-platform mobile app development. Developing an app can take anything from a few to over ten months, depending on the project’s complexity and the development team’s […]

/
prototype vs proof of concept

Prototype vs Proof of Concept: A Dive into Digital Product Development

In the realm of product development and innovation, two terms are often bandied about with great fervor – ‘Prototype’ and ‘Proof of Concept’ (POC). These methodologies play pivotal roles in transforming an abstract idea into a tangible product, serving as critical stages in the pathway to commercialization. However, these terms are frequently misunderstood, often interchanged […]

/
Talk with experts

We look forward to hearing from you to start expanding your business together.

Email icon [email protected] Phone icon +1 (888) 413 3806