When I was hired more than a year ago, one of the reasons was because of my knowledge of Agile management and being able to apply it on a large scale. As of today, we’ve come a long way and I felt it was time for me to share what in Agile we’ve adopted, what worked and what didn’t work.
There are a number of different methodologies in Agile like Extreme Programming and Scrum. The one we decided to adopt at CakeMail is Scrum. One thing we’ve done pretty well at CakeMail has been then adoption of Agile as the whole company was behind it. This is very important and also one of the main reasons why Agile will fail in a lot of cases. It’s very important that everyone, including the developers, the project manager and the stakeholders understand what Agile is.
Talking about roles, there are four key roles in Agile:
The ones who build the software. They are the ones who commit and execute the work.
The owner of the vision. He is the one responsible for defining and providing a clear vision to the team members.
The project manager. In Agile, the project manager is more a facilitator. As the team commits to the work and decide what gets done, the role of the scrum master is to make sure there is nothing blocking the team for achieving their goals.
The customer. They are the ones who will ultimately sign off on the project and approve budget.
At CakeMail, the developers are the team members. The company’s management team are the stakeholders. I play a hybrid role between product owner and scrum master. Although it’s not ideal to mix the two, we had to make this work mainly because of resource constraints.
Now that we’ve discussed how the roles work, the next big component of Agile is the Sprint. A sprint is basically an iteration at the end of which you need to have working software you can show to the stakeholders. At CakeMail, we have 2 weeks sprints. This is enough time to build some of the more complex features but short enough that we can learn rapidly from our mistakes. One of the things that has worked really well for us as been to define an overall goal for each sprint, like Billing or Social Media. Therefore, most of the work accomplished during the sprint is linked to that overall goal.
Some of the things we will have to improve on during the next few months include having a daily scrum meeting, doing proper sprint planning, and also doing formal sprint reviews. This hasn’t been a big issue so far for us as we are a fairly small team and mainly because we communicate very easily inside the company.
The last thing that is very important to us was the choice of the software to manage our sprint. We have been using Pivotal Tracker for the last year as it’s a very lightweight management software. It has been great so far, but we’re now looking into switching to Planbox as it offers some of the more advanced functionality our team is currently looking for.
To wrap this up, Agile as been very helpful at CakeMail because it drastically increased the performance of the development team. The one thing that is very important is that Agile is a process where you learn from your mistakes including the ones from the process itself. Learn what is working for your team and adapt to make your team more efficient.
Written by Vincent Lamanna, CakeMail’s Director of Products.