Skip to content

Dependency score calculation for epics in a Product increment given the dependency information on which the stories and epics depends.

License

Notifications You must be signed in to change notification settings

tanmaypatil/dependency_score

Repository files navigation

Dependency score calculation

Dependency score display

Background

Software product developed by a large organisation have inter team dependencies.
These dependencies stall the flow of execution and paralyse the teams. Following teams are the actors in a cross team collaborated product

  • Team which develops application , focuses on functional aspects
  • Infra team which provides infrastructure such as security , authentication , resilliency
  • Devops team which provides access to resources such as kubernetes cluster , IDP's , active directory etc.

Application development team gets stuck because of dependencies on infra and devops team . During execution , stakeholders (such as program managers, engineering directors ) are looking for input on the epics and requirement which has higher dependency on other teams .

This is an attempt to look at calculating dependency score of a epic. This will help managers to focus on high dependency epics also compare one product increment to another product increment.

How to calculate score

Current method of implementation is to use weighted score of following parameters to arrive at dependency score

  • Requirement effort - 10% weightage
  • Dependency effort - 10 % weightage
  • Product priority - 50% weightage
  • Sprint arrival - 30% weightage

Score calculation - input scaling

All the input variables ( such as requirement effort) is scaled to value between 1 and 5 so as to have uniformity . Final dependency score would between less than 5 . Higher the score and higher the dependency of a requirement or epic on other teams

Variables

  • Requirement effort
    Effort in person days of the epic under question . It could be between 0 to 200 person days . Lower and upper bounds are configurable . This value is scaled down to be between 0 to 5.
  • Dependency effort
    Effort in person days of dependency effort .For example if infra work needs to be done prior to complete functional work,then infra epic is a dependency . Value is scaled down to be between 0 to 5
  • Product priority
    Importance of epic from product management point of view . A value between 1 and 2 . Decimal values are allowed . Dependency score is reversely proportional to product priority in the way value is assigned .
  • sprint arrival
    If dependency is coming late in the product increment , then dependency score would be higher

How to use the repository

Clone the repo . Go to ui directory and run the ui_graph.py . It will start a web ui ( gradio based). UI will ask for 2 inputs

Inputs

  • Xls containing epics . This will be one of the xls from requirement folder
  • number of top nodes as per dependency node . If you give value of 2 . It will highlight top 2 nodes ( based on decreasing value of dependency score) in orange color

Outputs

  • Tree based graph of epics showing dependency score
  • Dataframe containing calculation on how the dependency score is arrived.

Deep dive into calculation

A deep dive into calculation of the score.
If you follow requirement_2.xlsx in requirement directory , first dependency is GDB-100.
Dependency score calculation will be as follows

variable name value normalised value weight score
requirement effort 100 2.55 10 0.255
dependency effort 20 0.59 10 .059
product priority 1.10 4.51 50 2.255
arrival sprint 4 5 30 1.5

All the values are normalised to score between 0 to 5.
Dependency score for GDB-100 = 0.255 + .059 + 2.255 + 1.5 = 4.069 ~= 4.07

About

Dependency score calculation for epics in a Product increment given the dependency information on which the stories and epics depends.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published