Agile Software Development: Identifying Risks Flashcards
Overall Risks to Track
Performance Risks
Slippage Risks
Priorities Risks
Project Risks
Handling Risk in Agile
Visualize the risk: with dedicated risk board that is visually displayed
Prioritize the risk: by choosing riskier items and working on them first
Create user stories to mitigate the risk
Then we burn down the risk by working on the risk sooner rather than later, thereby mitigating the risk and making them disappear.
How to spot risks before they become an issue
Daily standup
Trends
Where should risks be listed for an Agile project?
IR/BVIR
Slippage Risks
Slippage Risks: risks that impede a project and/or lead it to miss or ‘slip’ the deadline
Burn down the risk
It means: prioritize risk, and work on it early so that you can determine very quickly if there are technical issues that will stop the project dead in its tracks
How to adapt to changes
One way we adapt is by always prioritizing work in the backlog according to the value provided to the customer so that we are always working on the most important and valuable items
How should unplanned work be dealt with?
It should be added to a Kanban board, with a WIP limit, and ranked using a numerical system. This ensures that the team is always working on the top priority.
If it is SCRUM, then it is added to the Product backlog and prioritized for the next sprint
Kanban Leading indicators for potential problems
Cycle time increases
WIP limit violations
SCRUM leading indicators for potential problems
Committed vs delivered: teams that are overcommitting and under-delivering
Varying sprint lengths
Increase in backlog mid-sprint
Technical Debt
Technical Debt occurs when there is additional work or reworks that have to be done later, due to insufficient solutions that were implemented in the past.
Technical debt is a problem because it has to be paid back later, resulting in higher costs
Where do we most commonly encounter Technical debt?
Older software code that is being modernized
Code not using microservices
Code that is not decoupled
Rushed Code
Lack of automated testing
SLOC
software lines of code
Combating Techincal Debt
Tackle a small amount of debt at a time
Use modern software development practices (microservices, TDD)
Peer review your code
Use code quality tools
Code quality metrics
Code coverage ( 80%) The automated test pass rate