Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A popular choice in the real world is known as 'the big ball of mud', e.g. as described at http://www.laputan.org/mud/.


It isn't really a choice, it is just what happens due to incentives and changing needs and leaders and politics and technologies inside the company.

People assume that software architecture is like building architecture, in some ways it is, but NO ONE has ever showed up to a construction site that was half way done and said "Hey guys the steel framing we ordered has been delayed so please continue building the rest of the building by replacing anything that was original designed for steel beams with bamboo.


This is awesome (as well as the ball of mud "paper").

I think the building construction analogy might be similar to a home which has seen multiple remodels.

Now imagine a scenario where you have an absentee owner with a lot of money, a permanently staffed architect and a bunch of extremely able, slightly competitive contractors all on staff - each trying to prove their annual salary.

The original one story building would quickly become an ten story nightmare of a building.


Just another example of Silicon Valley being ahead of its time: The Winchester House is pretty much exactly this. It used to be 5 stories, too, until the 1906 quake gave it a haircut.


A better description is that of garden landscaping.

You have a reasonable idea of what you want to achieve, and it looks good on paper, but until you have actually walked through it, touched and felt it, you don't know whether it really does what you wanted.

And of course, it changes as it matures, and what was great at first can become overgrown and resource-hungry.


I like Casey Muratori's view of software architecture being more akin to urban planning than to building architecture. Taking that view seems to alleviate many of the apparent paradoxes.


Oh it's definitely a result of choice. Strictly speaking it is lots of choices that in aggregate give the classic result.

Some choices by sales, some by engineering, some by management. All doing their best. Each reasonable on a sufficiently small time horizon.


A lot of old projects (especially 20 years+) tend to be more or less this.


A lot of new projects turn into this within a few months.


I came here to share this link too




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: