This morning we had the pleasure to present at the Lean Startup Stage at SXSW. We presented our case study on lessons learned in Agile, continuous deployment and creating high performing teams.
Wouldn't you love to build and deploy your software at impressive speed?
We've just heard Eric speaking about maximizing the time through the build-measure-loop and I'm going to share how we build things really really quickly at Wealthfront?
What does it mean to build fast? Most web companies work on a 2-4 week cycle already.
At Wealthfront, we ship to production more than 30 times a day! The chart on display represents a typical few weeks.
You might brush this off saying it can't be done for a "real" business. After all, what do people care if some random web entertainment company goes down.
We're in finance. We manage people's money. We provide top of the line financial products to retail customers.
Today, we manage close to $180M and process daily over two million dollars.
We also evolve in a highly regulated environment. Wealthfront is regulated by the SEC, by FINRA as a broker dealer and is a member of SIPC. Trust me, those Washington bureaucrats don't get "moving fast".
Moreover, our system isn't all that simple either. Here's a highly simplified chart of all the services powering Wealthfront and you can appreciate the complexity.
We've identified five essential things to build fast on the web.
You need to hire right, and nurture an environment where people are going to be empowered to own quality. Management's role should be to provide context so everybody can make the best decisions. Read our post on why culture is key.
2. Test Driven Development
If you want to do away with QA folks, you're going to need techniques which make this possible. Eliminating the "throw the code over the wall" mentality is going to be strategic.
3. Continuous Integration
What's the point in having airbags if you turn them off? You need to be running your tests 24x7 to get the benefit of all your hard work. Something we're really keen on is having one and only one indicator of code correctness: it's green or it's red. Simple.
4. Immune System
In a nutshell, think of it as visibility into your production environment via constant monitoring. Are your assumptions correct? Is the business healthy? And don't forget, noisy monitoring is just like dirty code. Manage this technical debt actively. Doing short term tradeoffs is sane and expected but don't get past the point of no return.
5. Continuous Deployment
Now you're good to go. Package your software in a standard way, deploy it following clear process, automate it, add a UI.
These five essential pieces all build on each other. And it's now time to talk about this on the panel!
Update: Hear the audio from SXSW.