Webstock 2008: Primal Software Development

by February 15, 2008

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