locked
What is Architecture and Who are Architects? RRS feed

  • General discussion

  • In the software/IT industry the notions of "Architecture" or "Architects" are certainly not very well defined.  The Open Group Architecture Framework (TOGAF) supports four groups of enterprise architects -- business architects, data architects, application architects, and technology architects.  Microsoft Certified Architect program so far designed for two certifications (solution architects and infrastructure architects), and one more certification, messaging architect, is coming soon.

    Different companies use titles such as "Chief Architect", "Industry Architect", "Integration Architect", etc.  Job recruiters announce "Web Architect", "Software Architect", and "Data Architect" jobs.  For many companies the "Architect" title is nothing more but a marketing tool that is used to present a more respectful person to customers.  I know a company where two architects do competely different things.

    My business card says "Senior Technical Architect".

    This particular forum, even if it suggests to "discuss general issues and experiences related to architecture and designing solutions on the Microsoft platform" is very narrow, and mostly discusses code and tools related issues. I realize though that the forum is limited to the Microsoft Platform...

    Interesting enough, that even without any taxonomy we know what each Architect means.  May be not precisely, but almost all of the time.

    However, I think it would be quite valuable to discuss what the Architect term is really about.

    Saturday, November 11, 2006 9:02 PM

All replies

  • Valuable words, Andrei

       what I have to answer reflects just my personal vision and in no case establishes MS position on that topic

       I think that, still, Software Architecture and the Software Architect as a common knowledge and agreement are in an alchemist stage in terms of scientific rigor. I mean, pls can you exhibit your degree in Technical Architecture? So far, a software architect is anyone who claims being so (and such claim is accepted by his colleagues). So far, being a software architect is just a matter of perception

       Fortunately, I believe that the alchemist days of Software Architecture are ending thanks to the valuable effort of Paul Preiss' IASA: the International Association of Software Architects (which you can visit at http://www.iasahome.org, and I strongly invite you to adhere and participate, because what they are defining these days is going to be part of the scientific age of Software Architecture). In other words, in order to be an agnostic software architect you'll have to pass an evaluation (nothing to do with the MS and other vendors certifications)

       In terms of Software Architect segmentation, well, again my position here, Andrei. I have read so far tons of taxonomies. In general terms, I agree that all they are about roles which need to be fulfilled, not necessarily by different people each. In that sense, I disagreed with certain taxonomies which enlisted about seven different kinds of architects in the sense that... show me pls three companies which have really all the seven architects working together (I'm not asking for companies with just seven architects, but seven people covering each one an architect role). But in general terms, I can say that words more, words less, all of them are talking about the same. As I said, without a scientific agreement, yet

       Some years ago I was considered a Java EE Architect (those days known as J2EE). In my walk toward nowadays, my title was changing from "J2EE Architect" to ".NET Architect", "MS Architect", "MS Solution Architect", "MS Strategic Architect", "MS Architect Evangelist", ... wow... I swear it: I'm still the same people. I can apply my knowledge, based on my background and experience, to any platform once, obviously, I know that platform well (with its strengths and weaknesses) 

       Nowadays at SkyScrapr (a MS site for aspiring architects) we are simplifying the taxonomy to three kinds of Architect roles: Strategic, Solution and Infrastructure, plus a forth related with Industry verticals (actually, overlapping some of the previous three). Check this recent post there: Software Architecture: Past, Present and Future

     

       In terms of this forum, I can admit that we aren't discussing about MS Platform 100% of the time. I participated in lots of discussion about modeling, design patterns, separation of concerns, etc without mentioning any platform at all. Just few days ago I remember a thread like that: don to not use "Inheritance". Still I prefer to keep this status quo in this forum: MS Platform most of times plus some agnostic discussions or discussions on MS interoperability with other platforms. What I mean is, just don't use this forum to discuss, let's say, SAP architecture: surely SAP must have an amazing architecture forum to do that

       In the same sense, MS Certified Architect program and other company-related certifications will continue being valuable to exhibit proof of knowledge on respective platforms, in the same sense that a C language programmer shouldn't be consider a "programmer" in wide sense, since that involves PowerBuilder programmers, Delphi programmers, Fox, C# as well  

    Sunday, November 12, 2006 6:18 PM
  • Thank you Diego.

    Very interesting discussion, and very interesting links.  I was not aware of IASA; it looks quite reasonable.

    Well, entire computer sciences are still in the alchemy stage.

    I believe that defining (or trying to define) who Architects are we mix different dimensions of these taxonomies.  Sometimes we consider process (and process related Solution or Infrastructure Architects), seniority (Chief Architect), or realition to a specific software domain (.NET Architect). Sometimes it's just a marketing word like Industry Architect.  Thinking more about it, I realize that a very similar usage is that of the term "Engineer".

    This is not the first time I'm thinking about it. This time I was inspired by reading Christopher Alexander's books.  As I think, his presentation of architecture is the closest to solution architecture in the software world.

    How do you compare Strategic, Solution, and Infrastructure architects with Business, Data, Technology, and Application architects?  In my opinion, all of them are about process.  Are the processes different, or is the approach to the process different?

    Regards,

    --ak

    Tuesday, November 14, 2006 2:35 PM
  • Hi again, Andrei

       surely not 100% coincidence but it seems to me that

    Strategic ≈ Business
    Solution ≈ Application
    Infrastructure ≈ Technology

       With respect to the Data Architect or Information Architect, his responsibilities are divided among the three architect roles with their different perspectives. I guess so nowadays. In MS literature it appears often a role outside IT, the business analyst, that several times has to do with data (of course, from the business perspective -BI, KPIs, etc-)

    Wednesday, November 15, 2006 3:19 AM
  • Think about what a normal architect does. When constructing a building, there is a difference between the architect, the engineers, the drafters, the managers, the construction workers and contactors The architect is responsible for the concept and vision of the building. The drafters draw up the blueprints. The engineers insure that the building will be stucturally sound and meet it's technical requirements. The managers breakout the work to be done and schedule it. The construction workers and contractors build the actual building according to the blueprints.

    I don't think architect is just a title to demand more respect. It is simply a different role than engineers that is more focus on high-level vision instead of low level implementation. Their focus is on system-wide coherence instead of individual algorithms.

    The problem is that most programmers are wearing all of these hats, when really some people are much better suited to one or the other.

    Friday, November 17, 2006 5:53 PM
  • Good thougths

    Thinking on what you say, I believe I know the reason why we programmers are wearing so many hats at once

    Coming back to the buildings methaphore, you can either study Architecture (in its own Faculty) or Civil Engineering (in its own Faculty, too)

    Computer Sciences are in an earlier stage, but I'm confident that it's a matter of time to become like the buildings context you mentioned

    Nowadays, I have a title issued by my university as "Licensed in Computer Sciences" (Faculty of Exact Sciences, University of Buenos Aires), while most of my friends are Systems Engineers (title issued by Faculty of Engineering). Rise his hand who has a title (or speciality, not necessarily a title) of Software Architect issued by any Faculty

    ...

    If I'm not wrong, Software Architecture is a recently emerged discipline (nowadays, not so much, sure, but pretty much newer than other Computer Sciences). I feel that, soon, initiatives like IASA's and some others' will change this at a point that what you claim -wearing one hat or the other- will be more possible than today  

    Saturday, November 18, 2006 12:07 AM
  • What I'm thinking now is that Software Architecture is too young for creating a taxonomy on it.  It's like a notion of Engineering in the late 19th century.
    Monday, November 20, 2006 6:31 PM
  • Just to note, that an Application Architect is not an actual Architect, that is licensed for architecture (buildings) like work. I had an interesting discussion about this on Quora. Though Architect is the next rung in the ladder to a developer in some sense, (gaining a strong basis in design patterns), there is where some of the discrepancy comes from.

    Though I believe this not withstanding that software architect is not a role on it's own.
    Thursday, June 23, 2016 2:45 PM