How to start agile (SCRUM)

This is the question everyone asks when they learn about agile. There are many ways it can be done. One is big bang approach. Another is slow and steady approach. I prefer the second approach. I will start with this first.
Slow and Steady approach
Start slowly. You may not need to announce that you will be going agile. You can do it after you have finished one or two sprints. By this time your team will be comfortable with agile.
1. Start with short sprint. Plan for a release (demo) to the customer after a month or 6  weeks which ever is more convenient. Try to get the actual customer for the demo. Convince the person responsible from the customer organization to bring in the end user. This is critical for success of SCRUM.
2. Start with daily SCRUM meeting. You can call it daily strategy meeting, or daily status meeting. SCRUM Just make sure you discuss three things. What was accomplished yesterday. What will be done by the team member that day. What is preventing the team member from doing it. Keep the meeting short. Each team member has only 3 minutes for this.
3. Introduce daily build. If you are using tools for build try to implement continuous integration. This will help a lot to avoid integration issues.
4. Next is to get team to write automated unit tests. Why automated unit tests are important for SCRUM? SCRUM has short iterations. After each iteration you will need to touch the code which is already tested and ready for production. You need to test entire system after each iteration. Testing entire system after each iteration will become a daunting task. It is not scalable. Solution for this is automated unit tests and automated tests. You will not be able to progress beyond 2 or 3 sprints without compromising speed.
5. Now you can go full fledged. Bring in the SCRUM board. Start the sprint planning meetings. Go ahead with the retrospective meetings. Try pair programming. You will know what is good. Your team will be in a good position to decide what is required as part of SCRUM.
 Big bang approach
Get a SCRUM coach. Train all the team members. Start the project with longer first sprint. You will need this as the team is new to this approach. You can reduce the sprint timing for next sprints.
Have the coach visit the team every week.It will be better if you can have the coach as part of the team. Team will need lot of course correction. They will have the hangover of command and control structure. This is very bad for agile project. Team will drift away if this symptoms creeps in.

Both approaches will work for teams with open mind. For teams marinated in command and control structure you need to bring in some fresh blood.

Comments

Popular posts from this blog

ChatGPT for cavemen

Greedy computing with API

Event driven architecture for micro services