Loading

Defect Management using Kanban (Agile)


Introduction:

Defect management is an important aspect of an application. Defect Management is a crucial step towards an accomplished project thereby ensuring that the right thing is delivered at the right time.

We resort to scrum or Kanban approach for managing defects in an agile framework, which requires recording everything in the product backlog.The product backlog acts as a summary of the complete set of activities that need to be performed. The backlog is a result of the sum of efforts put in by developers along with the set of requirements which leads to an estimation of the tasks to be performed on a priority basis.

Thus the process of defect management is a meticulous activity that demands careful consideration of requirement specifications as when a defect is caught it must be handled in order to be able to find the root cause of a given problem.

Defect?

A defect in a software application can be defined as an erroneous output, a failure or a fault that makes the system terminate abnormally or may behave in a way least expected.

Defect

Defect management in Agile:

While in the mid of a certain sprint along with working on a product backlog we may just discover the fact the task cannot be completed due to a certain unmatched acceptance criteria. Due to that we aren't in a position to complete the ongoing process.

Agile Cycle

Detecting a defect during production stage is more expensive than found at earlier stages of the development cycle. Therefore development teams resort to 'agile' methodology in order to reduce cost and deal with defects with a lot of ease.

In an agile approach towards defect management, few points should be worth consideration:

  • To understand the problem
  • Work out the best solution for the team
  • Take preventive measures towards bug handling
  • Identify alternative solutions

By using an effective defect tracking system, we have the following advantages:

  • Enhance knowledge base for the matter under consideration
  • Helps study the case and be able to prioritise the tasks
  • Enables end users to get ensured that their product is being built right.
  • Use of metrics helps to keep a systematic track of the proceedings of the system development.

Defect Management in Kanban

Defect Management through Kanban:

Progress of a project is organised with the help of a board which enlists the amount of work completed so far and the portion remaining. The Kanban technique defines a 'Work-in-Progress' limit by segmenting the board into columns, such as - backlog, In-progress, blocked, done. Each task has to pass through these columns to ensure that the project is finally heading towards final accomplishment.

Developers work on developing an application there could be a request for some changes in the current application functionality or some feature of the same. An error or issue could be found at any stages - development, testing or code review. The defects are then mapped to the earlier working stage depending upon the state in which it was captured. Such defective piece of code must be rectified first to move on to the next stages.

Kanban Board

Image source:https://www.linkedin.com/pulse/using-leankanban-boards-improve-resource-allocation-cronin-pmp

The defect management process in Kanban thus proceeds in the following manner:

  1. The defects found in an activity are blocked until the defect is resolved
  2. Work-in-progress limits are set for each column, to ensure that a story is completed in a given span of time and not switching on to some other story without accomplishing the previous
  3. By adhering to work-in-progress time limits, a responsibility to complete a certain story becomes a mandatory task

Terms associated with defect management using Kanban:

Few terms associated with defect management using Kanban are as follows:

Terms in Kanban

  1. User Story - A user story can be defined as the description for a new functionality from the perspective of the end user. A user story should ideally be small to be understood by the team who is supposed to work on the project.
  2. Product Backlog - A product backlog is a document that consists of features, functionalities, requirements, enhancements and bug fixes that need to be integrated to make changes into the system.
  3. Epic - A quite large user story that may arise during a sprint, is often broken down into smaller pieces.

The above terms form an integral part of managing defects in the system. We come across such a scenario in case there is any one of the following -

  1. A new feature to be integrated. A new feature is an adage to the product backlog. The stakeholder demands a new feature, thus breaking the user story into small pieces.
  2. A change in current functionality. This leads to a situation where a user story is translated into product backlog.
  3. An issue on the developer's site. During the process of implementing a user story, a developer encounters an issue himself.
  4. When a product has almost reached on the verge of moving on to the next sprint, an issue occurs just at that point. Such defects need to be studied to figure out the cause that led to such defects and making sure that such a defect should not arise in future endeavours.