After re-reading sections about architecture in The Mythical Man-Month: Essays on Software Engineering, Anniversary Edition (2nd Edition) by Frederick P. Brooks, Jr. I am wondering if what the role of a nowadays architect really wants to be is that of the old notion of data processing analyst.
The key deliverable from data processing analysts was written functional specifications; the best of those analysts described an abstract, coherent and conceptually integrated system —yet to be implemented— and all their description was from the standpoint of the business and end-user. Later (and sometimes), the senior developers took the functional specification and delivered a technical specification of how the system’s internals would be “constructed” and then —in all waterfallish fashion and most often than not— the “dime-a-dozen coders” took the technical specification and “built” the system. It all made sense. It was all wrong (see Writing 2 here).
Data processing analysts did not “code”; very, very far from doing that. Isn’t what many are saying about architects?
Many years, colossal amounts of human effort and vast amounts of money have been wasted for our industry to learn that waterfall and sequential thinking —like the one described a paragraph ago— for the realization of complex computing systems just don’t work for most of the situations. Why would we want to bring back the notion of data processing analysts? Which could possibly be the advantages of doing that?
Now, if we think —on one side— of an architect as a role, not as an individual, whose key aim is to describe an abstract, coherent and conceptually integrated system clearly to all the team and, if we think —on the other side— of a developer as a role, not as an individual, whose key aim is to provide feedback about the technical feasibility for each architectural decision, then both roles could be fulfilled by the same professional or group of professionals (like a team in charge of accurately delivering the right system into the hands of customers and end-users).
What is the role of an architect? Sorry, I don’t get it, architect *is* already a role, not an individual. Should an architect design? Yes, the mere essence of architecting if that of describing —from the standpoint of the business and end-user— an abstract, coherent and conceptually integrated system that solves the business problem.