Monthly Archives: April 2011

What does an Architect do?

I’ve been working with numerous software organisations for years, occasionally where the software is intended to be embedded in hardware… I regularly meet people with the role “Architect”. But I don’t really have a clue what real architects do—they design buildings, basically…

I’ve seen a lot of bad effects caused by inadequate metaphors in software engineering—engineering, for a start. But even worse, in my opinion, is architecture. Architecture has no place in software—and to explain why I feel that to be the case, I need to understand what architects do.

Berlin, Potsdamer Platz, by Nusco

Berlin, Potsdamer Platz, by Nusco

My brother is an architect, so I asked him to explain in reasonable detail…

Responsibilities

What (in the process of creating a building) is an architect responsible for? Which types of tasks does she delegate, what kind of decisions must she take himself? What kind of people is she working with and who does she report to?

Analysis

First job of the architect is to analyse the needs of the client. A good architect will engage the client in intensive dialogue about all important aspects of the building: Costs, energy consumption, number of people to live/work/have fun in the building etc. She needs to pay sufficient attention to detail and to gain a sound understanding of the kind of activities that the clients plans to entertain in the building. Especially for corporate buildings, this requires a quite deep understanding of the client’s business. I was astonished by the similarity of the questions my brother asks a new client to those I use in a first assessment as an agile coach!

Very detailed prescription

The architect “designs” the building on many different levels of detail. Materials for the main structural elements (walls etc) are defined just as well as doorknobs, plugs, and the colour of the carpet. For topics involving technical specialist knowledge, like electricity and network, heating/cooling, machines that need to be built in, the architect involves the relevant specialists. An architect does not have fundamental technical knowledge of all the technologies built into his product!

User interface

Obviously, this is not a term that architects use—but what stunned me was that the elements of the building that its users actually see and touch are those that she spends the most time and energy on. For most projects, these visible details’ design and the resulting user experience is much more important to the architect than the actual “building blocks” constituting the main physical structure of the building. A good architect differentiates herself from a mediocre by her attention to detail.

Planning and Controlling

The role of an architect is different in construction projects in different countries. In Germany, the architect usually is also the project manager of the building project. In other countries, organisation works differently—the architectural design usually is handed over to a builder who manages the actual construction process.

People

Common layman’s view of work at a building site

Everybody I talk to about building processes and architecture seems to think that most people working at a construction sites are craftsmen—experienced specialists sufficiently equipped with skills and tools to work autonomously on the part of construction they are responsible for. I see this to be the case in software projects (or complex systems development, like cars, airplane, medical device development, for that matter), which seems to support the metaphor of an architect.

Quite long ago, this has in fact been the case for buildings. You might have read “The Pillars of the Earth”, where Tom Builder creates a cathedral with a team of experienced craftsmen. But:

  • This has been in the middle ages (12th century)… And
  • There hasn’t been an architect. That role developed (much) later.

How things are

Today, big construction projects are carried out by construction companies that bring in lots of “assemblymen”—basically untrained people who have the ability to carry out exact instructions to assemble pre-built parts into a greater whole. They are not expected to (and mostly can’t) make any decisions, not even small ones (they might even have instructions in which order to turn the screws).

A common architect’s saying goes, “when the workers begin to think, things start going wrong”…

Most, if not all, parts of the buildings constructed nowadays are industrially produced. There are no carpenters on site anymore who craft doors and frames, all parts are ordered from catalog and delivered on site to be assembled. That basically makes late changes to the detailed design impossible (or at least quite expensive), as small changes lead to parts that don’t fit anymore.

How the architect interacts with workers

This situation enforces the need for detailed designs and prescriptions and leads to the architect’s responsibility for detailed design up front. She needs to control every contribution and constantly check if everything is going according to plan and design… Command and control at its best, frequent shouting generously included.

And Software?

I must admit this role description, as sketchy as it is, fits even less into my view of software development than I had thought. I’ll address the comparison of these findings in a later post. Until then, I’d like to know:

  • Do you know of duties of an architect or details of her work that would complete this description?
  • What do you think about the usage of the architect metaphor in software?
  • What other metaphor would you recommend to use instead?

How to be an Explorer of the World

Recently got a book in my hands which contains simple, yet amazing tips on how to treat the world like an artist and reflect on what you experience in your world:

Write down ten things about the place you’re sitting which you did not recognise when you sat down. Use your senses. Do it quickly. Don’t censor yourself. Go ahead!

“The world we live in, especially the awesome details, can be obscured to us by their simplicity or prosaicness. You don’t notice them because they are directly before your eyes.” (paraphrasing Ludwig Wittgenstein)

ALE Network – first ideas from AgileStammtisch Düsseldorf

It seems like yesterday that Jurgen Appelo started the Agile Lean Europe group on LinkedIn. I noticed it because I follow Jurgen on Twitter, and because I knew him from the XPDays Benelux last year. I didn’t really care at the time (I think it might have been early February) as I thought, “not another discussion group on Agile…”

Then we met again at the Play4Agile conference which I organised with a few friends. One evening at the bar, we started talking about his ideas for the network and my vision of an IdeaFarm (you can do a perfection game on my vision using the link). We immediately found matching ideas and started to develop the plan with the big list, small list and tiny list… the envisioning workshop before the XP2011 conference in Madrid and the session he wanted to do there. Facilitated by Michael Sahota, we further designed the plan he published afterwards.

We created a group of organisers to get started, with Ken Power (who was at Play4Agile as well), Sergey Dmitriev, Vasco Duarte, Jacopo Romei and myself. The ideation turned into design… and a plan. The next step was to entice the local communities in all European countries to come up with ideas and expectations which could then be integrated into a vision to be discussed in a World Cafe session at the XP2011. I volunteered to facilitate and organise this for the German community.

During the last weeks, I got in touch with people I know in different local user groups and published the plan to peers and newsgroups. People volunteered to bring this topic into user group meetings in Düsseldorf, Munich, Karlsruhe (committed) and possibly Hamburg und Berlin. Yesterday, Marc Bless and Andreas Leidig discussed the ALE network idea in the SUGKA in Karlsruhe, and tonight Andreas Ebert-Karroum and myself did the same at the Agile Stammtisch Düsseldorf, hosted and organised by codecentric (including food and beer, thank you!).

After a short introduction to the topic (including parts of the story above) I asked the people present to write down their ideas on cards, and gathered those to be included in a MindMeister map I created to prepare for Madrid (give me a note if you want to be invited to that, via comment, mail or Twitter). I want to share some of these ideas here…

  • Connecting to other EU people made me realise we are part of something bigger
  • I want to visit a local user group while I am on vacation
  • Think global, act local—why get ruled by the US?
  • I need speakers for my local Agile/Lean meetup! (we’ve run out of talks:-( )
  • “Journeyman swaps” to balance out cultural and country-specific strengths and weaknesses
  • Central register of events and groups
  • Recognise our cultural deficiencies and understand when we need to leverage the diversity found in other EU countries
  • I’d like a vast library of success AND failure stories, i.e. “we had problem X; we tried Y; it did[n't] work. In hindsight I’d say it did[n't] work for reason Z.”
  • EU loves to live at home. US are used to travel. Concentrate on ideas! Transport ideas to regional areas.
  • Not building a network will make us irrelevant.
  • McFlurry ice cream flavours differ in every country in Europe.

We also gathered things we don’t want to see:

  • No board
  • No subboards
  • No committees
  • No certifications

More about this topic will follow. Stay tuned!

April 1st

An awesome day. Several things I need to tell you… Some of which might be true.

  1. I decided to start blogging every day. We’ll see how that goes.
  2. I got a book, highly recommended my my friend Michael Sahota, started reading the first 5 pages, and have been sucked in. Review coming up…
  3. The ScrumAlliance was bought by IBM. Just the next best thing since Oracle sucked up MySQL…
  4. A new fragrance you just need to know about.
  5. An amazing use of stickies by Nancy Duarte.
  6. A post on Why Kanban is not Agile raised my interest… It’s based on the above-mentioned book, so… I’ll comment later.
  7. For those of you who haven’t read it yet: The Half-Arsed Agile Manifesto. Awesome. Not new though:-)
  8. Met an architect today. One of the real ones, building buildings, not software. Learned interesting things confirming my opinion that Architect is a metaphor that should not be used in a software context. More on that later.
  9. I’m working with a new method called agile For Two now. For tiny projects.