Professional Documents
Culture Documents
an Agile environment
RON ERINGA
1. What is a defect? AGILE COACH
Wikipedia: “A software bug (or defect) is an error, flaw, After being graduated from the Fontys
failure, or fault in a computer program or system that University in Eindhoven, I worked as a Software
produces an incorrect or unexpected result, or causes Engineer/Designer for ten years. Although I
it to behave in unintended ways. Most bugs arise have always enjoyed technics, helping people
from mistakes and errors made by people in either a and organizations are my passion. Especially
program’s source code or its design, or in frameworks to deliver better quality together. When people
and operating systems used by such programs, and focus towards a common goal, interaction is
a few are caused by compilers producing incorrect increasing and energy is released. This is the
code.” beauty of the Agile way of working.
There are a lot of synonyms and explanations for a Personally I have about seven years of
defect. Terms like ‘bugs’, ‘incidents’, ‘faults’ are all experience with all kinds of Agile practices, like
used, often for the same context. It is not always Scrum, Lean, Kanban, TDD, and Continuous
clear what we mean with all these terms and Integration. During my experience I had
how they should be handled in terms of priorities roles as a Coach, Trainer, Scrum Master,
and their place on the Product Backlog. Shortly Product Owner, and Agile Project Manager. In
summarized a defect can be described as unwanted addition, I also speak regularly at various Agile
behavior of a program. conferences and seminars.
• Epic: An Epic is a large User Story. It is a label that is used Members in a team that uses Continuous Integration
to indicate that a User Story cannot be picked up in a typically deliver their changes a few times a day. It
Sprint, since it is simply too large/complex and needs to could happen that instead of the Developer, one of the
be broken down into smaller User Stories. other team members detects the issue after it has been
delivered. In this case it is wise to explicitly visualize the
• Theme: A theme is a group of User Stories. Sometimes it issue to make sure it will be resolved (typically they are
is useful to speak in groups of User Stories, for example entered as a task on the Scrum Board and become part
when we are talking to customers about the content of a of the “Done” criteria for that story). In other words the
release. User Story in this Sprint can only be marked as done
(and hence delivered at the end of the Sprint), once
Just like Themes, Epics, and User Stories (which are typical all detected issues are solved. A team should never be
terms that come from XP) a team can also put Defects on pressured to finish User Stories in a Sprint with open
their Product Backlog. This means that Defects can be just development issues.
another implementation of a Product Backlog item and can
be treated as a Product Backlog Item in terms of planning, 4. Defect
estimation, and priority. A lot of Scrum teams use the definition “Defect” for a
development issue that is found after the Development
Team has delivered a Product Increment at the end of
a Sprint. Apparently the team delivered an Increment
4. Defect, User Story, or Task? at the end of a Sprint but for some reason they did
not detect the error. These kind of Defects are a
In general we often see four different paths that lead to new manifestation of technical debt and an indication that
work for the team: the Development Team should increase their skills to
deliver higher quality Increments. This is typically an
1. New feature indication that the Definition of Done, used by the team
This is the most common way to introduce new work needs to be improved.
to the Product Backlog. One of the stakeholders wants
new functionality and the Product Owner has brought Since it is often not clear what User Story exactly caused
up a new Product Backlog Item on the Product Backlog. the error it is probably a wise thing to create a new
It often starts as an Epic that will be split up in smaller Product Backlog Item on the Product Backlog. This
User Stories if needed. Scrum Teams will use the Backlog could be a new User Story, but many Agile ALM Tools
Refinement sessions to do so. also provide an option to create a Defect on the Product
Backlog. After the Defect has been added to the Product
Backlog, it needs to be discussed with the Product
Owner and the Development Team.
When too many Defects pop up during your Sprint you are
probably in need of a corrective action to increase the quality
of your software.
Did you find this article interesting and do you have the need
to learn more on this topic? Send an e-mail to
r.eringa@prowareness.nl.