By Jørn Ølmheim and Harald Wesenberg
We were fortunate enough to be able to participate at SATURN 2014. For Jørn, this was his first time at SATURN, while for Harald it was the fourth SATURN conference. As always, we knew that the quality of the conference content is high, and we were looking forward to a fun week with learning new and interesting ideas from other practitioners.
In this group of excellent presentations and tutorials there were many that stood out, but to us George Fairbanks’ talk on teaching architecture was definitely one of the greatest. Many of the more experienced participants at the conference recognized George’s experiences of trying to teach the importance of architecture to the junior team members with varying degree of success, so we were well motivated for a discussion about how this can be done better. Many of us recognize the challenges of motivation and lack of commitment both from your peers and the company to spend time on such activities.
In the talk, George goes through some of the reasons why teaching architecture is hard, and the basic outline for how a short course can be structured for best effect. There are many excellent tips here based on George’s long experience from Google and other companies, and it is well worth a listen for those who find themselves as seniors in an organization with many younger colleagues who doesn’t necessarily see the value of a well-structured software architecture and seeing the big picture. Specifically how do you handle this when all you are given is an hour? George has succinctly framed the problem and identified the bare essentials that have to be included in such a course. His experience in teaching a lot of courses also shows in his emphasis on using a lot of exercises.
The experiences George describes in his talk are also aligned with our own experiences from long years of trying to get people to see the big picture. We have found that many people can be taught how to understand architecture concepts and read architecture diagrams, even if they do not have an IT background. However, when describing the architecture to “non-architects,” we have found that you need to reduce the syntactic complexity of the architecture to increase the understanding of the key concepts. As the practitioners get more experienced, the syntactic complexity can be adjusted. It is crucial to remember that all architecture models are abstractions of the real world, and the abstractions must be chosen and communicated in such a way that it makes sense to the recipient.
Finally, let us do what George warns about at the end of his talk and give you the key message of the talk, which is to always use legends for your architecture diagrams; hence the title “Teaching Architecure Metamodel-First.” But that is not the whole story of course, so we guess you’ll have to watch the video to find that out.