Bridge Over Wall

Just by Bondi beach in Sydney, there's a patch of grass. A wall has been built around the grass area. At some point it must have been noticed that it was quite awkward to try and reach the grass by climbing over the wall, so a bridge has been built over the wall. The ground on either side of the bridge is the same height. A simple gap in the wall would have been a much simpler solution! The bridge and the wall were presumably both built by the local council, but something somewhere seems to have caused more walls and bridges to be built than are strictly necessary.

[Apparently, it provides an amusing obstacle course for those who are blind or wheelchair-bound.]

This immediately struck me as something that seems to happen all the time whilst developing software. People will build entire systems designed to work around other systems - even if the system that is being worked around is one that is part of their project. Perhaps this is caused by problems with CodeOwnership - if there's a strong sense that the code is owned by someone else (but nobody is sure who), it'll turn out to be easier to build a bridge over a wall than to redesign the wall to not need one.


There is another possible explanation for this sort of design. The wall could be a defence against flooding. The one in the picture is probably not such a thing as it does not look strong enough.

Perhaps it was just a matter of using up the budget so as not to jeopardize next year's.


It seems to me this pretty much sums up one of the key challenges of software design. Up to a point, modularity is a good thing, with well defined barriers preventing design changes in one part of the program flooding out over the whole thing. But beyond a certain threshold, and particularly in the hands of OO newbies who tend to go overboard, the cost of building barriers becomes a lot greater than any potential flood damage. If the barriers are too small, they may not be enough to hold back the flood, or if they are too annoying, that might cause people to build silly little bridges over them, in which case the barrier actually ceases to serve any useful purpose (because inside a computer, floods can naturally flow uphill... actually the analogy is starting to break down here)


See also, but not related: RequirementsTossedOverTheWall


Perhaps it has other functions or reasons to exist


EditText of this page (last edited December 9, 2014) or FindPage with title or text search