cheap christian louboutin , christian louboutin sale, Cheap Michael Kors, Michael Kors Australia, cheap ralph lauren, ralph lauren uk outlet, mk outlet, Michael Kors outlet, Michael Kors Australia, cheap north face, cheap north face jacket, cheap moncler, moncler uk outlet, cheap moncler, moncler uk outlet, cheap moncler jackets, cheap ralph lauren, ralph lauren Australia, ralph lauren sale';
Building Your App Is Like Building A House |

Your online home for the latest app news

Building Your App Is Like Building A House


By  - June 12, 2015
Tags: ,

building-your-houseI have found this analogy very helpful throughout my years of consulting in software development. There is a tendency to underestimate how much work is required to develop a quality piece of software. Clients see the forms on the page, and the bits that print out, and the cool little graphs, and they decide “well this can’t be too hard to do! I’ll have one too!”

 

This is a dangerous place  to begin the software development lifecycle.

 

SoftwareDevelopmentLifeCycle

One of the first conversations I try to have with my customers is to explain  that building apps is a process, and one that has been refined over many years and is based on the fundamental principles of engineering that date back thousands of years. I try to break it down for people like this: imagine you were building a house.

 

Most of us have driven down a street and seen a beautifully constructed homestead: the kind of place where you can imagine yourself sitting on that patio having a BBQ with your  best friends, and when they eventually head home, you can take a stroll through your garden, have a seat on your romantic swing with your partner, before retiring upstairs and drawing the curtains on your floor-to-ceiling windows that open out to your balcony…

 

So I ask the question, how much did that house cost to build? How long did it take?

 

Take a peek above the six-foot hedges and ceramic lions for a minute, and consider: Before anything happened, the person who built the house needed to know how many bedrooms they needed, how many other rooms they needed, the number of bathrooms, the size of the garage, and how much outdoor space. Pretty easy, you say? You could do that for the house of your dreams, so couldn’t you do it for your perfect app too? Sure. But if you walked up to a builder tomorrow and told them you want a three-bedroom, two-bathroom house with a double garage and a balcony, you wouldn’t be expecting him to tell you what it would cost or how it would look. You need some more research.

 

For example, what type of land will it be built on? This is an important decision because it will impact the methods your builder uses to attack certain challenges. If you are on a slanted block, chances are certain parts are going to cost a little more, and you may want to rethink your choices before committing to that road.

Similarly with your app, you need to know what devices it will run on. Will it be for iPhone (www.apple.com/iphone), Android (www.google.com/android), Windows Phone (www.microsoft.com/windowsphone) and will it need to integrate with any other software? Your accounting system or your CRM perhaps? These are all important factors and have an impact on technical and functional decisions to do with your app.

 

How do you want your house to look? Are you a cement-rendered person or do you prefer brick? Modern or classic? How much glass on the outside? Do you need a gate? Driveway? All these questions will help your builder decide on other facets of your job.

So, too, with your app: how is it going to look? Is it going to be used by people in more creative industries and therefore needs to be impressive, or is it just for churning out data and therefore the look-and-feel plays second fiddle to the grunt-work. If you are someone who likes the modern look, you may need to employ certain graphical or animation components that are only available in a native app as opposed to a HTML5 app. The design framework of your app will be pivotal to its development. You won’t be able to build it without considering that.

 

Now to the matter of cost. I recently wrote this blog post (blog.apphappening.com/experts-guide-building-great-app) addressing the six key steps to building an app. I mentioned in that article that a very common question I hear is “I have a great app idea – but now what do I do?” Another very common question is “how much will my app cost?”

Let’s continue the building a house analogy a little further:

What kind of fixtures do you want? How about your appliances? Do you want the stainless steel fridge that fits perfectly into the groove of the wall, or will you go with a cheaper fridge that does the job but doesn’t look as sharp? How about lighting – want some down lights for ambience or are you happy with the standard globe fittings?

My point is, the questions keep coming! With your application: how many users do you want to cater for? How much data will they each store? Do you want the amazing animation on the home screen, or are you happy to go with something less fancy but more in-line with your budget?

 

And lastly we need to talk about your team. Your house might be designed by an architect, for example. If there are complexities, say you need to install an automatic door for your garage on a slight hill, you may need an engineer’s approval. You will need plumbing, so a specialist will have to look into that. Someone will need to suggest your internal and external colour palettes, and an electrician will need to connect your home in a 21st century way! Of course you’ll then have the builders, labourers, gyprockers, cementers, each with their own specialty. We respect that all these professions or skill sets are required to build a house – so why do we neglect the same is true for building software? Your app needs an architect – someone to document its overall existence. You will need analysts to make sure what you want to achieve is possible. You will need animators to get those moving parts right. You will need designers to decide on the colours. You will need developers across multiple skill sets – some to do your database, some for your screens, some for your data access layer. There are individuals who can perform all these tasks, but that doesn’t mean they’re not different disciplines. In very large organisations or on substantially complex projects (just like with the construction of a very large piece of infrastructure) there will be one or more of each of these people working to create your app.

 

I’m writing this article to help you understand and appreciate the intricate process that is software development. At the end of the day,  you need a good project manager on your team – someone who gains your trust by demonstrating his skill and knowledge. This is just as true for building a home as it is to building an app.  This is the kind of person who doesn’t ‘cut corners’ on the process, but rather walks you through it – explaining, teaching, helping and indeed learning about you and your needs.

 

Around the world, real-estate is one of the most lucrative forms of investment. It’s good to know that you don’t need to be a builder yourself to own a dream home. Similarly, you don’t any technical skill to make a successful investment in app development.

Here are some other articles yo may find useful:
How To Protect Your Big Idea
How To Pick The Best Team For Your Project
6 Lessons About Business I Learned On The Startup Bus

POST A COMMENT

COMMENT(2)

  1. Chuck Krutsinger Says,

    Good analogy which provides many useful insights. I think this analogy goes much of the way, but doesn’t address one important difference when talking about software: software is never completely done. At some point, you stop construction on the house and may live in it for years without any modifications. That is almost never the case with software. Before software is even up and running, someone has already come up with new features they want added. So while building the first version is very much like building a house, it also has to be built with change in mind. There are cost and design considerations that result because software has to be designed to accommodate change. How would the design of a home be different if right from the start you built it so that rooms, plumbing, ventilation, power, etc. could be added onto while you were living in the house? Those design considerations would add cost and time to the original construction. Great article and great analogy. Hope this additional comment will add some insight for other considerations.

     
    • Simon Anquetil

      Simon Anquetil Says,

      Hi Chuck. Great point, and thanks for sharing! Imagine every kitchen was built with a bit of extra square footage to accommodate a growing family’s dinner requirements? You would need to invest in more land, and then design the space accordingly which would have an upward impact on your cost of entry.
      I actually feel like this just enforces my point of how similar the two can be! People enjoy the idea of renovating, and often walk into a new home and think “oh, if only I had done that… Oh well, we’ll do it in the 10yr renovation” – the difference is people tend to accept this as a ‘big job’ – whereas with software I am constantly hearing “Surely it’s just adding a field / button / function. It can’t be that big a task?” :-) (I’m sure anyone with hands-on experience in Software Project Management can give me a high-five and an eye-roll on that one!)