10 Tips for Writing Better MRDs - Part 2
6 Comments Latest comment by: The Cranky Product Manager
reddit
|
digg it!
|
del.icio.us
In my previous blog entry titled 10 Tips for Writing Better MRDs - Part 1 - I covered five tips for writing better MRDs. I know you've been waiting with bated breath for the next five tips. Wait no more, I've covered them below! ![]()
Here, I use "MRD" to collectively refer to all documents created by product management and/or product marketing teams for the purpose of conveying product requirements to engineering team.
If you haven't read the first five tips yet, please read them first. I will wait here. Okay, you are ready?
Here are tips 6 through 10.
- Specify What & Why - But Not How
Product managers are responsible for understanding customer needs, and using this understanding to define what should be developed and why.
The one thing, more than anything else, that causes developers to get mad with steam flowing out of their ears so fast that the accompanying whistle can be heard miles way - is an MRD that specifies *HOW* to implement each and every requirement in excruciating detail.
Consider the following two approaches for specifying "Login" functionality for a customer relationship management (CRM) software that your company is developing.
Recommended - Specifying *What*:
Mike is a sales manager. When he opens our CRM software, he sees the login screen. (...) The login screen also provides a "Remember me" checkbox. If Mike checks this checkbox before clicking the 'Login' button - our software will remember and auto-fill his username the next time he comes to the login screen.
Not Recommended - Specifying *How*:
Mike is a sales manager. When he opens our CRM software, he sees the login screen. (...) The login screen also provides a "Remember me" checkbox. If Mike checks this checkbox before clicking the 'Login' button - a cookie will be written to his PC hard-drive using Javascript to save his username. Username/password will be sent to server only after this cookie is written to the PC hard-drive. The next time Mike comes to the login screen, Javascript will be used to read his cookie. After successfully reading it, Javascript will use the appropriate DOM command to prefill the username in the login screen.
Just as good product managers are experts at understanding customer needs and specifying what needs to be done, good engineers are experts at deciding how to achieve it. Good engineers want the freedom to decide the best how to achieve the desired what.
I've noticed that product managers with technical background are especially guilty of specifying how. If this describes you - just say no to it from now on. Engineers will thank you.
P.S. There are some rare exceptions to this rule - instances where it is necessary to specify how along with what, as the best and/or the only specification of what in these instances is the how. - Cover Non-Functional Requirements
Whereas "Functional" requirements specify the features of the product, "Non-Functional" requirements specify system characteristics such as:
a) Performance
b) Scalability
c) Availability
d) Internationalization
e) etc...
I've noticed that these are often omitted from MRDs as many product managers and product marketers consider these "technical details". I've found these to be very important part of my MRDs and engineers have really appreciated these requirements being defined in MRDs.
Important: When writing non-functional requirements, make them easily measurable (testable) whenever possible. Otherwise, QA cannot test it and you will have no way of knowing whether the finished product meets these specifications or not.
- Review & Update
I have a friend - we will call him Matt (his real name is Steve). Matt works as a product manager at a successful company in the valley. He had an interesting story to tell when I met him for lunch recently.
They had hired a new product manager with about three years experience. Within a few months of being hired, he had somehow managed to alienate many of his fellow product managers as well as engineers.
His crime? He basically considered his MRDs to be sort of like decrees. He wrote them, but did not want to review with anyone or modify it based on feedback. He just wanted the engineering team to take it and implement it without asking any questions!
Don't be like Matt's coworker. Make sure to review your MRD with your fellow product managers and the development team. Keep an open mind and update the MRD based on the feedback in these reviews. This will help you create better MRDs, engineers will like you more (or at least hate you a lot less!), and your team will create better products. - Define Target Market & Positioning
- Include a Glossary
If your MRD uses new terms or common terms in an uncommon way - make sure to include a Glossary at the end.
This will help ensure all of your readers (some of whom may not be technical) understand what you mean when you say things like "Our software will provide SME users the option to be billed a MRC via WAP or PSMS".
Most MRDs I've seen do a pretty good job of covering the Target Market (who will buy and use your product) and Positioning (how your product will be positioned versus competing products).
I have seen some MRDs that don't and the argument that I usually hear in these cases is along the lines of: "Why do engineers need to know this? Isn't defining what needs to be done enough?"
While that question certainly has some face value, I've found that many engineers want to know why a certain product or feature is being developed, who will be using it and what are their alternatives.
This information helps them and other members of the product team visualize the end users and as a result do a better job of creating winning products. My suggestion is to include this information whenever possible - it doesn't have to be very detailed, just a couple of paragraphs will suffice.
Like This Article?
Why not share it with friends and colleagues? Just click here...
There you have it - tips 6-10 of my ten tips for writing better MRDs. I've shown the entire list below for easy reference as well:
- Write From User's Perspective
- Use Screen Shots
- Write Using Simple Language
- Use Templates - But With Care
- Prioritize Requirements
- Specify What & Why - But Not How
- Cover Non-Functional Requirements
- Review & Update
- Define Target Market & Positioning
- Include a Glossary
Here is to better MRDs, better products, and more success...
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
Hi.
this is the first time I saw this blog and I think it is great work by a product marketing expert and just for fun. I am Dutch but had a consultancy company in Germany for many years and now I live in the south of France and doing some work on producing ppt“s for training product Marketing Engineers as a freelance. I always have been tricked by the body of knowledge a real product marketing engineer should possess, but only a few have have this. I have been thinking on doing something in the internet setting up a kind of free training system compiles out of internet sites covering all of these aspects but looking for people to join. Anyway, I will be looking forward to your blog and if interested to talk contact me at: Pypersjan@gmail.com Thanks!
Posted by: John (Jan) Pypers | May 21, 2006 05:31 AM
So - if you had a team of product managers that thought their job ended at the business case, how would you turn them around to understand that these things are essential for them to understand?
Posted by: Chickeyld | May 21, 2006 08:19 AM
Thanks for the tips. One question: I notice you haven't tackled the thorny issue of updating the MRD (or PRD) throughout the engineering cycle. I've often found that once engineers begin to code to the PRD they discover requirements that conflict with one another or aren't as simple as they seemed at first. In those cases, change control review discussions can be very helpful, but then engineers may feel like the requirements are always shifting and that scope is increasing.
How do you handle the overall PRD lifecycle once the document is published? I think many people often just walk away from the PRD at that point and try to brush any issues under the carpet.
Posted by: Kathleen | May 21, 2006 07:37 PM
Michael, These are excellent tips. They're very practically useful. I like 2, 5 and 6 the best.
I'm also thinking of a few other tips. I will add them later.
Posted by: Josh Thomson | May 22, 2006 04:37 PM
I very much agree that failure to document nonfunctional requirements is a major problem. In fact, I contend that the majority of requirements in an MRD should be nonfunctional.
Posted by: Roger L. Cauvin | May 23, 2006 08:45 AM
For #7, the Cranky Product Manager would also add some other often-overlooked areas that are neglected as technical details but can have a large effect on the customer's experience of the product:
- Accessibility (for the disabled)
- Error Monitoring / Logging (so the customer can troubleshoot problems)
- Usage Monitoring / Logging (so customer can determine if users are successfully using the system or if it's meeting the business goals)
- Installation & Configuation
- Live updates / patches
- Day-to-day administration
- Security - sometimes these are core requirements, but if the product is not security-oriented or server-side, decisions that impact security are often neglected until its too lates.
- APIs
Posted by: The Cranky Product Manager | August 27, 2006 07:57 PM