http://static.flickr.com/18/69881492_ad0a92d6ed.jpg 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 * It would make a good SpeakersCorner type platform * It could be to allow people to get to the area beyond and a dressing and shower area in a straight forward manner from the beach * It might have been where people crossed before the wall was built, and is still a convenient place to do so * It would be a good place to hang a towel to dry. * It also might be that carpenters are paid less than bricklayers * It seems a place where right-handed people can cross, with left-handers having to go some other way, or risk stumbling * It would not meet USA OSHA (or Contry of Reference Equivalents) contruction standards with the stair heights not being equal or standardized * Or one of TheOtherThings.