"Our dream is to provide an incredible web experience while giving you the freedom to control your data."
The Cozy Team

Light Agile Development

Agile gymnast

Recently I read a blog post from Pascal Finett explaining how the best agile process could be a killer if it was applied too rigorously, specially to small organizations like startups. This was, during my vacation. a good time to step back and reflect on how we are organized at Cozy Cloud. Moreover, in april I gave a talk @LyonJS about this subject and it was a pretty success (see statistics on SlideShare) . For these reasons, I would like to share with you how we do things @ Cozy. It is greatly inspired by agile methods but to be frank, we don’t really stick to the SCRUM rules: we are organized in a Light Agile fashion.

Context

Let’s start by a bit of context. The Cozy project is sill young and started last year. We got an intern team during two months, then we spent 6 months as a team of 3. In Februray the team got bigger and grew up to 8 persons. We haven’t raised significant funds so the team works on quite small salaries. And last but not least, we all work remotely. So as you undertsand, we face three common problems for startups:

  • Finding motivators for everyone
  • Having efficient communications channels
  • Shipping something regularly

Of course there are plenty of others issues more related to business, but in this article I would like to focus on the work organization.

Our light agile organization

Prior to Cozy we read books and blogs about agile principles that we could split in two schools: the traditional and the modern. It gave us a lot of insights on how to do it well. The first one looked really dogmatic while the second one felt more pragmatic. Anyway, we didn’t apply blindly what they said. We extracted the essential parts and used it wisely. To some extent, a loose organization has some benefits for a small team :

  • no one gets on your way when you do something
  • taking decisions alone make you faster
  • you can be very reactive

Of course there are several drawbacks if there is too little organization: no consensus, no clear direction, no one knows the whole picture…. these are likely to make you fail. The purpose of light Agile, as we see it, is to keep the flexibility while getting rid of the major drawbacks : in other words, finding the balance between pure mess and pure agile development. Before going further, let’s see how we opperate :

  • daily skype meetings at 2pm
  • weekly iterations that ends every week to a google hangout demo session
  • every two weeks : one day of physical meeting (for those who can come)
  • continuous deployment
  • all our code is on Github, we interact via pull request (libre and open source product)
  • everyone can work on any project but has specific responsibilities on given projects
  • we use Trello kanbans as a collaborative to-do list

Trello board

Benefits

This organization is aligned with the agile spirit. Because we don’t have product owners and don’t make estimations it is not really agile but it give us the opportunity to keep working with autonomy and creativity. The periodic meetings could look too numerous but they are mandatory to share the vision anh keep direct human interactions (we are not robots!). At last the fact that our master branch is always up to date and that we make demo often pushes us to ship regularly. The last problem was to find motivators. But let’s think a minute about what implies this organization:

  • everyone is in control of what he/she is responsible for
  • everyon can show his/her progress and is still up to date on how the whole picture evolves
  • Everyone feels that he/she has an essential role to play
  • Everyone can add his production to his portfolio

Final thoughts

Until now that worked pretty well for us. But being truly agile means being agile with the organization too. We regularly look for improvements. For instance, this summer we did “focus sprints”. Before that we were all working separately on the modules we were reponsible for. As we needed to make big improvements on two of our applications, we added more agile rules in our process : we shared the same backlog and we introduced rough estimation. These sprints helped us strengthen the team sprit. Today for practical reasons, we are back to our previous organization.

To conclude, I would say that light agile provided us another benefit : our team is flexible enough to use the right organization at the right time.

NB: we would be glad to know how you do with agile as a small startup, let’s share with us the way you do!

Picture credits: Chronic Crippler on Flickr

comments powered by Disqus