The 10x rule of software dev.

Vlad Lokshin
4 min readNov 13, 2018

--

Code costs 10x what design costs. Design costs 10x what wireframes/ideas cost.

Illustration by Denis at https://iconka.com/

If you’re building a new app or improving/iterating on an existing one, there are typically 3 stages to navigate from an idea to a live product:

  1. Idea/wireframe
    … chatting about a new idea and sketching its basics.
  2. Design
    … getting the exact look and feel done in something like Sketch or Figma.
  3. Code
    building the damn thing in code.

There are exceptions to these phases (like if you‘re a unicorn developer+designer who can skip steps or if you use a UI kit), but these are the basic phases for custom software development.

The temptation to start building ASAP is understandable: you want to launch — but costs are a constraint every team member should be honest with themselves and others about. It doesn’t matter if you’re outsourcing or building in-house: time is money.

Costs typically 10x as you move through each phase.

Example:
Let’s pretend we’re working on a team building an app that makes it easy to dog-sit cute pups nearby… we’ve got a basic app out in the market and we want to add a new feature: “let’s have a way for users to message each other”.

  1. Idea: A conversation happens over Slack and a meeting gets set up. We sketch the basic idea on a whiteboard with the team.
    Total time: 1 hour
  2. Design: The team’s designer takes the lead. She spends a half day getting the basic look and feel together and sends it around for feedback. Some people like it, some have strong opinions. She iterates on it over the next day or two and finally gets it to “good enough”.
    Total time: 10 hours
  3. Code: A developer needs to take every visual element that was designed and translate it to code. This can be tedious. The developer must also figure out a way to store messages and get them sent back and forth between users. What about offline support? Should users know that the other person is typing? Should editing messages be an option? Should we use a service to support the chat backend or build our own?
    Total time: 100+ hours, easily.

These examples repeat over and over. Ask just about anyone who’s spent time building custom software.

Now that I’ve got everyone nice and terrified at the costs of ever building software again, here’s what you can do with this information to get your team more efficient:

Everyone:
- Spend more time in the idea phases. Spend more time designing. Don’t be afraid to throw ideas and designs away. Say “no” more than you say “yes” to new features.
- minimize the time to “I get it”. Whether you’re handing off a wireframe or a development ready design, really think about how someone will receive it. The quicker they can say “I get it”, the better you’ve contributed to making the process efficient.

Business person or PM:
- Think like an engineer. The more “stuff” you add, the more complicated things will get. The more complicated things get, the more they cost to create and maintain. Ask your team members to help you understand more.
- Be protective of your team’s time. Remember the 10x rule and use that to gauge how “worth it” an idea will be as other teammates pick it up.

Designers:
- Push back on ideas that force you to design totally new stuff. If you’re designing totally new elements, someone will likely have to code totally new elements.
- Don’t get married to your designs. Just because it’s awesome looking and took you time doesn’t mean you have to take it personally if it never gets built. Remember it’ll take a developer 10x the time it took you. How much worse is it for your team if the feature gets dropped after dev instead of before?

Developers:
- Build trust. Designers and product/business team members are used to hearing “this is going to take longer than you think”. Build trust by helping team members understand what is or isn’t complex.
- Push back. If it’s complicated: speak up. That may mean it’s still necessary, but you are closest to the code and you may not have enough info for a perfect estimate, but you need to let your team know what takes a week and what takes a month.

Next time a new feature idea comes up on your team, remember the 10x rule. And if you need someone to blame, feel free to link them to this post.

I’m one of the cofounders at turtle.dev and passionate about teams building high quality software most efficiently.

--

--

Vlad Lokshin

Co-founder and CEO @ TurtleOS.com. Always happy to help other founders/immigrants. Believer in fractional work.