It’s About Execution – Nail It, Then Scale It
I teach a course on entrepreneurship at Stanford, and one of the things I drill into my students' heads is "Ideas are cheap; execution is hard".
It's a mantra based on lessons I've learned (the hard way) in my own career.
I've been thinking about this recently with the news of Facebook (zillion-dollar IPO), Instagram (acquired for $1 billion), and Pinterest (seemingly on a rocketship toward fame and fortune). None of these companies had the idea first – all of them are a success because they totally nailed the execution side.
At Tivix we have a chance to see this first-hand, because we get brought into a project for the execution phase. The idea part is usually done before it gets to us – our job is just to build it. But we begin production knowing that execution is what is going to make or break the idea.
Some quick background on philosophy: Steve Blank really began the current Silicon Valley methodology of bringing agile product development with a strict adherence to the philosophy of "customer development", in his book The Four Steps to Epiphany. Others have built upon Steve's seminal work, including Eric Ries with his very popular book, The Lean Startup. And Brant Cooper and Patrick Vlaskovits recently nicely synthesized it all together in their book The Entrepreneur's Guide to Customer Development. The term "Nail it, then scale it" is also the name of a very good book on the topic.
Distilled all the way down, the philosophy is simple: launch a Minimum Viable Product, and then iterate on it quickly and effectively based on real-world input from customers. Test every assumption. Nail it, then scale it.
We approach every project at Tivix with the idea that it's our job to support this philosophy. With this in mind, here are some of the things we think are really important:
– Use a standards-based technology stack. For the most part, it's not about using proprietary technology today; it's about agility. Standards-based technology delivers agility because there's so much existing code you can bootstap on top of, and because your engineering teams (both now and in the future) can ramp-up on it quickly.
– Separate the underlying components. For simple websites, this might just mean use a CMS so that content is managed separately from the presentation layer. But for more complex software applications this means using M-V-C frameworks that separate the business logic, the user interface, and the user input. Mixing these things in the code leads to something which is ridiculously difficult to to maintain. Keeping them separate makes an enormous difference in being able to make on-the-fly changes to an application after it has been launched.
– Make ongoing administration easy. With all of our projects, we deliver to our clients an easy-to-use administration console allowing most aspects of the application to be managed by non-technical personnel. Requiring engineers in the organization to make every product change is the antithesis of agility.
– Build in measurement tools. Key to today's methodology is the build-measure-learn feedback loop. Measurement tools need to be built into any platform so that you can make instant, informed decisions on how to improve the product for users.
These are some of the things we keep in mind, as we do software engineering which is optimized for a company's ability to execute. The core technology framework which Tivix uses is Python / Django, the same as Instagram and Pinterest are built on. We can't guarantee the kind of success they've had, but we think there are some great lessons to be learned from the way in which these companies did an extraordinary job at developing a scalable platform built for agility and execution.