« Seen Around the Web - April 30, 2006 | Main | 10 Tips for Writing Better MRDs - Part 2 »


Get *FREE* Updates on All Future Articles!

  Subscribe via RSS Feed   |  Subscribe via Your Email Address: 

10 Tips for Writing Better MRDs - Part 1

  5 Comments  Latest comment by: Marcus Ting-A-Kee
   reddit  |   digg it!  |   del.icio.us

An MRD – "Market Requirements Document", is a document written by Product Managers or Product Marketing Managers to specify the requirements that a product must meet. This document is used to propose a new product or to revise an existing product. It is used by the engineering team to develop the product.

At some software companies in Silicon Valley, MRD only covers high-level features. In such cases, product managers create another document - usually referred to as PRD (Product Requirements Document) to define more detailed product requirements.

In this article, I use the term "MRD" to collectively refer to all such documents created by product management and/or product marketing teams for the purpose of conveying product requirements to engineering team.

Ten Tips for Writing Better MRDs (Part 1)

  1. Write From User's Perspective
    Write requirements from the perspective of users. Make use of 'Use Cases' and 'User Personas' to achieve this. Consider the following two approaches for specifying "Login" functionality for a sales force automation (SFA) software that your company is developing.



    Approach "A":
    Software shall allow users with privileges to log into the system through a login screen which shall ask the user to provide credentials to login. Software shall authenticate these credentials and upon authentication shall permit the users to access sections of the software that they have access privileges for.

    Approach "B":
    Mike is a sales manager and Cathy is a sales rep. When they open the software, they see the login screen. They enter username and password in this screen. If the username/password is correct, they are able to log in. Once logged in, Mike can access all sections of the software. Cathy can only access those sections of the software available for sales reps.



    Which approach is easier to read and understand? In my opinion, without any doubt, "Approach B". Plus, it is also much less boring to read!
  2. Use Screen Shots
    Use screen shots or mockups to explain what you mean. Most of us have heard the saying "A picture is worth a thousand words". When it comes to writing MRDs, a screen shot is worth a thousand words!

    For example, look at the following screen shot - how many words do you need to describe this? I'd guess probably more than a thousand.

  3. Write Using Simple Language
    One thing I've noticed often (much to my chagrin!) during my 11+ years in the industry are MRDs that use a very contrived language. I think this is primarily caused by the misconception that MRDs need to sound formal and professional.

    Instead, imagine that you're writing the MRD for your friend who works in the engineering team. Your goal is to help him understand what you need so that he can develop the product to meet those needs. This will help you avoid falling into the trap of contrived language that turns off the readers - sometimes to the point where they shred your MRD and feed the shreds through the shredder again!

    Plus:
    a) Keep sentences short. Break up long sentences into smaller ones.
    b) Avoid large blocks of text. Break them into smaller paragraphs.
    c) Break up large bodies of text with screen shots, tables, bulleted lists, etc.
  4. Use Templates - But With Care
  5. I've found MRD Templates to be very useful. They offer several benefits including:

    a) Templates provide a standard format that makes it easier for readers who have to read multiple MRDs.
    b) Templates make it is easier to bring new product managers up to speed in writing MRDs - as MRD contents vary from company to company.
    c) Templates help ensure you don't forget to cover all aspects that need to be covered in MRDs.

    However, some companies go way overboard in using templates. One of the largest companies in Silicon Valley has a template that runs about 60 pages and in which all sections are mandatory. I've heard that it feels very oppressive and has several negative effects:

    a) Product managers dread having to write MRDs - almost as much as having to go on a south Texas quail hunting trip with Dick Cheney!
    b) Engineering teams dread having to read MRDs.
    c) It takes a long time to write as well as read the MRDs.

    I recommend you to use MRD templates, but make sure they're not overly long. Plus make sure that the product managers have the leeway to skip sections that are not applicable and to create new ones if needed.
    Like This Article?

    Why not share it with friends and colleagues? Just click here...
  6. Prioritize Requirements
    In all these years, I've never worked on a full-scale project where the engineering team was able to implement all the features that were included in an MRD - often due to factors beyond the control of any of us!

    This means product managers, as MRD authors, should provide a way to help the engineering team decide which features to implement and which to defer when the need arises to make this determination.

    This is best achieved by prioritizing the requirements. I've found that classifying requirements into categories like P1, P2, P3... works just fine. In this categorization - P1 is the highest priority, P2 is the next highest and so on.

    The best way to decide the priority of a given requirement is the benefit of implementing that requirement - both to your customers and your company. In practice, other factors come into play as well.

    I recommend that you only include P1, P2 and P3 requirements in your MRDs, as lower priorities are unlikely to get done in most projects anyway. Plus it makes the MRD easier to read.

There you have it - the first five of my ten tips for writing better MRDs. I'll cover the rest of the tips in my next article. Until then...

Like this article? Then you will love my FREE monthly email newsletter - loaded with useful information for Product Management & Product Marketing professionals. It is FREE - get it now!

About the Author: I'm your author, Michael Shrivathsan, an expert in product management and product marketing with successful experience spanning two decades. I live in Silicon Valley, USA. For my day job, I manage the product management group at an exciting software startup.

Comments

WOW this is an excellent post. It is very useful and practical.

I have been guilty of what you describe in #1 and a little bit in #3 also. I will try to improve in this areas by following your suggestions. OKAY write the next five ASAP! I want to read that too. Kudos for the nice post.

Michael: Good tips you have here. I agree with Raj that they're practically useful. This is the best thing I like about blogs compared to books i.e. they'e mostly practical, not just full of theory.

* In general, most MRDs are indeed too formal and stilted (as a result BORING) and my theory is that developers don't read it because of this. Writing clearer, easy to read MRDs would help in this regards.
* I am not sure whether I agree with you or not regarding templates. Yes, they have advantages. But often they end up handcuffing PMs and make writing MRDs feel like a chore. Instead it should be fun, what is more fun than writing specs for creating new products and features? I'll just say templates are a necessary evil and leave it at that.
* I agree with you regarding screen shots. Another useful thing is a flowchart that shows how the user pogresses through the app. May be it is a part of your next five tips? ;)

I often see MRDs that provide a list of features without any prioritization. Prioritization quite frankly is the most important part of an MRD if you ask me. If no prioritization is assigned developers will simply implement features that are either cool or easy to implement. The most important business features often tend to be boring and grunt work. Guess what happens to these?

Michael, I like your bottom line suggestions regarding MRDs, but I don't believe that log-in functionality is a good example of a requirement. I have written that log-in functionality is a form of user interaction design. In fact, I consider log-in functionality to be high on the list of suspect requirements. Also see the "design a fantasy solution" blurb in my entry on requirements testing.


Hi Roger,
Thanks for the comment and the links. They are very good counter points.

This is very helpful to our readers to read the different perspectives and decide what best fits their own unique set of needs.

Scott Sehlhorst at Tyner Blain made some excellent points in his post on this subject as well.

- Michael

Great post! Quick question for you.

Suppose you are building a system that has multiple types of users each looking at completely different things. For example, to the typical end-user the system provides a platform for customer care, to the manager a way of monitoring customer care personnel productivity and complaint trends; and to the operations administrator tools to monitor the overall health of the system (e.g., server loads, response times etc...) Each group of individuals wants something different.

Would you suggest that 3 sets of documents are used to, "Write From User's Perspective?" I've found that from a relevance perspective writing from a user's perspective really addresses the 'what this means to you,' however it definitely increases requirements management needs.


Hi Marcus,
Thanks! That is a very good question. Here is my take on it.

Instead of 3 sets of documents, I'd recommend 1 document that defines 3 personas.

For example, I'd define personas like:
  • Jennifer, CSR: Jennifer is a Customer Support Rep that will use our software to provide customer support to her company's customers.
  • John, Support Manager: John manages the team of CSRs in his company. He will use our software to schedule and manage CSRs.
  • Roger, IT Manager: Roger manages the installation of our software. He wants to be alerted on server load, response times, etc so that he can proactively manage it.
After defining these personas in the MRD, I'd describe each requirement from the perspective of one or more personas. I do agree with you that this will increase requirement management needs.

- Michael

Post a comment


Recently Commented-On Articles

Go to archives of all articles >

Get *FREE* Updates on All Future Articles!

  Subscribe via RSS Feed   |  Subscribe via Your Email Address: