Planning to develop custom software is like planning your perfect home.

As I look back on almost fifteen years of helping business leaders develop custom software, I can see how much my thinking has evolved. I used to avoid the “building software is like building a house” analogy because there are places where it breaks down.

Today, Mindbox has evolved our approach to resemble the roles of general contractors and architects in construction. It’s helped us help our clients succeed, both as software startups and corporate implementors. As new home builders, it’s easy for new software owners to make expensive mistakes. Spending that much money and having to rebuild major parts of your investment within a couple of years can put a lot of stress on a young company.

Building a Dream

Let’s pretend that you’ve decided to build your dream home. You want to do your homework, so you google “how to build your dream home” and find this 7 step guide. The steps:

  1. Set goals.
  2. Establish a budget.
  3. Find some land.
  4. Assemble a team.
  5. Plan, plan, and plan some more.
  6. Accept the inevitable.
  7. Enjoy your new home.

You’re Ready to Start

First, you make a list of all of your must-haves for your dream house. Then, you plan your funding. As you assess the budget and ideal location, you start to explore who would be the best suited to lead your project.

Let’s face it. There’s zero chance you’re going to go out right now and find a construction team, show them your vision board, and give them the green light to break ground. If you could even find a construction team that would agree to that, they’re either going to reuse someone else’s dream house plan with a few tweaks or they’re likely to start building the foundation without a solid plan for the utilities.

Assuming there are no prefab homes on the market that will meet your dream home requirements, you’re going to want to find an architect early. They’ll guide the creative process, design concepts, and blueprints you’ll need to get estimates on the full build.

Meanwhile, you’re searching for the best general contractor for the project. You’ve heard stories about home building disasters and you know you want to find someone with experience to make sure it comes in on-time and on-budget. Plus, you don’t want to be caught up in communication between the architect, builders, and other subcontractors. I mean, are you really experienced enough to avoid big, expensive mistakes as you work through each phase?

The Project Construction Cycle – The Tree Swing Analogy
Source: Project Cartoon

Assuming that your budget is finite, you’ll want your general contractor and/or builder to review the plans with your architect and make sure they agree with your budget and timeline. You want your designer and developer aligned on your priorities before they break ground.

The Blueprint

If you were building your dream home, you’d design it first. Your architect would have expertise in designing a home that can be built within your budget. Sure, you’ll make some discoveries along the way and the plan will change, but you have a reference point for all of your teams: the latest designs.

Home construction team meeting to review designs

The most common mistake new software owners make is assuming that they can get an estimate without a plan. The second is hiring the developer first. Since there isn’t a universal model at this point, a software blueprint is harder to conceptualize, so it’s often overlooked.

Without the equivalent of a blueprint, developers often create a rough outline of the work to be completed and back-fill the requirements as they work. This fogs and distorts their vision of your end goal.

Why should it be any different with software?

Software’s General Contractor

When it comes to software, the general contractor is most similar to the product lead role. This may be referred to as a product manager or product owner, depending on the use case and organizational preference.

If you haven’t considered this role as an essential part of your dream software initiative yet, consider the following:

For Your Dream HomeFor Your Dream Software
Who will create the construction specifications, engineering requirements, and oversee the blueprint design to make sure the plan is feasible?Who will define the scope of work — user stories, wireframes, and so on — for the developers?
What happens when changes to the plan and new discoveries are made along the way?What’s the workflow for getting your approval on changes?
Who will design the driveway, entryway, interior, and landscaping?Who will design the user interface aesthetics, user experience, and accessibility requirements?

Will their work match your style?Have you seen samples of their work?
Who will select the construction materials, like the siding, windows, and roofing?Who will decide on the development frameworks and hosting strategy?
Will construction work be properly permitted and completed to code?Will they choose the right technical solution for your long-term goals, so that you aren’t reliant on the original developers as you grow?
What are the phases of development and what can you expect at the end of each phase?Assuming development will happen in phases, how often will you be able to test new work?
When are inspections and who will make sure they happen at the right time?How often can you review work and provide feedback, to ensure that progress is on track?
Who will be the one to respond to all of the various roles when something does not go as planned?Who will be managing the expectations for timeline and project costs as new discoveries and decisions come up along the way?
Will they be able to make sure the project is completed without breaking the bank?Will they ensure that you have a complete and functional product at the end of the project budget?

Preparing For the Inevitable

Remember number six on the home dreamer’s list? Accept the inevitable. Whether you’re talking about software or building a house, it’s important to plan for contingency. The best-laid plans go awry, so make sure you have a little bit set aside for that moment.

For Your Dream HomeFor Your Dream Software
The new concrete floor your team just poured is cracking as it dries. The team thinks the material is faulty and needs to be replaced, which means the drywall installation needs to be pushed back and the plumber rescheduled.
Half-way through development your team says that a new version of the core development framework has just been released. It includes major improvements to security. Upgrading now will include unanticipated short-term costs, but will reduce long-term cost and risk.
Who is going to contact the concrete manufacturer to see if you will need fix or replace it?Should they make the change or stick with what they are using now?
Who will coordinate with the rest of the team to make sure they are aware of the timeline changes and figure out the expected cost of this issue?Who will coordinate with the team to estimate the expected cost of the change and weight the risk involved in staying the course?

A good general contractor or product manager will have contingency plans in mind as they set expectations with you about cost and timeline. A good developer will, too. Everyone on your team needs to be ready for this reality.

Ready to Move In!

Your dream home is move-in ready. You’re “going live”.

Hopefully, you were able to stay pretty close to your original budget without too many surprises. Now that the biggest expense is behind you, it’s time to plan for the future.

As you look at your budget going forward, don’t forget to plan for:

For Your Dream HomeFor Your Dream Software
moving costsmigration, onboarding
property taxeshosting
maintenance, repairssecurity upgrades, bug fixes
future remodels to keep the place up-to-dateredesigns, new features, removing or optimizing old features

Someday, you might even decide to add a little studio in the back so that you can enjoy the property from another angle (or develop a mobile app).


Thinking about breaking ground on a software project? Get in touch. We’ll provide a free consultation for your design and development plan.

About the author

enjoys working with entrepreneurs and innovators to solve problems using technology. She heads up Ascend from beautiful Eugene, Oregon.