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
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 […]

/
css class override

CSS Class Override: How To Add Custom Styles The Right Way?

In CSS, class overriding allows developers and designers to control web page styles. Find out how it works and how to use it for adding custom styles. CSS (Cascading Style Sheets) is a language used to style documents written in markup languages, such as HTML, XHTML, or SVG. It defines styles for web pages and […]

/
new york tech meetup

New York Tech Meetup Scene

In the bustling landscape of New York’s tech scene, a vibrant array of events and meetups provide a dynamic platform for knowledge exchange, networking, and innovation. Tech meetups, characterized by engaging presentations from industry experts, foster an atmosphere of collaborative learning and idea sharing. How to engage with that type of event? What To Expect […]

/
opportunity solution trees

Opportunity Solution Trees: How to Enhance Product Discovery For Better Business Outcomes?

The opportunity solution tree is a framework supporting product discovery and achieving desired outcomes. Find out how it works and how you can leverage it for your business. Product discovery is the process companies use to identify and define the problems they aim to solve with their products or services. It’s the crucial first step […]

/
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 […]

/
bots with python

Bots with Python 101

As we continue to embrace the digital age, we encounter countless innovative solutions that improve our daily lives, making mundane tasks more efficient, or even automating them entirely. One such innovative solution is the ‘bot’, a broad term that has various definitions depending on the context in which it is used. In its essence, a […]

/
Related posts
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 […]

/
angular advantage

Advantages of Angular in Web Development

Angular is one of the most widely used frameworks for building amazing UIs. It can speed up the development process and save a lot of costs. Find out about its features, key advantages, and limitations. Angular is a leading open-source front-end framework for developing web applications and one of the most popular software development tools […]

/
django vs flask

Django vs. Flask. Which framework will work better for your web development project?

Flask and Django are the top two Python frameworks for web development. They are different in many ways, but both can provide great results in the hands of skilled software engineers. We’ve compared Flask vs. Django to figure out what their superpowers are. The Python programming language has been experiencing a rapid rise in popularity […]

/
project manager vs product manager

Product Manager vs Project Manager: Main Differences and Similarities

In today’s fast-paced and highly competitive business world, organizations need to have a clear understanding of the differences between a product manager and a project manager. While both roles are critical to the success of a company, they have distinct roles and responsibilities. In this article, we will explore the similarities, differences, and roles of […]

/
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