No doubt you know that Microsoft is very persona driven. A persona is a fictitous person that embodies the characteristics of a class of user – useful to us when working through product usage scenarios. Mort is probably the most famous of Microsoft’s development personas. Whitehorse has its personas too – you’ll hear us chatting about Andrew, the Enterprise Architect and Vernon the Application Architect as if we had a drink with them in a bar the night before.
However, I think we’re missing a persona which is a variation of the application architect – I don’t have a name for him/her yet – but I think this persona is a Devarchitect. Devarchitects think of themselves as architects (and may have that job title) – they are intimately involved in defining the function, structure, and design of systems, including performance, scalability, reliability, interoperability, etc – but they are also deeply involved in developing aspects of those systems, perhaps writing and testing early prototypes or core elements, often in the early days of a project so that the technical architecture and its execution characteristics can be proven, as well as digging in to deliver some of the more complex components as the project ramps up. A devarchitect rolls up his sleeves and gets his hands very dirty. Many high-end developers are devarchitects or aspire to be. Devarchitects often don’t want to be anything else – they don’t want to get out of touch with development and the details of the technology. And in some cases their organizations can’t afford the luxury of full-time architects.
At TechEd during a focus group I recently met several people who fitted this description well. The profile of one of them confirmed this – he identified his primary job responsiblity as architect, and profiled his work with tasks associated with an architect role occupying 20% of his time and those associated with a (lead) developer occupying 70%.
Does anyone want to suggest a name for our devarchitect?