Thursday, November 16, 2023

Agile Best Practices

In this blog, I have tried to list down some of the Agile Best Practices that I had learnt in my experience.

Give sufficient time for grooming and estimation:

In my experience, especially with teams that are recently adapted to agile, it is very challenging for them to give an estimate during the 'Planning Poker' game. When I started a 'Pre Grooming' meeting, where the stories were discussed in detail and then gave a day's time for the team members to think about the estimation, the 'Grooming' meeting (now essentially an estimation meeting :)) became more meaningful 


Consider having product backlog refined upto atleast Sprint n+2:

The Product Owner must ensure he/she has the product backlog refined (stack ranked for the next 2 or 3 upcoming sprints). This helps the team to pick up the next stack ranked PBI even if the PO is unavailable due to sickness.


Calculate velocity as both Number of Storypoints and Number of Stories:

It is a good practice to note both the above metrics and follow the trend as your prediction for the upcoming sprint. The reason being, it gives a better predictability. How so?

For eg: Team 'A', who have just closed Sprint 'n' has a velocity with Sp = 40 and number of stories = 8. Sprint n+1, they choose 42 sp but the number of stories = 21. Is there a problem? The 40 sp are generated by Team A when they choose around 8 stories. Now if it gets tripled, chances are they would not meet 40 sp, because there is a heavy context switching associated with multiple stories, that would impact productivity of the team.


Calculate 'Value' delivered as a KPI:

While velocity as sp/stories, defect leakage, test coverage etc are good, scrum is all about delivering value. One of the six principles of scrum states 'Value based prioritization'. Therefore, we must consider measuring value delivered as a key metric. That's a good agile practice. How do we do that? Add the value for each story (ie) we would anyway stack rank the stories. To begin with add metric values like 10 for high value, 6 for medium and 3 for low value stories and mark the value for each story in the sprint. Measure it - we can do that easily through a Sprint Burn up chart. Track the value delivered sprint after sprint.


Remote Worker Engagement:

  • Record Spring plan and review meetings (esp in case of scrum of scrum) and post the link in a common repository. That will help all team members to have an excellent point of reference.
  • Have centralized status wikis that will pull the data from JIRA and present the details to all team members. Charts/2 D tables like Assignee Vs Defects, gives a view of all defects that are with that assignee. 
  • Centralized wikis with 'Current Sprint+1' and 'Current Sprint + 2' backlog also will give an understanding of the upcoming work to the team members
  • Conducting 'All Hands' once a month by the Leadership Team will ensure to bring the remote workers to the same platform and it is a great forum to understand program/portfolio/company level strategies, initiatives etc
  • People Manager must have a monthly 1:1 with remote worker, if possible in a video call. This will help to increase the trust and there by team bonding.


Produce Matrix/Mapping where applicable:

If there are a number of permutations and combinations that should be tested (for eg), then if its applicable, we should try to create a matrix, that will help easier validation. Sample matrix/mapping that was created for UI validations.





No comments:

Post a Comment