Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ


Choose your language

InfoQ Homepage Presentations Architects? We Don't Need No Stinkin’ Architects!

Architects? We Don't Need No Stinkin’ Architects!



Michael Stiefel attempts to clear up some misunderstandings regarding the role played by the software architect.


Michael Stiefel, principal of Reliable Software, Inc. is a consultant on software architecture and development, and the alignment of information technology with business goals. He was a member of the OASIS Technical Committee that developed the SOA Reference Model. He is also a Microsoft Solutions Architect MVP. He graduated MIT and he is an active member of the IEEE Consultants Network.

About the conference

DevTeach stands for Developers Teaching Therefore, It is a conference done by developers for developers. These events have all the elements of an international conference with speakers coming from all over the globe but keeping the values we all treasure from local community events. We pride ourselves in offering the biggest diversity of subjects covered in our various sessions. All our sessions provide presentation material to the attendee and whenever possible, hans-on training. DevTeach is not so much a conference as it is a “developer festival.

Recorded at:

Dec 09, 2011

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • Absolutely ...

    by Christian Requena,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    First of all, thanks a lot. Great talk.

    It is very important that you pointed this out, because everybody fits a particular role in a team, in a departement, project etc. Everybody has different skills and ways to approach problems.

    I'm a DevOps advocate and this talk helped me confirm, that no matter how much collective awareness you may try spread and how much you bring everybody involved in a project closer together, you cannot expect from each member to take care of everything - to know everthing. Roles need to be defined, while keeping in mind that no one should either encapsulate themselves behind that role nor let themselves get encapsulated.

    Architects, test engineers, software eng. and system admins/engineers are all needed and should work very close together and cooperate with each other.

    Chirstian Requena

  • I would like to disagree, but I can't.

    by Augusto Rodriguez,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I think this is a great talk about the responsibilities of a "Software Technical Architect". I've put the role in quotes because different companies have a very different definition of what is a STA. I've been a STA in a software shop in which the title meant "Senior Developer+" or "Tech Lead+", and the main responsibility was to design a good application without any concern about where the app would live or how the deployment would be done.
    About 5 years later, I'm still an TA, but I'm now responsible for different aspects of the software development (most if not all of the ones in the presentation) and I can see how different my role is and the responsibility associated with it compared to my previous gig as a 'STA'.

    About the subject of this post: "I would like to disagree, but I can't"; Part of me thinks that a good TA should be spot on coding practices, design, component segregation, quality... but I realise that this is falacy as there are other aspects that are very important too, and a TA can't be an expert in every facet (infrastructure, UX, etc).
    Anyway, I still have the feeling that a good TA should master (or have mastered) one aspect of the development process, but I can't justify why.

  • Good talk, but wrong example

    by zhu bruce,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    In the Shanghai building example, the speaker misunderstood the "building" in the right picture. Those bamboos are actually scaffolding, which are set up temporarily for maintenance work of the building at the left side, and will be removed once the maintenance is done.

  • Right

    by Thomas Courant,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    You're right.
    When i started a project without a clear definition of architect and developer role, it leads to misundertanding and problems in the team. After a while, the roles changed a little and were clear to all (especially me the architect) and looked like what is explained in the presentation. As a consequence, the team was more efficient.

  • Who is Architect?

    by helen wu,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    I can''t agree with you. If one is good at abstraction as you believed that an architect is supposed to do in a software development team, by nature, one is a good developer who are among best in design and implementation of the system. However, the criteria for good designer or implementer may vary. So it is all judgement call. who is the judge then?

  • Excellent balance of theory and real-world practice

    by Matthew Fincher,

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Thanks for the great presentation!

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p