Does software development process resemble construction site?

It’s been some time now since the software development company The Software House moved into the historic, yet freshly renovated headquarters. It took them almost a year to complete the building’s transformation but it brought not only dozens of architectonic awards but also some insights into the IT industry itself as well.

How to build an office/app?

Coordinating 11 working crews with 11 supervisors who arranged and renovated 1600 m2 of the office space was not only a demanding task for but also a valuable lesson. Normally in a relationship between a developer (builder) and a client, The Software House stands on the side of creators. During the construction process though, they found themselves on the other end. 

Thanks to this experience, the company understood how non-technical clients might feel like when they come and ask about the software they need but don’t understand the process of creating it. The construction analogy makes it easier to explain complicated technical issues. For example, you can compare a framework to a solid basement. Or backend to the “invisible” foundations of the office which are extremely important for the final building (frontend). So what are other similarities?

Time and money

Just like in software development, initial questions in construction are: “how much is it?” and “when can I expect the results?”. And of course, it’s next to impossible to estimate the overall expenses.

Questions will pop up

When you need to develop an app, there are many possible solutions – exactly as when you build an office. Also, even if you have an exact specification (which is even more precise in the construction industry), there is still a lot potentially problematic issues which appear during the course of development.

Quality is no.1 priority

You should never ever save on quality – doesn’t matter if you’re building an office or develop an app – the highest quality is the key. The truth is that low costs always equal poor quality, and in the future might result in omissions, corrections and dissatisfaction with the final product. 

Order and procedures

In both industries, there are some specific, internal processes. In construction, there are design, ventilation, sewage system, plasters, paintings and finishing – you name it. These processes need to have the right order, which must be followed. One thing comes after another but also mesh with each other and sometimes need to be repeated. Doesn’t it sound exactly like the iterative model in IT?

Not everybody knows what you’re talking about

Both in IT and in construction, there’s a strong division into two groups: technical and non-technical people. The first ones use complicated jargon and look down on the second ones who don’t understand a single word. Like, do you know what veneering is? Apparently, it’s arranging two surfaces in one line – but you’d never know that if you hadn’t spent months on a construction site! Developers’ IT jargon is exactly the same thing for non-technical people who need an app but don’t know how to make it. 

Aesthetics or lack of it

For any technical person (in both construction and software development industries) it is in the background. For example, one of “green walls” is covered with reindeer lichen (very nice-looking and quite useful moss) and during the construction work, it turned out that the same wall needs ventilation grills right in the middle. Obviously that would destroy the whole visual effect, however, the workers only thought about functionality, not the aesthetics. On the other hand, in both industries, there are people who care about the final, visual effect – interior designers and UI designers. Thigs need to work but they also need to look nice. 

It’s not us, it’s them

You thought that only software developers are the “masters of excuses”? Try builders! Well, it seems that in all industries, all delays or mistakes are backed up with a variety of prepared, sophisticated excuses. So it’s always some QA’s or painter’s fault…

Frameworks

Finally, did you know that in construction, there’s something called a “framework”?! It means nothing more but using different elements of interior finish that fit each other – have matching colors, shapes, etc.). Well, well, well, we’ve heard that before in software development, haven’t we?

Final thoughts? Both in software and in construction projects it’s important to have a guide – someone who can help you understand all the processes. Be careful what you agree on, learn all the consequences of your decision and don’t make promises to your clients about costs or deadlines if you’re not 100% sure that something is doable. Finally, always provide a regular update on progress – nothing is more frustrating than not knowing what’s going on.

Your email address will not be published. Required fields are marked *

More Stories
20 Hottest WordPress Magazine Themes For 2013