Tuesday, August 6, 2019

How To Achieve Continuous Improvement in Agile?

Agile implementation is good in software development, it makes the entire business becomes more flexible, adaptative, durable, fail fast, and responsive to change. One of important key to obtain this condition is by focusing on continuous improvement.

I still remember when I was in one of waterfall project before, by end of the project we will have "project post-mortem", basically it's a process at the end of project to analyze and capture the project elements that were successfull or unsuccessful, so it can be used as lesson learned for next project. But, what if there's no more next project? And why do we only capture this informations after we run the project, after like 6 months of project running?

This is when agile beauty comes in the picture, we can capture all this information and feedback anytime. Via technical such as test-driven development (TDD), pair programming, and continuous integration (CI). From this process we make sure that we fail fast and response immediately to solve the issues.

While the technical processes are in place, we also have one important ceremony called as retrospective. It's a regular basis session where all the team members can openly share "what went well?" and "idea for the future". Regular basis as in we don't need to wait until months to do it, we can make it bi-weekly after ends of each iteration.

Personally as a scrum master, sprint retrospective is agile ceremony that I love the most because normally I will schedule it at the end of sprint (after sprint review/demo) and I will have mini game with small celebration with the team.

Based on my experience, there are some condition to have a good retrospective:
  • Make sure everyone in the safe environment, safe as in they feel comfortable to provide feedback and share their feeling to others. I always say to my team members to feel "happy" and open when receive feedback from others, because it means they still care about us. If people don't care about us, they don't even bother to provide feedback.
  • Focus to find solution, not blaming game. There might be sometime when the team become too emotional and tend to blame others rather than find solution. As scrum master, observe this situation and direct the conversation to the right way.
  • List down action items, make the sequence based on priority and make sure it's tangible, and let the team to own it. We can revisit again the list on next retrospective, to know the progress of each action items.

It does need time to have good team bonding, there's nothing instant in this world. They will grow over the conflicts, over failures, over success deployments, and also over some fun activities outside work. Give the team time to experience it, observe and guide them if required, and heading to success together.

Post a Comment

Whatsapp Button works on Mobile Device only

Start typing and press Enter to search