4 ms·
Your phrasing suggests a comparison between 1. a finished building and 2. the process of making a piece of software.. of course there is no comparison. If you
by cam_l 6y ago
Your phrasing suggests a comparison between 1. a finished building and 2. the process of making a piece of software.. of course there is no comparison.
If you look at a more apples to apples comparison, ie. designing (and in that I would include designing the process of building) a bespoke building. Designing a building is about structuring a building process, a business process, a living process, a manufacturing process, or public interface, a place of work, or life, or learning or wonder, all within or about the confines of a building.
Even simple bespoke buildings bring together hundreds of thousands or even millions of parts which have never been put together in this way or by these particular people before. You have to consider how all these materials fit together, behave together, how they degrade over time, their warranties, their performance, how they will get removed, replaced, disposed of. You have to consider how buildings will be modified, or inhabited or changed over time (because if you can't change it, it will be knocked down).
You have to account for the wildly differing preferences for taste, or comfort, or usage of buildings which your clients cannot describe and often have no awareness of. Your client is sometimes the end user, but most end users are not clients. You have no control over any of the important decision making processes, but lots of control over the unimportant ones. All of your attempts to standardise the process in order to contain timeframes result in an incremental lessening of quality or usefulness - sometimes to the effect that the finished product horribly underserves the end users (you often make the clients happy though). Clients also sometimes just refuse to pay.
Architects have been thinking about and writing about and experimenting with information gathering, processing and dissemination for (at least) hundreds of years. I mean, architects were knowledge workers before we even had paper to draw the blueprints on. Much of the early systems of standardisation and automation were driven by architecture (and fashion surely). Hell, the first 3D scanning of an object, a statue, was in the 15thC by an architect.[0] We have been using ticket systems ( rfis), bug reports (post occupation evaluation) and version control systems (transmittals and revisions) for longer than the software industry has been around. The reason for all the arcane processes in the industry is to try to capture, use and re-use information. To standardise processes across consultants, builders, clients, and manufacturers. Most architects are shit, we developed horrible hiring procedures to weed out the shit ones, that don't really work. They chronically underpay staff. They have missed just as many deadlines, and spent just as much money in cost blowouts as the software industry.
No. Designing buildings is almost exactly like designing software. It is just data processing and prediction after all.. and bullshit. Everything new is old. You can probably learn from their mistakes.
[0] https://www.smithsonianmag.com/arts-culture/digital-files-and-3d-printingin-the-renaissance-244207/ https://www.smithsonianmag.com/arts-culture/digital-files-an...
- doctor_eval 6y agoI have huge respect for architects and civil engineers - and most other professions - and my comments are not meant to suggest that there’s nothing to learn from them. But software is not the same as buildings and we shouldn’t get too invested in the analogy. Ultimately, most buildings get to a point where they are finished. Tenants move in and the building will stay structurally identical for At least the next 10 years. But a huge amount of software never gets to that point. There’s always a “next release”. Some releases change the structure of the software to fit in concepts that weren’t even considered when the original was built. For some time now I’ve been using the phrase “software is more like a public garden than a building”. Gardens grow and evolve over time; gardens can quickly and easily be modified for different uses; there are complex dynamic interactions between the parts; users have broad latitude to do unexpected things with them; they even have bugs! (some of which occur long after it’s finished). To me, designing the first iteration of a software system is only one part of the problem. The real challenge is maintaining the “architecture” in the face of long term change. I’ve been wondering if software engineering is more like permaculture than architecture. The problems in software come from the places where it’s different from anything else. So maybe I’m wrong to say that the building analogy is flawed. Perhaps it’s more accurate to say that it’s not a deep enough analogy to make a meaningful impact on software engineering.
- cam_l 6y agoSorry, never saw your response. Agree, and often argue that architects should pay more attention to the fastpaced and generative lessons of software languages, processes and businesses. We should see architecture as less finished, because it rarely is. It always changes, it degrades, the business changes, the family changes, the city changes around it, it breaks it gets extended or fitout or rebuilt, and architects are only sometimes involved (rarely the same architects). But just because architecture is slower (much slower), it doesn't mean it doesn't contain many of the same issues and challenges. But architecture as a process, the challenges of clients, user interface, communication in building or use, business interface, cost and time control, and not least the incremental effect of degradation and specialisation disintegrating the profession etc.. these have been well documented in our profession and are being experienced anew in software. I love the garden analogy, architecture should also be more like gardens! We have this misunderstanding that architecture is permanent, but really it is just slow. Trees are nice, but we also need perennials and vegetables.. and mulch.