Software Creation Mystery -

Collapsing bridges and Software Development

I have just recently read an interesting post in Cedric blog:

“ engineering is nowhere near as advanced as building engineering is. We are still working on these nuts and bolts, and whenever a new software project starts, we still can’t be sure it won’t collapse under its own weight after just a year. To make a parallel: imagine a world where every time a new construction takes place (say, a bridge), the future of that bridge depends on the team of engineers and workers you choose to build it…”

Bridges do collapse. Tragedy shows that even standard engineering solution which was following strict guidelines, regularly inspected and maintained could fail.

One bridge is a relatively simple construction. We can probably compare it to one week of programmer’s work considering complexity, number of elements and relations between parts. What could we compare in the engineering to the several month project with many developers and subsystems involved? It is comparable to the very complex construction like combination of hundreds interlinked bridges (don’t ask me to prove my ballpark estimates :)). It is comparable to the construction of Boeing. How much does research and development of Boeing 787 cost? $11 bln dollars.

Typical software projects have much lower cost, much less people and don’t have luxury of relying on stable laws of the physical world and established engineering principles. But programmers carry in their brains the same amount of information, many system relations and complexity as in advanced engineering projects . These are essential difficulties that software developers are facing. In addition they deal with the changeable world of people and business needs.

Major bridges collapse every 30 years and engineers learn from these mistakes and make better and more reliable designs. When we complain that Software Development doesn’t have the same sound practices as engineering, we shouldn’t accuse just immaturity of our profession. It is one of the most intellectually complex human activities dealing with very complex systems. I just hope we will experience less and less collapsing bridges both in physical and software worlds.

AddThis Social Bookmark Button AddThis Feed Button


[…] de um post interessante, sobre Software e baseado no acidente da I-35W, a ponte que caiu. Major bridges collapse every 30 […]

Pingback by mnemetica » Blog Archive » Pontes, Engenharia, e Software | August 3, 2007 8:24 pm

the only problem here is comparing ‘software development’ with ‘bridge engineering’, when it actually should be compared to something ‘non-engineerical’. Just because there’s some degree of formality and math involved, doesn’t mean it is an engineering science: the way we develop software today (and even more with the agile trends), it’s more like writing a screenplay or a novel than building a bridge or a building. Metrics and success rates included…

Comment by herval | August 5, 2007 4:18 pm

hi i enjoyed the read

Comment by Amani | August 18, 2007 6:22 pm

Software development just can not be compared with bridge construction and engineering with the latter being based on physical realities based on real world phenomena. A bridge constructed by engineers has to take load of millions of tons, and an engineer always has to keep this thing in mind. In case of bridges, you can not perform testing at the level the virtual world is fortunate to have possessed( a prerogative with the virtual world engineers). Can you test a bridge with millions of tonnes of load and reconstruct in case it fails? Bridges can not be debugged! They can be made look like they were in their early stages but even that does not guarantee an effective and reliable bridge! For a truly reliable bridge, you have to destruct it before going for reconstruction.

Comment by Dineysh | December 1, 2011 2:44 am

This blog have little value without you and your comments, thoughts and discussions. Please, leave your comments. You are welcome to debate and criticize any idea, but, please, don't attack other people. Thanks for your contribution!

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Subscribe without commenting

Software Creation Mystery -
This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 License .