The problem with templates by Ivar Jacobson

Over the years I've come to regard 'templates' as one of the great evils of software process efforts. I was actually leading the Rational Unified Process team about 9 years ago when we made a big push to create templates for all the artifacts.  At the time I thought it was a good idea since a lot of people had been asking for them. I now regard the decision as having done a lot of damage.

 That statement is likely to shock some - surely I can't be arguing against having standard formats for organizing project information!  Of course I am not arguing against this - but I am against the way that templates are used in many organizations.  

In these organizations, people have little idea of the purpose of many artifacts or work products - they don't understand what they are doing or why, they just know (or believe) that they need to produce these work products.  The templates have been provided as a cheap way of rolling out the process - rather than actually building skills the templates are provided and people are instructed to simply fill out the templates to follow the process.

This approach is wholly ineffective. Organizations fail their people when they require artifacts without explaining why they are needed, or helping them to understand if they are needed, or helping them to improve their skills doing the real work that the artifacts merely document.

The usual result of providing standard templates is that people often blindly fill out the template sections, not knowing what to put in them, feeling compelled to fill out every section because it's there.  Mindlessly filling out templates is a waste of time - the results are valueless, albeit standard, and do not contribute to positive project results.  

I am not arguing for eliminating templates, however - there is some value in having a standard way of formatting and organizing information, but there needs to be some real information in the results produced.  The real problem is lack of knowledge and skills needed to do the work - this is where effort should be spent, not in standardizing templates.  Once people have expertise in doing the work, a consensus can be reached in the organization about how to document the work.  "Templates" will emerge out of that.

10 Comments
  1. Stephen McConnell | July 5, 2011 at 5:23 am Reply

    avatar

    I believe the issue here is not so much ‘templates’ as opposed to (a) an insufficiency of semantics around the ‘idea’ that a template is templating, and (b) the frequent presumption that a templates is a written document by consequence assertion that Microsoft Word is the mandated design tool of choice.

    If we broaden our definition of a template to encompass formal models I could nominate a standard, and from that standard declare that the design principals and semantics asserted by a model shall be the template. I could go further and talk about the tools supporting the rendering of instances of said model. I could go further and talk about policy related to model interchange.

    Take the OMG Business Motivation Model (BMM) specification as an example. It provides me with a template (model) for thinking about the vision of an organisation, it’s goals, objectives, motivations, strategies, etc. My tool of choice would be a UML editor with support for the profile. My interchange policy will be grounded on a appropriate version of XMI. My strategy for template adoption would encompass training in the semantics of the BMM (with prerequisite training in the underlying version of UML).

    Cheers, Steve.
    Senior Principal Architect
    Fujitsu Australia

  2. Kurt Bittner | April 20, 2009 at 4:52 pm Reply

    avatar

    I think the main thing is to think about how you are using templates. As a way to normalize and standardize the organization of information, they can be useful as long as the people using them are skilled. If the people using the templates are not skilled, the result can often be little more than “garbage in standard buckets”. A better strategy is to make sure that the people using the templates have solid skills – that usually requires coaching and “learning by doing”, or at least seeing some good examples. Training and reading books can help, but “doing” is usually needed in order to get good at something.

  3. How to Get Six Pack Fast | April 15, 2009 at 1:52 pm Reply

    avatar

    After reading the article, I feel that I need more information on the topic. Can you share some more resources ?

  4. bresywherromo | August 3, 2008 at 5:23 am Reply

    avatar

    Tahnks for posting

  5. Jan Glas | July 19, 2008 at 8:26 am Reply

    avatar

    Hi Kurt and everyone,
    this article came just in time when many (senior) analysts in my department want templates for analysis artefacts (as I am analysis guarantee in our company). We have a long discussions that always ends with the same. You can have as many templates as you want – if you and all your people understand them.
    Thank you for giving me more ammunition. But the reasoning is endless.

    Jan

  6. Byron | July 14, 2008 at 5:36 pm Reply

    avatar

    I have a love-hate relationship with templates.

    When I have something that I want to communicate it often helps to start with a template that has been used to communicate a similar concept and adapt it (if necessary) to the current task at hand. This is the love scenario; the value provided is helping me tell a story.

    However, when the template is one of many artifiacts required by a software development process it is often unclear how the document will be used downstream and what value it is intended to provide to those readers. This is the hate scenario. Try as they will it seems impossible for the procees folks to articulate the value perspective of the templates clearly enough to enable one to put the appropriate level of effort into filling out the template.

    Education is part of the answer; I’m not sure what the rest of the answer is but I would guess that it involves some corporate cultural changes that are not easily attained.

  7. Cheryl | July 8, 2008 at 4:38 pm Reply

    avatar

    As with any process, “templates for templates sake” is as ineffective as “process for process sake.” However, I believe templates provide the guidance when there is a need to communicate information, but the user is essentially clueless about what is required. So, we provide both the guidance and the template, but leave the use of other artifacts open to the user as long as it fills the same intent. If there is a better way of doing something, we’re all for it.

  8. Kurt Bittner | July 8, 2008 at 4:37 pm Reply

    avatar

    I think the solution lies in two areas: skills and culture. In the area of skills, many organizations do not invest in building the skills of their development teams; they think that by providing templates they will enable relatively unskilled people to “fill out forms” and produce good results. It is like saying that all one needs are the income tax forms in order to file a proper return. Standardization of information is important to a degree, but skills and the ability to think are more important, especially in a creative endeavor like software development.

    The second problem is one of culture – a culture in which low-skilled people are simply going through the motions and filling out forms is not a performance-oriented culture. It is not one that expects and demands results, one that rewards results and adapts its behaviors to produce better results when results fall short. I was re-reading Tom DeMarco the other day and he makes the observation that too often people expect “the process” to supply “the answer”. Only people who are motivated, engaged and skilled will come up with “answers”. Filling out forms and going through the motions is never going to yield good results.

    “Processes”, to the extent that they are useful, are basically “patterns” of behavior that have tended to produce good results for at least someone. Software is not like chemistry, however; it is inherently creative and not governed by physical laws. It is unlikely that exactly the same things will need to be done each and every time. Thinking, skills and adaptability to variation is always required. You have to be engaged and thinking, all the time.

  9. Oye | July 8, 2008 at 3:26 pm Reply

    avatar

    I concur with your view on templates but I have to admit. Your blog has the same short comings. People in organizations tend to develop templates out of the need to standardize processes or documents processes. What we all fail to do is to ask the question “What is the issue we are trying to resolve?” Failing to do so, opens the door to creating processes and templates that adds no value to the organization or the project at hand. I’m asking that you recommend how organizations can use templates effectively.

    As you can see, I don’t have a solution either.