Why aren't software architects held accountable?

And what incentive is there for them to accept it?

Mike Walker has an interesting post comparing the architect roles across the building and software industries, entitled The Nemesis of Software Architecture. Comparisons aside, there's one point that I really wanted to pick up on.

4. Accountability Inherent - Building architects are accountable for there work when their specification fail while software architects are not. An example of this is the case of an architect stealing a design for the Freedom Tower or the example of MIT that sued well known architect for defective structures. There is clear accountability whereas I still haven't heard of someone getting sued for copy & paste...

I'm a big proponent of software architects having the responsibility and authority to ensure that the projects they are working on come to a successful conclusion, but it does raise an interesting question of why project sponsors don't typically hold software architects accountable. Perhaps it's because the dynamics and roles of everybody on the project team aren't well understood in most cases. For example, what's the working relationship between a project manager and an architect; or the developers and an architect? Or maybe it's because our agile approaches tend to favour sharing the responsibility throughout the entire team, which can end up with the project lacking a single coherent and consistent direction.

In order to address this, maybe we need to go back to basics. Why aren't software architects explicitly given accountability at the outset of a project and what incentive is there for them to accept it?

About the author

Simon is an independent consultant specializing in software architecture, and the author of Software Architecture for Developers (a developer-friendly guide to software architecture, technical leadership and the balance with agility). He’s also the creator of the C4 software architecture model and the founder of Structurizr, which is a collection of open source and commercial tooling to help software teams visualise, document and explore their software architecture.

You can find Simon on Twitter at @simonbrown ... see simonbrown.je for information about his speaking schedule, videos from past conferences and software architecture training.



Re: Why aren't software architects held accountable?

Why is it important that software architects be held accountable?

Re: Why aren't software architects held accountable?

Jason, Interesting your question but what does it mean ? Do you think that architects cannot be accountable about what they design ? Thanks

Re: Why aren't software architects held accountable?

I ask the question "Why is it important that software architects be accountable?" because I don't consider that to be the actual problem.

Re: Why aren't software architects held accountable?

Accountability probably isn't the problem, being somewhat akin to shutting the stable door after the horse has bolted. I don't think bad design decisions come from a belief that you'll "get away with it" but may arise from only considering the problem with respect to your direct involvement on the project.

Re: Why aren't software architects held accountable?

I share you vision but I verified a cultural misunderstanding by who take the decisions. When a project became complex, the roles and competence must be compliant with the complexity. Sometimes it's not important that the Project Manager has System Architect skills, other case require a Project Manger with that skill and in other case the Project Manager need a staff (System Architect, Software Architect, Operations,...). Recently we had a lot of discussion in a few company, we are doing a merge of technical staffs and I hear everyday the question that you pushed to us. But for every different staff the answer is different. I think that usually none recognize really the figure of a "System Architect" and rarely they are involved in project management. Many times I tried to analyze IASA and ACM library without results: there are NO accepted connection in a flowchart about role and responsability in doing correlations between System Architect and Project Management. Everywhere and everytime they are located in engineering staff, never like controller or manager. The most consolidated role is lead architect of architect or developer... but without responsibility on delivery and deploy. I see every day company spending tons of money only because no system architect are involved in designing and supporting the deployment. Best Regards Renato

Re: Why aren't software architects held accountable?

The reasons why a "building architect" is accountable are clear: their registration with the ARB or AIA indicates a level of ability and reliability that their client expects to be upheld. Software architects' roles are far less well understood. We always seem to come back to this point eventually!

While I don't necessarily believe it's a Good Thing for architects to be unaccountable for their design choices, I can imagine some reasons why they aren't:

  • Architect is no longer on the team come judgment day (too expensive/busy/important)
  • Drivers (requirements, constraints, assumptions) no longer valid
  • Design authority, and therefore responsibility, has been shared (diluted?) amongst the development team

There's a lot more that could be said about agile's positive and negative impact on responsibility and even achievement so I'll save that for a separate article :P

This is perhaps all just part of career growth: team members improve and take responsibility (either as a group or individually) and in so doing inherit the responsibility for decisions already made.

This is not to say that this is necessarily a Bad Thing, either! We're not involved in civil engineering and just as we don't require the same time and cost for our projects we wouldn't necessarily expect to be held accountable in the same way. Not least to avoid Analysis Paralysis.

Re: Why aren't software architects held accountable?

Thank you Kevin for your reply, and I could be agree with you. It's a complex discussion but I share also your opinion.

The only comment that I think can be useful is that in the case that architects have to be unaccountable (I'm talking about System and Software architect): the team must contain a role that clearly can hold that for the architects.

Often Simon talk about failure or delivery problems of a solutions because everyone think that the Project Manager hold (alone or with his teams) all details to address and solve all issues. But rarely happen that the architects pointed out clear requirements that are a "warranty" of success if the Project Manager doesn't have similar experiences.

My experience was that in software development the Project Manager,and often also Software Architect, use to think that every issue could be solved writing code... At Enterprise level like SMB level.

Thank you again for your fast reply,
Renato

Re: Why aren't software architects held accountable?

It's because creating software is inherintly an engineering task that's being performed by people who aren't engineers and the necessary discipline is lacking in the programming profession. For the latest trends, we look to blogs over professional organizations. Gaining specialized expertise in the latest technology matters more to us than gaining professional credentials that show that we understand the theory behind what we do. Here's an MSDN article explaining why our profession belongs to the field of engineering, and not art or science. http://msdn.microsoft.com/en-us/library/bb508955.aspx AS to the software architect question, it's simple, a software architect is the senior guy who's either tired of programming and/or wants to make more money. Does he have a masters? Probably not. What about a certification, such as those put out by the SEI? Probably not. In other professions, they expect more. An accountant is not a CPA until he passes the exam. There are tiered certification levels for actuaries. Other engineering professions have accredidations as well as masters programs.

Re: Why aren't software architects held accountable?

Accountability must be measured against the importance of the risks at sake.
I do believe that the guy behind a software defect that would cause the loss of lives or billions of € will definitely be identified, his role understood and will be held accountable, even if he has no certification.
We all heard stories about people in the software industry paying late fees, or being sued for copyright violation, or facing jail for spreading viruses.
I personnaly feel accountable for even the smallest typo in the user guide of an application I've designed. If anyone ever feel they've been impacted by something wrong I've done or overseen, I step forward and take the blame. And I think every software architect feels the same way. And the fact that this kind of defect doesn't make it to the headline news of the local TV channel doesn't mean we're not accountable for it. It just means that the consequences are very limited.

Re: Why aren't software architects held accountable?

"And I think every software architect feels the same way."

Feeling accountable is not the same as being accountable. I'd like to agree, though, that anyone worthy of the title would feel accountable, even if they were never actually held to account.

Re: Why aren't software architects held accountable?

I was waiting for someone else to mention this, but, as no-one has, I'll weigh in:
  1. The rate of change of the technologies are very, very, different, IMO. Building Architects work with components and approaches that are generally tried and tested (by engineers). Yes, there is innovation, but not at the continuous re-invention rate that the software industry works to.
  2. Also, the priorities of the industries are very different. Software usually has speed of delivery as its primary focus, construction usually has inhabitant safety as one of its prime requirements. These differing requirements lead to differing approaches to accountability. However, that is not universal across the software industry - I would bet that if you examined the level of accountability of the architects of the Boeing 777 flight control computers, say, you would find that they were held highly accountable.
This post has prompted me to re-read the investigation into the Ariane 5 rocket failure, which seemed appropriate as a example of a situation where a software failure (or rather a chain of errors) led to the loss of US$370 million worth of equipment. In the light of this article, it is interesting to assess which errors were due to architectural mistakes: http://homepages.inf.ed.ac.uk/perdita/Book/ariane5rep.html

Re: Why aren't software architects held accountable?

I think they are held accountable... but in different ways than you might think. Architects are not only responsible for deciding how to technically implement something. They are resposible for the skills of the technical teams they work with, the technology platform, assisting with planning (Particularly prioritization of tasks vis-a-vie technology, availability), technology strategy, and last but by no means least communication with developers to ensure that they understand what is expected of the team. So how does a project usually go on the rocks? The first indicator is often some sort of slippage... in the time line, feature set, or approach to implementation. Why does this occur? There are *many* reasons, but consider this: An architecture can be proposed for a sub-system or component and a development team could "spin" on the implementation... for a number of reasons: insufficient understanding of the technical design, a gap in their own technical skills, or the architecture may have highly complex implementation requirements. Looking at each scenario: Insufficient team understanding - This would ultimately be a failure of the architect to communicate sufficiently with the team and ensure appropriate "hand-off" of the technical design. A gap in developer/team technical skills - This is a failure of the architect as a coach and mentor. Part of an architects job is to assess team skills and facilitate growth in the development staff so that developers can perform the technical tasks that they require. Architecture with highly complex implementation requirements - Architectures must be matured to ensure a clearly defined and reasonable effort and approach to implementation and it is the responsibility of the architect to do this. If you look at all of these failings they do come back to the architect, but in a more systemic way. The converstation that I as a Director would have with an Architect in these scenarios is much more about their job performance and those are conversations that SHOULD be held privately. In contrast, a teams failure to deliver a unit of work through splippage, etc is an event that SDLCs and Project Manangement methodologies purposefully make very visible. That is why the focus is on overall team committment and delivery not the individual. My point: architects are held responsible... privately. They are leaders of the technical team and as a result their failure is viewed as an individuals failure. Since their individual failings translate directly into their reviews whereas team failings have far less impact on individual reviews, these matters are typically handled privately.

Add a comment Send a TrackBack