This May, I had to make one of the most difficult decisions of my life. I had to close our offshore development center in Bangladesh. We built this development center from ground up over last 4 years. This team became an extended family. The team was young and full of energy. They believed in the vision of building a world class software development center. They gave 120% day in and day out to earn the praise of our clients. For most of them this was their first job. To see the dream come to an end was heart-breaking for them. But the reality was that this had to be done. This is why.
A little bit on the background. We started our business to provide software development services to small business using Agile /Scrum delivery model. Along the way, we ended up building ScrumPad, a Web-based project management tool, to help us manage our service delivery. Encouraged by initial feedback from some of our early adopters, last year we decided to make a transition from the service to product. So, we gradually started to move the whole team over to work on just ScrumPad. Around the same time, I met Eric Ries, Sean Ellis, and Dave McClure on the "Geeks on a Plane" trip to Europe (if you haven't been on this trip, I highly recommend it. You need to apply for it). I am glad that I did. I came to know about "Lean Startup." And I decided to start applying the principles.
It is easier said than done. Transitioning a running engine takes more effort than starting from scratch. It took us a good 3 months just to figure out where we were and where to start (or so we thought). We gradually slowed down new feature development, and started to focus on validating the existing features. However, we started to realize that it takes longer to validate a feature (even qualitative feedback) than to build a feature. So, we still continued to produce more (hence waste) than we were able to validate.
We finally realized that the only way we could tackle this issue is to put a hard break on the development. This meant the closing of the offshore development. It took us another 3 months to actually announce the decision and 2 months to implement. Here is what we learned:
Match product development cycle with customer feedback cycle.
For most companies, customer feedback cycle is the slower (a lot, at least in our case) of the two. An out-sized product team will always end up producing crap and hence slow down overall progress. This is especially true for companies making a transition to "Lean Startup" model. We had a large team (for an early stage startup) with mostly product development experience with no customer development experience. As a result, no matter how slow we went, we were still producing more than we were able to validate. In fact, we found out it is better to have product development run a bit behind than necessary. We don't want to produce everything that we think what our customer development (I'm using customer and product team more as two different roles that we get to play than as physically two different teams) is telling us to do. This is because test results and customer feedback are imprecise and open for interpretations. Having a less than required development bandwidth is a good way to force us to prioritize our work.
In an essence, a successful transition to "Lean Startup" model requires establishing a rhythm between customer development and product development first.