Continuous Delivery and Lean Startup Principles: Can They Work for You?
Lean startup principles aren’t just for startups, and can in fact help enterprise software companies move faster and be more competitive, says James Donelan, writing for TheNextWeb. And incorporating lean startup practices in a business that depends on software depends on practicing continuous delivery. Lean startup methods were born in environments where ideas had to be quickly tested on customers, with little money to fund these experiments. Donelan contrasts two approaches to testing a new idea on customers: Webvan, which invested $1 billion on warehouses, fleets of trucks and web infrastructure; and Zappos, which started with the most lightweight e-commerce site possible, and no inventory. Both companies were started in 1999. Webvan went bankrupt in mid-2001, losing the $1 billion investors had plowed in; Zappos was bought by Amazon in 2009 for about $1.2 billion — a terrific return for investors, who put in $60 million. What did Zappos do differently? It built a minimum viable product, and started acquiring customers right away, proving that its concept — selling shoes at full retail, with emphasis on great customer service — would work. By contrast, Webvan made huge investments before testing the market with a real service that customers could try out. The lean startup model calls for quick release cycles and constant testing against customers. Continuous delivery, with its short release cycles, matches and enables this model, allowing you to iterate rapidly as you identify market opportunities. And the speed gives you an advantage over slower-moving competitors. You can’t move quickly and release frequently, though, if the IT operations team is perpetually hand-crafting systems and manually tweaking configurations. The promise of continuous delivery depends on automation throughout the process, which in turn depends on your IT team’s ability to understand the software development process, and your developers’ ability to understand the needs of IT operations. The lean startup builds on DevOps practices and collaboration so it can take advantage of the quick delivery cycles those practices enable. Enterprises that want to compete effectively can apply lean startup principles, too, says Donelan, and aim for the goal of continuous delivery. Shipping minimally viable features faster; embracing automated testing and a continuous integration system; implementing practices like automated nightly builds — all of these, enabled by close collaboration between development and IT operations, can get even a larger enterprise moving with the agility of a startup. One of Donelan's most interesting suggestions is for enterprises to open-source portions of their code. Opening the code base to developers provides an opportunity to engage with — and learn from — smart people with diverse ideas about what your technology can do. Dealing with pull requests from the developer community will sharpen your team’s continuous integration and delivery skills, too.
- What's continuous delivery? Puppet Labs methodologies lead Eric Shamow explains, and shares three content-rich slideshows for a deeper dive.
- PayPal achieved faster and more frequent delivery with OpenStack and Puppet configuration management software.
- The tools you need to enable continuous delivery.
- Configuration management is a critical piece of the automation you need to move toward continuous delivery.