If you're in a startup, then you know that statistically, the odds are heavily against you. Pretty much the only inherent characteristic of a startup that can be counted upon to help, is that of its small size. If the company can be nimble and agile, then it can hope to gain some traction against its larger rivals. In such an environment, using an Agile methodology is a given. Without some form of a hyper-iterative software process, it is impossible for a startup to create a successful product. Or even to determine what that product is! In today's climate, exacerbated as it is due to competition, lower capital requirements for software companies, the compression of Internet time, and the recessionary economic conditions, it is no longer enough to just use an Agile method. To stay competitive, indeed to just survive, something more is required. Lean Thinking provides just such an advantage. A startup needs to ground its philosophy in Lean Thinking, Theory of Constraints, Critical Chain, Queueing Theory, Systems Thinking, and the like. It will obviously gain from the long-term focus, throughput-based accounting, and value-based constructs that these provide.
Amit Rathore has been using agile methods since 2001 - and has more recently been a thought-leader in the lean software development community. He spent nearly seven years at ThoughtWorks working on a variety of projects in several domains - at large and small organizations. He's played several roles during this time - developer, architect, and project manager. Amit has been writing about his experiences at epistemologic.com and at sexpressions.com. In the middle of 2008, he became part of the founding team of a startup based in Mountain View, CA. He's leading the software development effort in this organization - and he's been using lean techniques in order to maximize what is doable, given the limited resources at the fledgling startup.