Kiva Engineering: Innovation Iteration
February 10, 2011By: Cailin Nelson
At Kiva, we tend to attract and hire engineers with a strong creative, entrepreneurial streak. This aligns well with Kiva’s office culture - and with our overall mission - an innovative, technology-driven approach to alleviating poverty. However, as the team grows and we become more specialized in an effort to become more efficient, sometimes our day to day work doesn’t always give us an outlet for our creative sides. After a long project involving concepts like currency exchange loss, it’s easy to feel like you spend your entire working life chasing a few misbehaving pennies around the globe, and that your particular slice of the Kiva pie has become a little divorced from the glorious big picture. In June 2010, many of us were finishing up some pretty tough projects, and as a team, we were in a bit of a funk. We talked as a team about what we could do to restore our energy and excitement. Our solution was an idea called “Innovation Iteration”. Innovation Iteration was inspired Google’s 20 Percent Time - and we do indeed spend 20% of our time in Innovation Iterations. However, there are two important differences to the Kiva approach:
- We all take our innovation time at the same time.
- Our innovation time is an entire, two-week iteration - not an “every Friday afternoon” approach.
Essentially, an Innovation Iteration is just like any other iteration at Kiva - except that the engineers get to pick their project’s themselves. Also, we’ve developed a fun and effective way to help us choose the best project to spend our time on. This part of Innovation Iteration is loosely based on third-hand rumors we’ve heard about the prioritization process used at Pandora. It’s a two part process and it goes like this: Innovation Planning Phase 1
- We all get together in a big room with lots of markers and lots of paper
- We write our ideas for the iteration down - one idea per piece of paper
- We assign each idea a cost, in points
- The pieces of paper are taped to the wall.
- Each engineer very briefly describes their ideas.
- Then, we break for lunch.
Innovation Planning Phase 2
- Each engineer is allocated 4 points with which they may “fund” any project on the wall.
- The points are colored stickies,and you “fund” a project by putting your sticky on the paper.
- The engineer commits to work on the project(s) that they fund.
- No project may be partially funded. (E.g. a project valued at 8 points but with 4 stickies cannot be worked on.)
This last bullet point is what makes the process fun. When the stickies go up on the wall, we usually start out with a bunch of partially funded projects. That kicks off a round of negotiation and cajoling and bribery, that ends with a suite of fully funded projects.
Once the projects have been selected, we create tickets representing the work to be done in Redmine (our ticket tracking system), and then we get coding! After the coding and QA cycle, Innovation Iteration concludes with a session called “Demo Friday”. Demo Friday is a festive gathering with beer and snacks, during which each engineer briefly demonstrates what they have been working on in the past iteration. Each demo is between 1 and 5 minutes, and run the gamut from showing off actual code to dazzling displays of javascript wizardry. Demo Friday is a part of all iterations at Kiva, but the Innovation Demo Friday’s are particularly fun and impressive, as there is a notable increase in throughput during Innovation Iteration. Innovation Demo Friday’s are also the time at which we make the final go/no-go decision on a particular feature. We recently completed our third Innovation Iteration, and this seemed like a good time to reflect a little on how it’s been going. I asked the team for their thoughts - here’s a sampling:
How does Kiva benefit from Innovation Iteration?It's keeps us nimble. A risk we face as Kiva grows is becoming too conservative to tackle tough problems. This is a chance to prove to ourselves we can still use creative, timely solutions to solve big issues. -- Jonathan Innovation iteration is our vehicle for delivering grass-roots features whereas the other iterations are used for delivering features developed from an organizational top-down approach. A balance is necessary, one cannot exist without the other. -- Sid
How do you benefit from Innovation Iteration? It's a refreshing change from the norm. Especially for those of us who plug away at large-scale projects over many weeks / months, it's nice to do something totally different for a change. You often end up working with someone you don't normally work with, which is great for sharing your expertise and just getting to know your co-workers better. +1 knowledge sharing and +1 morale. Not only do I benefit personally from learning what others know, but it helps me build better and more relevant stuff for my teammates. -- Tim What risks do you think Innovation Iteration poses? There's always a chance we bite off more than we can chew. This could mean we fail to even complete a project on time. Or, even worse, that the ongoing maintenance is more than we anticipated and drags the whole org into a mess that one engineer made. -- Jonathan Code that is not released but in the source tree can become stale and eventually bloat. -- Chris What’s your favorite part of Innovation Iteration? Getting together for the two planning meetings -- hearing everyone's wild and varied ideas, negotiating for what we fund. I haven't yet chosen to work on one of my own ideas -- I've always been more excited by other people's ideas. -- Tim
Our next Innovation Iteration is just around the corner in March. What do you think we should build next?
PREVIOUS ARTICLE
Island life – is it really as glamorous as it sounds? →NEXT ARTICLE
Protests and Promise in Jordan →