WTF is an architect anyway?

In full disclosure, I’m writing this as a “Chief” Architect (I can’t help but picture a big headdress), and I’ve spent the majority of my career as an “architect” (note the air quotes).  And honestly, I’ve always sought out opportunities that came with this title.  I think my fixation came largely from the deification of term in the Matrix movies.

But in reality, titles can cause a lot of headaches, and when you need to scale an organization to accommodate double digit growth year over year, “architects” and “architecture” can help… or hurt that growth process.  Especially when architecture is removed/isolated from the implementation/development process, we know that ivory-tower architecture kills.

This day and age however, a company is dead if it doesn’t have a platform.  And once you have a critical number of teams, especially agile teams that are hyper-focused only on their committed deliverables, how do you cultivate a platform without introducing some form of architecture (and “architects”)?

I’ve seen this done a number of ways.  I’ve been part of an “Innovative Architecture Roadmap Team”‘ an “Enterprise Architecture Forum”, and even a “Shared Core Services Team”.  All of these sought to establish and promote a platform of common reusable services.  Looking back, the success of each of these was directly proportional to the extent to which the actual functional development teams were involved.

In some instances, architects sat outside the teams, hawking the development and injecting themselves when things did not conform to their vision.  (Read as: minimal team involvement).  In other cases, certain individuals on each team were anointed members of the architecture team.  This increased involvement, but was still restricted architectural influence (and consequently buy-in) to the chosen few.   Not only is this less than ideal, but it also breeds resentment.  Why are some people anointed and not others?

Consider the rock-star hotshot developer that is right out of college.  He or she may have disruptive, brilliant architectural insights because dogma hasn’t found them yet.  Unfortunately, this likely also means that they don’t have the clout to navigate political waters into the architectural inner circle.  Should the architecture suffer for this?  Hell no.

So, what do we do?  I suggest we change the flow of architecture.  In the scenarios I’ve described thus far, architecture was defined by and emanated from the architectural inner circle.  We need to invert this.  IMHO, an architectural approach that breeds innovation is one that seeks to collect and disseminate ideas from the weeds of development.

Pave the road for people that want to influence and contribute to the architecture and make it easy for them to do so.  In this approach, everyone is an architect.  Or rather, an architect is a kind of person: a person that wants to lift their head up, look around, and contribute to the greater good.

That sounds a bit too utopian.  And it is.  In reality, architectural beauty is in the eye of the beholder, and people often disagree on approach and design.  In most cases, it is possible to come to consensus, or at least settle on a path forward that provides for course correction if the need should arise.

But there are cases, when that doesn’t happen.  In these cases, I’ve found it beneficial to bring a smaller crew together, to set aside the noise, leave personal passions aside, and make a final call. Following that gathering, no matter what happened in the room, it is/was the job of those people to champion the approach.

In this capacity, the role of “architects” is to collect, cultivate and champion a common architectural approach.  (pretty picture below)

custodians

To distinguish this construct from pre-conceived notions of “architecture teams” and “architects” (again, emphasis on the air quotes), I suggest we emphasize that this is a custodial function, and we start calling ourselves “custodians”.

Then, we can set the expectation that everyone is an architect (no air quotes), and contributes to architecture.  Then, a few custodians — resolve stalemates, care for, nurture, and promote the architecture to create a unified approach/platform.

I’m considering changing my title to Chief Custodian.  I think the janitorial imagery that it conjures up is a closer likeness anyway.   Maybe we can get Hollywood to come out with a Matrix prequel that deifies a Custodian. =)
 

Reference: WTF is an architect anyway? from our JCG partner Brian ONeill at the Brian ONeill’s Blog blog.
Related Whitepaper:

Software Architecture

This guide will introduce you to the world of Software Architecture!

This 162 page guide will cover topics within the field of software architecture including: software architecture as a solution balancing the concerns of different stakeholders, quality assurance, methods to describe and evaluate architectures, the influence of architecture on reuse, and the life cycle of a system and its architecture. This guide concludes with a comparison between the professions of software architect and software engineer.

Get it Now!  

5 Responses to "WTF is an architect anyway?"

  1. qnaguru says:

    Interesting subject of discussion…thanks for writing it :)

    Here is what i have seen:
    1. Ivory Tower Architects: No one knows what they do.
    2. Management Architects: They only sit in meetings with Higher Management, Developers have never seen them, only seen his/her emails occasionally.
    3. At-The-Mercy-Of-Managers-Architects: Project Managers don’t care about them or listen to then, and instead use them as Senior Developers.
    4. Power-Point Architects: They will mail One Power-Point a Month to the entire company, and ask for feedback (appreciation).
    5. Vets: They vet stuff. Any new project architecture, design must be vetted by them. They provide ‘sign-offs’

    Unless Architects are given implementation responsibility their role will remain unclear.
    Essentially what we need is a ‘Architect-Manager’ – now whats the name for that?

  2. Slagpeece says:

    I usually end up with “architect” on my business card despite being, primarily, a developer.

    What “architect” means (to me anyway), is the company needs to justify the higher salary they pay me to the cretins that write two lines of code a day and can’t get their stuff to run twice in a row without exploding (and/or deleting the operating system).

    Also, since I have a string of qualifications, the sales dept. is allowed to stick those on any tender documents to look like the company knows what it’s doing because they have “an Architect!” (and the customer might have seen The Matrix trilogy).

    In the Facebook era, perception is everything.

    • qnaguru says:

      Slagpeece> That was very insightful.

      From what i also frequently see is that:
      Architects with 20 years of good experience end up reporting to Managers with 12 years experience and poor knowledge – Simply becz? They are managers. This is especially true where the top management is technically challenged.

      • Slagpeece says:

        12 Years! You were lucky!! They sound like they might know firewalls don’t make your PC hotter!

        One of the guys I had to “report to” (I use the term in the most flexible sense) had been out of university for three years and would have been challenged to tell me which days of the week have a ‘y’ in them. One of the big problems I often face is that client companies (particularly banks) stick the “project manager” label on people utterly unqualified for the job. Unless the qualification is that when they stand in front of a mirror it steams up. Unfortunately, the “manager” component of the job description seems to inspire some deranged belief that one should listen to them. Generally the ilk’s approach to project management is to ask the same question over and over until they get an answer they like.

        Happily, I’ve come up with a foolproof mechanism for dealing with them; I completely ignore them. If a particular instance of the breed is bright enough to notice that I haven’t taken the slightest bit of notice of their edicts, they might be competent enough to have a small say in technical matters. Thus the problem solves itself.

        This might sound arrogant; it isn’t. It’s simply the only way to survive the levels of stupidity inherent in the management/developer dichotomy. In the last 32 years of a career distinguished largely by incredulity, I’ve come across TWO project managers who were actually capable of managing a technical project to completion.

        You could probably train a strategically shaved gerbil to pass a Prince 2 or PMP course. Sadly, these qualifications simply endow a putative manager with the proper tools, not the ability to make technical (or even commercial) decisions at a level significantly better than flipping a coin.

        And you tell the young people of today that and they won’t believe you!

  3. Bernd says:

    IMHO, not everyone is an architect, nor shouldn’t one be. At least not in the same project.
    The reason is simple:

    The goals for (Senior or not) – Developer and Architects are different.

    A Developer has the responsibility to get the stuff done: in time, in quality, in budget. Period!
    That means, the shortest connection between two points is a line.
    As an Architect, one is in charge to keep that stuff going with everything else:
    That mean, the shortest connection between two points are two lines and an interface to connect them.
    And while everyone would like to decide how that is going to look like, no one want to be in charge maintaining that.

    That’s just too much hassle. That involves a quite few tasks nobody likes: governance, portfolio and version management, reference architecture documentation, project support, etc.

    Arrgh! Who really want to do that?

Leave a Reply


× five = 5



Java Code Geeks and all content copyright © 2010-2014, Exelixis Media Ltd | Terms of Use | Privacy Policy
All trademarks and registered trademarks appearing on Java Code Geeks are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries.
Java Code Geeks is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.

Sign up for our Newsletter

20,709 insiders are already enjoying weekly updates and complimentary whitepapers! Join them now to gain exclusive access to the latest news in the Java world, as well as insights about Android, Scala, Groovy and other related technologies.

As an extra bonus, by joining you will get our brand new e-books, published by Java Code Geeks and their JCG partners for your reading pleasure! Enter your info and stay on top of things,

  • Fresh trends
  • Cases and examples
  • Research and insights
  • Two complimentary e-books