This post concerns a technique I use which provides a structured way of learning and why I believe there are real tangible benefits in creating your own personal reference model.

What is a Reference Model?

Wikipedia defines a reference model as:

“A reference model in systems, enterprise, and software engineering is an abstract framework or domain-specific ontology consisting of an interlinked set of clearly defined concepts produced by an expert or body of experts in order to encourage clear communication. “

Highlighting the terms “domain-specific ontology” and “an interlinked set of clearly defined concepts” it is clear to recognise that a reference model should be something that is relevant, understandable and specific to the problem domain. Reference models provide a quick method of being able to view and talk about a particular domain.

A personal reference model?

On a daily basis, I add to and maintain my own personal reference model. This reference model is added to and refined as and when I research, read and learn new things. I know some of you might be thinking, surely if we create our own reference model that goes against the definition of a reference model? Isn’t a reference model meant to be defined by an expert or body of experts? If we take the definition of a reference model literally, then maybe it is. What I would say it bear with me on this one, while I explain the benefits.

Keeping your own reference model serves a few purposes:

  1. Structures and provides a basis for learning and research
  2. Acts a body of knowledge that you can refer to regularly and often


My reference model is grouped into disciplines (I.e. Development, Architecture, Testing, Leadership) which is then sub divided into sub categories (I.e. Enterprise Architecture, Solutions Architecture, Software Architecture). Think of your reference model as a large mind map of all the technical concepts you use and can refer to on a day to day basis.


You don’t need to invest heavily on toolsets (other than time and dedication of course), all you need is an internet connection, a browser and a free cloud hosted documents service such as Google Docs or Microsoft One Drive.

Why should I maintain my own model?

  • You can’t remember everything – Principally, keeping your own reference model allows you rely on something other your own knowledge for concepts that you do not regularly encounter. There is no way you can remember everything, so there is no harm in cheating and making notes you can refer to as and when required. You might ask yourself, why not just research this by searching as and when you need it? The problem there is that you are often reanalysing and trying to understand the concepts from the beginning. If you make notes of your own analysis and understanding they’ll already be in a format you’ll understand and you’ll find it more easily to remember. Having your reference model available and ready means that you’re prepared and ready for instances within your career that you might need them. It also allows you to save time.
  • Use your reference model as a model to coach others – Creating and maintaining your own personal reference model can be used to train and cultivate other peoples knowledge. At my current organisation we regularly conduct a “Show and Tell” with developers. This exercise allows developers to present a topic on anything that they’re interested to the wider development teams. Creating a reference model with granular topics allows you to share your knowledge with others, not to mention the time you’ll save by digesting subjects into a format you’ll understand and highly likely other people will understand. Personally, I’ve used my own research as a basis to train teams from multiple disciplines, from development to project management.
  • Recap little and often – Like most skills in life, you learn through repetition. To this end, make sure you look at, refine and add to your reference model regularly. Doing so allows you to refine and improve your understanding.
  • So much to learn… so little time… I personally struggle to structure my learning, I often find that my mind wanders and I end up moving onto new topics when I should be completing old ones. I find “shiny new things” to learn rather than completing the learning of topics I’ve already started. This is a behaviour that I’ve isolated and I am aware of through keeping a personal development diary (a technique highlighted within “Becoming a Technical Leader” by Gerald Weinberg). By maintaining a reference model, I’m able to acknowledge this behaviour but also work with it. By taking and maintaining my reference model, I’m able to keep track and come back to topics I’ve started but not yet completed.
  • Enjoy and track your learning – Keeping track of and recording notes of your learning allows you to structure your learning and to enjoy it. I personally find that this approach works well, and I’m always looking for new topics to supplement gaps in my knowledge. Doing so, I always feel that there always “weaknesses” in my skills of which I can improve by researching and revising a particular topic.

Closing thoughts

As the above justifications highlight, creating your own model provides mechanisms and methods for both the development of yourself and your peers. Now you might think that this is common sense, and in truth it is… but the benefits I’ve personally gained from maintaining my own reference model have been beyond what I ever thought I would achieve when I started this exercise. Your own reference model should be maintained, referred to and its creation be enjoyed.