This morning I saw a tweet from Simon Brown that that triggered some odd memories. The tweet was:
And, of course, we no longer live in a world where architects create a “logical view” that developers should go and implement … somehow … twitter.com/simonbrown/sta…
I remember how the architecture role was described in such terms. Where e's role was to dictate how it should work so the developers could assemble. What they forgot to ask them self was probably what view the developers were suppose to work on? Was that the irrational solution to the logical view the architect had delivered?
When turning the "logical view" on it's head like this it is not very logical. I know it wasn't supposed to be so. But language has a tendency to work it's way into our minds. It forms our way of thinking of things and eventually our way to deal with them. Regardless if it's rational or not. When I saw that tweet this morning it became apparent where at least some of the misconception around software architecture comes from. The way we describe the "logical view" just being a symptom of a deeper problem.
I think it comes down to the idea that we should create things using a top down structure. Using the control structures we are used to. Management wants some kind of software. They'll get the architect to design it, to create the "logical view". Only then can they trust it to the developers. They are probably not even aware that most of the unknowns and risks are in the hands of the developers.
But we know software don't work like that. I actually think most of us also know that nothing else does either. It's a flawed view on humanity that makes us think good work can be done top down. It becomes especially apparent in complex situations such as software development and research. But I don't think it works well anywhere. The rational way to go about getting good work done is bottom up. Letting everyone involved feel responsible and have the mandate to do what changes they think are necessary to get the job done.
Oh well, enough of the rant. And thanks Simon for reminding me of the idiocy in some of the software architecture jargon.