Have you already implemented Agile but still not able to deliver the promised results? Do you feel there are gaps in the process that are stopping you from going completely agile? Then you are at the right place. Often, in a custom software development company that, has just implemented an agile process, the process seems more like waterfall instead of agile. This is the transition phase from your waterfall model to agile. Thus, you must not only transition the development process but also transition the development team into an agile team. There are various changes that a normal team undergoes before it becomes completely agile.
Here are some action items to check off your list as you make your team agile
1. Train your Project Manager, Tech Leader on Agile:
Your project manager and your team lead or the lead developer must be trained in Agile. The best way is to schedule a workshop which helps them understand the nitty gritties of the Scrum Master and Product Owner roles. The project manager must take on the Scrum certified product owner and the lead developer or the technical lead can take on the certified scrum master certification workshop. There are several agencies that conduct workshops; you can also take the certification exams through them.
2. Educate your team on Agile:
This is probably the most important step you need to take. Educate your team on the Agile methodology, agile principles, manifesto, and all other terms such as Sprints, Retrospective, Definition of done and the rest. Also, make sure you have a session on how to practice agile using a small game that follows agile principles; you can split up the time into multiple sprints. Besides, one more point to remember is that the maximum size of an Agile team should be 9-11 members including the product owner and scrum master. Here’s a detailed outline of the game.
The Paper Plane Game:
Actually, this one is taken from one of the Agile workshops we had attended. This fun activity helps the team collaborate effectively. The rules of the game are as follows:
- The goal is to create as many paper planes as possible within a 2 hours time frame.
- Planes should fly a specific distance (you can choose from point A to B in your office, for example, from this end of the room all the way to the other end)
- Planes should be child friendly
Try it with your team, Split the team into two, break the task up into different sprints of 20 minutes each and have fun testing the planes out. Make sure that the testers are from the other team to be fair. At the end of this activity, your team collaboration will be better and the team will have a fair understanding of how Agile is supposed to work. As a surprise, try introducing a changes in between the sprints, for example, the plane must have a logo and must be colored.
3. Agile Process Implementation:
This is the next key step towards really transform your team into an Agile team. The previous two steps simply prepared you and the team for the agile transformation process. As a project manager or a team lead, you must use a software, for example, JIRA, (which is our favorite, bdw) for agile project management. You can also use Rally Besides, for any project, make sure you have defined project workflows.In any Agile project, there are 3 mandatory ticket types – Epic, User Story and Tasks. Each Epic is further split up into User stories. Under each user story there would be a list of tasks defined. Completing the tasks of a user story would make the user story complete and ready to be tested. Completing user stories under an Epic would make the Epic ready for testing.
For each of these ticket types, define a workflow. For example, a user story must have the following statuses
- Open – When a new user story has been created
- In Progress – When the user story is being worked upon
- Code Review – When the code or logic has been developed and sent to review by your peer or lead developer
- QA – When the user story is being QA tested
- Re-opened – When the user story fails any test cases
- Done – When the user story has passed all QA test cases
Follow the agile manifesto, conduct Sprint planning meeting at the start of the Sprint. In this meeting discuss with your development team (which includes both developers and QA testers) on how long a Sprint should last based on team capacity (must not exceed 4 weeks) and, discuss what user stories the team can cover within the Sprint. Assign story points or estimates and split the user stories into smaller chunk of tasks that would last not more than a day. Each subtask must take maximum a day to complete. This is very important so that the team does not get stuck on one particular user story and avoids any delays.
Conduct a retrospective meeting at the end of each Sprint to discuss what went well in the sprint and what could have been done better. Also, the product owner must show a demo of whatever that has been completed during the sprint. Ideally, the deliverable at the end of a sprint is a working deliverable that can be demoed to the client. A sprint deliverable should not be something where a demo cannot be shown. Identify areas to improve so that the team can collaborate better and work on them.
4. Little bit of Micromanagement
No matter how good a team is, to transform into an agile team, it requires a little bit of micromanagement to check if the team members are adhering to the defined project workflow, attending daily meetings, discussing on blockers that impede a member from working on a user story and so on. You, as a project manager or team lead, must check every day if the members are following agile practices. If you think they are not, it’s better to discuss the importance of the meetings with the entire team and have another agile education session with a game or a real world application such as a carpooling that’s similar to agile.
5. Self-managing team
What do you need as a team to be successful in Agile? A self-organizing team that is committed and skillful. You don’t want team members who are not committed to completing their tasks and do not show up in the Agile meetings such as standup, sprint planning or the retrospective. An agile team must contain skilled individuals and an important part is that they must self-organize themselves to complete their tasks, attend meetings and also document wherever necessary. You must coach your team to organize themselves, if they are not already, and make sure to follow up with them at each step so that the team members transform into a self-organizing unit. This might take some time as there is fair bit of process and culture change for the members to adapt.
After following the above steps, you will see a significant difference in your development team and your project delivery will improve leaps and bounds.