> writing software like Fowler's Analysis Pattern book was a holy grail
I feel like there’s something to be said for constructing an architecture entirely out of “formalized” architectural patterns, when you know that 1. you’re not going to be around to explain the architecture to whoever has to maintain the project 20 years down the line, and 2. Anyone who does come onto the project to maintain it is going to have very little time to get up to speed, since they’re very likely on a short contract to implement a single fix (“Y2K compliance” being a good example of when this happened.) At least, if all the architectural arrangements are copied out of a book, you can just put a note in a README at the project root to read said book. Might skip a lot of “software forensic anthropology.”
I mean, that, or heavily document every piece of the architecture, to the point of writing a book on your architectural choices (e.g. the reams of documentation on Erlang’s OTP-framework architecture, originally produced as a side-effect of Ericsson engineers documenting their architectural choices while writing code for their network switches.) But, well, did the customer pay for that? No? Too bad.
(I find this is one of the major differences between the way a regular IT consultancy handles these kinds of contracts, and the way a bigcorp like IBM handles a contract. The bigcorps factor things like “reams of documentation for later maintenance (not necessarily by us)” into their negotiated price, because they’ve been on both sides of that, and also have had customers who have been burned by a lack of it. But this makes their bids higher, so they’re often underbid by novice consultancies who don’t have share this mindset...)
I feel like there’s something to be said for constructing an architecture entirely out of “formalized” architectural patterns, when you know that 1. you’re not going to be around to explain the architecture to whoever has to maintain the project 20 years down the line, and 2. Anyone who does come onto the project to maintain it is going to have very little time to get up to speed, since they’re very likely on a short contract to implement a single fix (“Y2K compliance” being a good example of when this happened.) At least, if all the architectural arrangements are copied out of a book, you can just put a note in a README at the project root to read said book. Might skip a lot of “software forensic anthropology.”
I mean, that, or heavily document every piece of the architecture, to the point of writing a book on your architectural choices (e.g. the reams of documentation on Erlang’s OTP-framework architecture, originally produced as a side-effect of Ericsson engineers documenting their architectural choices while writing code for their network switches.) But, well, did the customer pay for that? No? Too bad.
(I find this is one of the major differences between the way a regular IT consultancy handles these kinds of contracts, and the way a bigcorp like IBM handles a contract. The bigcorps factor things like “reams of documentation for later maintenance (not necessarily by us)” into their negotiated price, because they’ve been on both sides of that, and also have had customers who have been burned by a lack of it. But this makes their bids higher, so they’re often underbid by novice consultancies who don’t have share this mindset...)