Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Maturity Levels
  • Issue Type Mapping

    • Issue Type which will have Liked defects eg; Story Enabler Story, Tech Story

  • WorkFlow Status Mapping

    Status considered for Issue closure eg; Closed, Done, Ready for DeliveryThe Defect Injection Rate KPI

    Overview

    Applicability

    Scrum-based projects

    Definition (Hover Text)

    measures Measures the total number of defects (bugs) linked to closed user stories which are part of a Iterationsprint.

    Source Tools

    Jira, Azure Boards

    Graph type

    Line chart

    Filters

    <None>

    Hover Format on KPI

    Sprint Name: <<Percentage Value>>

    Defects: <<Value>>

    Closed Stories: <<Value>>

    Fields on Explore Overlay

    1. Sprint Name

    2. Story ID

    3. Issue Description

    4. Linked Defects

    Business Logic

    Calculation Formula

    No. of defects tagged to all stories closed in an iteration/ Total no. of stories closed in the iteration.

    1. Numerator :

      • This is the count of defects (bugs or issues) that were found in all the stories that were completed in a sprint.

    2. Denominator :

      • This is the total count of stories that were completed in the same sprint, regardless of whether they had defects or not.

    Trend

    Positive trend indication - Decrease

    1. Quality Indicator: This metric shows the quality of the work done in a sprint. A lower defect rate means fewer issues were found, indicating higher quality work.

    Example

    Imagine your team completed 30 stories in a sprint. Out of these, 6 stories had defects. The Defect Rate would be:

    Defect Rate=6 / 30 ​=0.2 or 20%

    This means 20% of the completed stories had defects, which helps in understanding the quality of the work done during the sprint.


    *Please note:- ‘stories’ denote units of work, not to be confused with ‘User Story’ issue type in Jira

    KPI Settings

    1. Issue types to identify as Stories:

      1. Primary → ‘Issue types which will have linked defects’

      2. Secondary → 'Labels to identify issues to be included' can be used to filter the desired set of stories considered in primary setting

        image-20240703-143936.pngImage Addedimage-20240703-144037.pngImage Added

    2. Defects field mappings

      1. Priority to be excluded

      2. Root cause values to be included

    3. Workflow Status field mappings

      1. Resolution type to be excluded

      2. Status to be excluded

      3. Default start status for defects

      4. Statuses for issue closure (for both stories and defects)

    *Please note:- Global mappings and default Jira statuses of sprint reports will apply if the KPI level settings are not used.

    Trend

    A downward trend in DIR is desirable. This means fewer defects are being injected over time.

    Maturity Levels

    DIR maturity is assessed by averaging data from the last 5 sprints. This helps in understanding the stability and improvement over time.
    M1: > 175%

    M2: 175% -125%

    M3: 125%-75%

    M4: 75-25%

    M5: 25%
    *Please note:- KPI widget denotes the average maturity over data points

    Instance level thresholds

    Target KPI Value denotes the bare minimum a project should maintain for a KPI.

    Global Configurations- (Field Mapping)

    Processor Fields

    • NA

    Mandatory fields

    Whenever we update the defect mapping and issue type mapping, whether we add or remove any issue type, we must run the processor. This is necessary to show the changes in the KPI.

    Defect Mapping :

    image-20240704-094534.pngImage Added

    Mandatory fields

    Project Settings

    1. Navigate to Project Settings: Start by going to the Project Settings in your application.

    2. Access the Mapping Section: Within Project Settings, find and click on the Mapping option.

    3. Mandatory Field: In the Mapping section, you’ll find the Mandatory Field. This is where you’ll configure the necessary global mapping fields.

    4. Configure the Fields:

    Defect Mapping :

    • Issue Type to identify Defect - all the issue type that signify defect

    image-20240704-094534.pngImage Added

    Issue type Mapping :

    • Issue type for subtask Defect - Any specified issue category will be treated as a subtask that is linked to a story.`

    image-20240704-104755.pngImage Added

    How to Validate KPI

    Suggested ways of working

    1. Ensure Defects are Tagged to Stories:

      • Mandatory: All defects must be linked to user stories. since unlinked defects will not be considered

      • Sprint Closure: Ensure that these stories are closed within the same sprint.

    2. Include/Exclude Rejected, Dropped, or Abandoned Defects/Stories:

      • Include: If you want to include these defects/stories in your validation, ensure they are part of your JQL query.

      • Exclude: If you want to exclude them, modify your JQL query accordingly.

    3. The issues identified as stories and defects should belong to the sprints of the configured project scrum board

    4. Verify the sprint snapshots of closed sprints

    Sample JQLs

    project in ("XYZ") and component ="ABC" and type in (Defect) and issueFunction in linkedIssuesOf("type in (Story) AND sprint in(406)")

    project in ("ABC") AND component = "xyz" AND type in (Defect) AND issueFunction in linkedIssuesOf("type in (Story) AND sprint in (40756)") AND status NOT IN (Rejected, Dropped, Abandoned)

    Best Practices

    Automate Testing

    Implement automated testing (unit, integration, and end-to-end tests) to catch defects early in the development process.

    Pair Programming

    Implement pair programming to increase code quality and reduce the likelihood of defects being introduced.

    Adopt TDD/BDD

    Use Test-Driven Development (TDD) or Behavior-Driven Development (BDD) methodologies to write tests before code, ensuring that functionality is well-defined and tested from the start.

    Use Static Analysis Tools

    Implement static code analysis tools to automatically check code for potential defects and enforce coding standards.

    Benefits of KPI

    How does the KPI help

    Quality Measurement

    It helps in identifying measuring the number of defects introduced during the development process, which quality of the code being produced and identifying areas where improvements are needed.

    Predictability

    Understanding the defect injection rate can help in improving forecasting the quality amount of the product and reducing the cost of fixing defects in later stages. It also helps in tracking the effectiveness of the testing process and identifying areas for improvement.

    ...

    rework required and in planning more accurately.

    Cost Reduction

    Reducing the defect injection rate can lead to lower costs associated with fixing bugs, especially those found later in the development cycle or after release.

    Process Improvement

    By tracking this metric, teams can identify stages in the development process where defects are commonly introduced and take steps to improve those stages.