Developer? Architect? All hail the Devarchitect!
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?
Comments
- Anonymous
October 20, 2005
I don't have a good name for us, but that very much fits my job functions also. - Anonymous
October 20, 2005
I think the word is Architect. Those folks who don't do the developer tasks are something else entirely (and not nearly as valuable to an organization). - Anonymous
October 21, 2005
The comment has been removed - Anonymous
October 24, 2005
The comment has been removed - Anonymous
October 30, 2005
The comment has been removed - Anonymous
October 30, 2005
And here's my response:
The goal of personas in Microsoft is to identify or at least to propose a class of person that is a meaningful target for developing product scenarios. The trick in part is to avoid defining personas that are simply roles that are normally played by different kinds of people. In our discussions on Whitehorse we have discussed personas for application architects and lead developers - I'm really pointing out that while there may be a community of application architects that are not deep developers, that a common combination of roles is the 'devarchitect' that combines the roles of an application architect and developer.
In your article, I think you use the role Solutions Architect where we have used Application Architect. I'm proposing that a common occurrence is to find the solutions architect and lead developer hat on the same person. By proposing the devarchitect persona I'm saying that this is a common enough kind of person that we should take account of this kind of person's needs. For example, we have had much debate on the need to synchronize code and design back and forth. If you believed this persona didn't exist you'd reduce the imporance of this requirement, while if you believed that the persona exists you'd add more value to that capability. Given this persona is real I think we should do a better job of enabling the 'devarchitect' to smoothly progress to a working deployed-into-test prototype of their design, rather than thinking there is a hand-off to another person who will do that job. That's the kind of consequence I see of this observation. - Anonymous
November 01, 2005
After 20 years of software development, I consider myself this type of persona, but I don't have a good title for it. I believe in order to be a good Architect, you have to be a very good Developer, a Data Analyst, a good dose of Infrastructure, and some Business skills would not hurt either. When I lead the team, I believe in, do as I can do, not as I say. What concerns me most however is that we are still debating job titles in this industry? A clear indication that we still have not figured it out how to consistently build software that delivers value to the client. How long will this take? Will we ever get to a point like the engineering field? Construction via blueprints? How, as an Architect, can I effectively communicate design, when we really don’t have design template that captures all aspects of the development effort? - Anonymous
December 02, 2005
Well, what a coincident... instead of Devarchitect, I use Archiveloper to call myself, since my title are architect but as you said, still need to rolls up my sleeves most of the time.
A guy from Vancouver... - Anonymous
May 22, 2007
PingBack from http://blogs.zdnet.com/service-oriented/?p=805 - Anonymous
April 27, 2008
PingBack from http://famouspeoplesbirthdayblog.info/bill-gibsons-weblog-developer-architect-all-hail-the-devarchitect/ - Anonymous
June 09, 2009
PingBack from http://hairgrowthproducts.info/story.php?id=3744 - Anonymous
June 09, 2009
PingBack from http://quickdietsite.info/story.php?id=805