|
|
Subscribe / Log in / New account

Development quote of the week

Now, why should we care about an old bridge? It's because there's a universal truth about software development that software engineers don't like to talk about too much.

We're really bad at writing software.

[...] But the people who design and build bridges, they're great at it. Bridges get built on time, on budget, and last for dozens, hundreds, even thousands of years. Bridge building is, if you think about it, kind of awesome. And bridges are such a common occurrence that they’re also incredibly boring. No one is amazed when a bridge works correctly, and everyone is kind of amazed when software does.

Unfortunately, the world is very dependent on software. It might even depend more on software than it does on bridges. So we have to get better at writing software far faster than we got good at building bridges.

Jon Bodner

to post comments

Development quote of the week

Posted Jul 9, 2020 10:19 UTC (Thu) by gerdesj (subscriber, #5446) [Link] (1 responses)

"But the people who design and build bridges, they're great at it. Bridges get built on time, on budget, and last for dozens, hundreds, even thousands of years."

Tacoma Narrows, Millennium Bridge. Civil Engineering is a very, very old discipline and still gets it wrong. You kids with your compilers have yet to invent the arch (or other dodgy simile!)

Development quote of the week

Posted Jul 9, 2020 12:26 UTC (Thu) by smoogen (subscriber, #97) [Link]

Bridges are built on time and budget by being "expensive" in time and materials. Yes they could be made more expensive, but they could also be made a lot cheaper. In fact in the hey day of road/bridge building of the late 18th and most of the 19th century they were built that way. And bridges failed a LOT. Enough that things like the https://en.wikipedia.org/wiki/Tay_Bridge_disaster were big, they weren't remarkable as small bridges failed weekly. What changed was that bridge failures started costing groups of people more money than they did when 1 or 2 people died on them. The groups which insure businesses find that to be expensive to their interests and they start putting in more costs for their policies unless things are changed. That causes industries to start enforcing (usually via government policies) engineering standards, a LOT of regulation and assuming that everything had to standardize on certain tools, materials, inspections, and other things. Those changes took a lot of social effort with many 'engineers' of the time calling them un-needed and pretty much whatever standard 'the government/industry/insurance has no business in making me do something different' excuses at the time.

[This isn't to say that the various regulations were good.. those took time to work out and to go from being overly cautious and too expensive to finding a 'reasonable' path. The big issue is that we all want a quick fix and the Universe doesn't care about our wants.. things take time and any regulation being from self-regulation to insurance regulation to government will take years to work out from being onerous to 'its just what we do']

So it isn't that we haven't invented the arch.. we just don't use it as much as we should because it take too much time, effort and just looks boooorrrrring.

Development quote of the week

Posted Jul 9, 2020 12:24 UTC (Thu) by jmclnx (guest, #72456) [Link] (3 responses)

I understand the meaning of the example, once built the bridge is stable and will last well beyond its expected life, as we in the US have been proving every day for the past 30 years :) But 'on time/budget', depends upon the state, bridges in my state take years if not decades to build (depends upon size). One state over is able to build very complex/large bridges with in one year :)

The same time/budget issue seems to be creeping into software development too. Every time a Company tries to streamline development, often the opposite happens.

Development quote of the week

Posted Jul 10, 2020 19:23 UTC (Fri) by Wol (subscriber, #4433) [Link] (2 responses)

> I understand the meaning of the example, once built the bridge is stable and will last well beyond its expected life

Except that that only applies to bridges that are similar to other bridges both in design and size, where things are well understood.

Someone mentioned the Tay Bridge disaster - built using a new material called cast iron.

Someone else mentioned Tacoma - the disaster wasn't (primarily) the wind and resonance. That was the proximate cause but there was a deeper failure which led to that. Despite resonance the Millenium Bridge was perfectly safe - just not a nice experience (which various engineer-trained people spotted).

And an interesting follow-on - I think it was the Tay Bridge disaster, which led to the Forth Rail Bridge being massively over-engineered, and its companion bridge the Forth Road Bridge is now being urgently replaced because the engineers have identified an unexpected failure mode - they think it could become unsafe even before the replacement is complete which will be a major disaster ... basically salt water has got into the sheathing that's supposed to protect the suspension cables, and the individual strands are now rusting and snapping - will the cables be weakened and snap?

Bit like the Titanic - if the water had been a bit warmer she would have survived the collision (yes I know, the iceberg would have melted and there wouldn't have been a collision :-) but she was built of that new(ish) material called steel. And what the engineers didn't realise was that in cold Arctic waters the steel became brittle so the iceberg ripped a big gash. If it had been a bit warmer it would have made a massive dent, but not breached the hull.

At the end of the day, it takes a while for cutting edge engineering to become safe and boring :-)

Cheers,
Wol

Development quote of the week

Posted Jul 11, 2020 13:59 UTC (Sat) by james (subscriber, #1325) [Link] (1 responses)

... the Forth Road Bridge is now being urgently replaced ...
The replacement, the Queensferry Crossing opened in 2017.

Development quote of the week

Posted Jul 11, 2020 17:39 UTC (Sat) by anton (subscriber, #25547) [Link]

When I was there in 2018, the Forth road bridge was closed for most motorized traffic (except local buses and maintenance), but open for pedestrians and cyclists. The Queensferry crossing is a motorway, so it is not a replacement for the Forth road bridge. They were doing maintenance on the bridge when I was there.

Development quote of the week

Posted Jul 10, 2020 16:54 UTC (Fri) by tau (subscriber, #79651) [Link] (3 responses)

I've made this comment on LWN before but we do know how to build fairly reliable software, there just isn't really a market for it.

In situations where it matters: nuclear reactor control, safety-critical aerospace, the defect rate of safety-critical software is no higher than any other safety-critical engineering discipline. Especially when there are no fraudulent mal-features like Boeing MCAS imposed upon the development team.

The software devlopment field is a common target for these sorts of criticisms, but the state of commercial software today is an indictment of the market forces driving it, not the development process itself. Cars also suffer from all sorts of electrical and mechanical reliability issues, and we don't see nearly as much ink spilled about that.

Development quote of the week

Posted Jul 10, 2020 21:18 UTC (Fri) by kjp (guest, #39639) [Link]

Right, people are usually paid to design bridges, and not via "please sponsor me" links on github.

Development quote of the week

Posted Jul 22, 2020 16:50 UTC (Wed) by zerolagtime (guest, #102835) [Link] (1 responses)

Agreed. Regulation is what makes bridge building both a predictable process and product. Bridge designers have to be certified as do the builders of key components. Much bridge maintenance can be performed by your average person in a county maintenance department, but some of it requires special certification or licensing, like with the bearings or treating the support beams. Big changes to software are often driven by improperly incentivized consultants and their advice is only slightly better than a best guess.
But there's a whole host of things that make bridge building completely different. Bridges rarely get their design changed after they've been installed as doing so is basically a start over except for some of the foundation. Bridges are rarely seen as a vector for compromising the security of everyone in a town just because a bad guy takes an interest and doing so must be done one bridge at a time. A bridge usually decays gracefully leaving cracks and holes, but is still usable whereas software can break in an instant when one of a hundred assumptions is no longer true. Iterative processes for software development are a proven way to get a project much closer to the moving landing point on the opposite shore, which is impossible with bridges which must be a one-and-done by necessity.
All is not lost on the bridge-software metaphor as they both will always have one thing in common: the first thing the accountants cut is maintenance and it takes an embarrassing emergency to get it back.

Development quote of the week

Posted Jul 23, 2020 8:45 UTC (Thu) by Wol (subscriber, #4433) [Link]

London Bridge is falling down, falling down, ...

Cheers,
Wol


Copyright © 2020, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds