"What is Your Quest?" - Determining the Difference Between Being an Architect and Being a Developer
page 3 of 4
by J. Ambrose Little
Feedback
Average Rating: This article has not yet been rated.
Views (Total / Last 10 Days): 23068/ 28

The Architect

An architect, on the other hand, is first and foremost concerned about the business.  It is the architect who is responsible for deeply understanding the business' needs and turning that into a vision for a software solution that truly meets those needs.  By business needs, I mean more than just basic functional needs but also its other needs such as IP protection, customer security and confidentiality, scalability, responsiveness, integration, interoperation, and perhaps most important, fiscal responsibility.  All of these are in addition to meeting basic functional requirements, and there are surely viewpoints that I have failed to mention and many that are peculiar to distinct domains.  But the point is that the architect thinks and speaks firstly in terms of business concerns, not in terms of technology.

Implied in this is the more stereotypical responsibility of thinking of the "big picture."  It is indeed a big picture, so big that often pieces of it are neglected when the architectural role is not sufficiently recognized, articulated, and supported by the business.  I've heard it suggested by many that our biggest task is to make the business realize the benefit of design documentation, but I really think what we meant and should have been focusing on is helping the business to realize the distinct need for an architectural role and that, for a project of any size, you really need to give that role full-time attention and support.  What documentation comes of that is an artifact of the particular process being employed; what is indispensible is not the fact of documentation but the fact of ensuring that all the various viewpoints for software are given sufficient attention. 

To adequately address all the viewpoints for successful (not just snazzy) software, one has to think primarily in terms of the business, and it is this kind of thinking that an architect should do.  An architect is not concerned about particular technologies except in as much as they enable her to create a software solution to her business' problems.  This obviously doesn't mean that an architect can't enjoy or be passionate about technology; it's just that passion about technology and freedom to express creativity in terms of a technology rank below passion to create a software solution that precisely meets business needs.

Naturally, I would suggest that it would be best for architects to have a development background as I think it would help them to better understand the demands placed on developers to implement a proposed architecture, but this also implies that architects need distinct training (or equivalent experience) in business to understand the needs of the businesses that they are serving.  That said, I can imagine an architecture degree based on a blend of solid computer science and solid business principles that could sufficiently prepare a person for a junior architecture role without that person needing to first work as a developer.  In fact, I would see such a development as a valuable indicator that we are sufficiently realizing the distinction between the two roles.


View Entire Article

User Comments

Title: Mr   
Name: Joe
Date: 2011-12-06 4:19:36 PM
Comment:
Thank you very much, this was a good read. I know now that I am a developer.
Title: Mr   
Name: Maytham Salihi
Date: 2010-03-21 9:46:21 PM
Comment:
Thank you very much Sir, it is a great article, as a student now I now what is exactly the deference between them and what shall I focus on to be a database Architect.
Title: Continue the Discussion   
Name: J. Ambrose Little
Date: 2006-02-15 5:14:20 PM
Comment:
Thanks for the comments, Tom. I'm continuing the discussion on my blog here:
http://dotnettemplar.net/FurtherRefiningTheRoleOfTheSoftwareArchitect.aspx
Title: Great article, it reminds me why I love MSF!   
Name: Tom Fuller
Date: 2006-02-07 7:15:59 AM
Comment:
I love the article, this very same point seems to be reinforced by all of the recent methodology changes and guidance materials out of Microsoft. If you look at the new roles in MSF 4 an architecture role is considered important on every project. That role in my mind does exactly what you're talking about. Now, the hard part is breaking the implicit belief that your architect is just your most senior development consultant on the project. IMO that is something architects need to remain vocal about with their projects. Architects need to work on things like enterprise frameworks and pluggable architectures. Architects also work on guidance, standards, and best practices thereby helping to provide consistency and ultimately productivity.

The architecture role on any individual instance of the SDLC should be to identify those things that are architecturally significant to the enterprise. More likely anomalies from the standards that were hopefully pre-published. All of this IMO keeps the best interest of the company (aka your business) at heart. It is precisely this type of distribution of responsibility that is critical to surviving in our rapidly changing application delivery world.

My 2 cents :)

Product Spotlight
Product Spotlight 





Community Advice: ASP | SQL | XML | Regular Expressions | Windows


©Copyright 1998-2024 ASPAlliance.com  |  Page Processed at 2024-04-20 10:07:21 AM  AspAlliance Recent Articles RSS Feed
About ASPAlliance | Newsgroups | Advertise | Authors | Email Lists | Feedback | Link To Us | Privacy | Search