Michael Lopp’s Primal software development talk at Webstock 2008 outlined the components of bringing a version one product to life along with observations and advice for each.
- Building a 1.0 product is incredibly hard. Ten times harder than building version two. You can build lots of software but you are only going to build a culture once.
- You can never make more time. You can always add more money or resources, but vigilantly protect time.
- You are in an incredible hurry. What’s unique about your idea is not the idea itself. What makes it unique is that you get it done.
- When working on a new product idea, the first thing is to get started. You don’t need a business plan first. You need to start building software.
People
- Hire in the opposite: find someone who does what you don’t. Your first hire needs to fill in your blind spots.
- When you are small everyone needs to be able to do everything. So you have to hire complete people that can have a conversation about any aspect of the business.
- In small teams, everybody gets a say.
- Hire a free electron: the most productive engineer you will ever meet, strong opinions, and odd results.
- Hire a historian: has deep organizational knowledge and injects reality. Explains why things might not work and helps course correct.
- Hire a Russian Literature Major: interfaces well with technology. Glues the team together.
- In a start-up, no one is indispensible. Let people go if they are not working out –you are in a hurry.
Proces
- Distribute decision-making ability. Give people skin in the game.
- Communication –need to create environment where communication keeps going. Specs are stale information.
- Code is the best documentation: it describes exactly what is going on and has to be written.
- Code drives other interesting tools. Version control is the secret weapon of engineering. Check-in everything you write down. Should absolutely be the first tool. Version control can be used to gauge the status of a product
- Bug tracking: live and die by metric tracking of bugs. Can’t hide anything when bugs are logged.
- Collaboration tools can be group specific: wikis, weblogs, mailing lists, etc.
Product
- You don’t have a business until you have a product out in the market.
- First impressions matter a lot.
- When you are about to release a product, you are likely insane. You have started at your product too long. You need to get it out to people to get real feedback.
- Culture matters a lot –differentiates a product
- Successful products are ones where the culture spills out them