James Donelan is the VP of engineering at MuleSoft, provider of the world's most widely used integration platform, where he leads the engine James Donelan is the VP of engineering at MuleSoft, provider of the world's most widely used integration platform, where he leads the engineering team that is productizing integration – making it as easy to connect systems and companies as it is to connect with friends on Facebook. James is passionate about delivering quality working software, using agile approaches.
Editor’s Note: The following is a guest post by James Donelan, the VP of engineering at MuleSoft, provider of the world’s most widely used integration platform.
There is a lot of talk about the lean startup and whether it works or not. Some proclaim it is critical to the success of any startup and that it is even the DNA of any modern startup. Others claim that it’s unproven, unscientific and gets your product to market in a haphazard way that is ungrounded in quality.
But the lean startup model, when you boil it down, simply says that when you launch any new business or product you do so based on validated learning, experimentation and frequent releases which allow you to measure and gain valuable customer feedback. In other words – build fast, release often, measure, learn and repeat.
Real world example: WebVan vs Zappos
WebVan went bankrupt in 2001 after burning through $1 billion on warehouses, inventory systems and fleet delivery trucks. Why? They didn’t validate their business model before investing so much in it and under-estimated the “last mile” problem.
Contrast this to Zappos. Zappos could have gone off and built distribution centers, a large database of footwear, and inventory systems for shipping shoes. But instead, Zappos founder Nick Swinmurn first wanted to test the hypothesis that customers were ready and willing to buy shoes online.
Swinmurn approached local shoe stores, took pictures of their inventory, posted the pictures online, bought the shoes from the stores at full price and sold them directly to customers when purchased through his website. Swinmurn deduced that customer demand was present, and Zappos would eventually grow into a billion dollar business based on the model of selling shoes online.
Guess who took the lean startup approach?
Lean startup principles
Lean Startup methodology is based on a few key simple principles and techniques:
Create a minimum viable product (MVP) which is feature-rich enough to allow you to market test it and launch with enough features to allow you to collect the maximum amount of data.
- Use a continuous delivery model to release new features quickly with the least amount of friction.
- A/B test different versions of the same feature on different user segments to identify which is more valuable.
- Act on metrics – if you can’t measure it you can’t act on it to ensure that you are always improving the product.
Lean startup engineering
Lean startup engineering seems to work for consumer products. Facebook does it – they push new code to their platform at least twice a day and this includes changes to their API, which has over 40,000 developers using it for building apps.
But what if I’m building an enterprise product or platform? Can I move at the same fast pace? Absolutely.
There are lots of product companies out there who have applied the lean startup model successfully including Dropbox, IMVU and Etsy. The engineering philosophy behind it makes total sense – move fast, build quickly, automate testing, validate your decisions through data, leverage open source when you can, build MVPs and get as close to continuous deployment as you can. Not only does it make sense, it’s also a fun and enjoyable way for engineers and product teams to work together.
Can it work for an enterprise software company?
As an enterprise software company, you can still run like a startup and release new features at a rapid pace. Here are a few pointers:
- Have your developers use agile development – they will love you for it. Iterate quickly and make builds available every night for other teams to try out and provide rapid feedback on.
- Beta test new features with early adopters including your community and customers to gain valuable feedback before getting too far into development.
- When you launch a new product release an MVP and expand additional capabilities later, without bloating it with unnecessary features.
- Release new versions of your product often – monthly, weekly, and if you run in the cloud you can move at an even faster pace like every day.
- Consider open-sourcing certain aspects of your platform. Just dealing with forks and pull requests with new features from developers in the community will force you to build a very lean and nimble engineering team. Plus it’s good karma.
Lean into lean engineering, it’s going to be a win-win for you and your customers.
Image credits: The Lean Startup, Getty Images, Mullen, Thinkstock
Get the TNW newsletter
Get the most important tech news in your inbox each week.