Thursday, July 30, 2015

Architects Don't Code

(Title stolen from the C2 wiki)

I just spent a few days working on a new interface for an existing system, where the new way of doing things has the interface specification being written up one of the architects, and supposedly discussed by all the stakeholders.  Of course, the usual story unfolds - there is not enough time to get everyone together in a meeting, so the interface gets put together as the architect's best guess on functionality.

But the architect, by definition, is not the expert in the details of the system interface, so I've had to spend time extracting unneeded data from inputs, and providing dummy data for useless outputs.  And the architect does not have the time to update the specification to include these changes.

In my opinion, it would be better for the details to be handled by the people close to them, and have the architects handle just the broad strokes.  But this runs up against the custom of the higher-level abstraction people having more status, and therefore more power, with the usual empire-building and ego-stroking that accumulates over time.