    <rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/">
     <channel>
        <title>ACCU  :: Editorial: Product Definition</title>
        <link>https://members.accu.org/index.php/journals/418</link>
        <description>Professionalism in Programming</description>
        <dc:language>en-us</dc:language> 
        <dc:creator>Administrator</dc:creator> 
        <admin:generatorAgent rdf:resource="http://www.xaraya.org" /> 
        <admin:errorReportsTo rdf:resource="mailto:webeditor@accu.org" />
       <sy:updatePeriod>hourly</sy:updatePeriod>
       <sy:updateFrequency>1</sy:updateFrequency>
       <docs>http://backend.userland.com/rss</docs>


        <h2>Journal Articles</h2>


<div class="xar-mod-head"><span class="xar-mod-title">Overload Journal #47 - Feb 2002 + Project Management</span></div>

<table border="0" cellpadding="1" cellspacing="0">
    <tbody>
    <tr>
        <td valign="top">
            Browse in :
       </td>
       <td valign="top">

                                            <a href="https://members.accu.org/index.php/journals/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c76/">Journals</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c78/">Overload</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c198/">47</a>
                    (8)
<br />

                                            <a href="https://members.accu.org/index.php/journals/">All</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c13/">Topics</a>

                     &gt;                         <a href="https://members.accu.org/index.php/journals/c66/">Management</a>
                    (95)
<br />

                                            <a href="https://members.accu.org/index.php/journals/c198-66/">Any of these categories</a>

                    -                        <a href="https://members.accu.org/index.php/journals/c198+66/">All of these categories</a>
<br />
</td>
   </tr>
   </tbody>
</table>




<div class="xar-error">
   <p>
 <strong>Note:</strong> when you create a new publication type,
the articles module will automatically use the templates
<em>user-display-[publicationtype].xt</em>
and <em>user-summary-[publicationtype].xt</em>.
If those templates do not exist when you try to preview or display a new article,
you'll get this warning :-)  Please place your own templates in themes/<em>yourtheme</em>/modules/articles . The templates will get the extension .xt there. </p>
</div>
<div class="xar-norm xar-standard-box-padding">
   <h1><strong>Title:</strong>&nbsp;Editorial: Product Definition</h1>
<p><strong>Author:</strong>&nbsp;</p>
<p>
<strong>Date:</strong> 26 February 2002 16:46:08 +00:00 or Tue, 26 February 2002 16:46:08 +00:00</p>
<p><strong>Summary:</strong>&nbsp;</p>
<p><strong>Body:</strong>&nbsp;<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e20" id="d0e20"></a></h2>
</div>
<p>The key to successful product definition is dissatisfied
customers, for customers only complain about problems they really
care about.</p>
<p>In defining the features of my current project I have tried to
reduce them to a minimally useful set, leaving just enough
substance to get the customer interested. The first version may
make no sales, but if it draws some complaints then I will be
happy, as every complaint is an opportunity to satisfy a need.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e26" id="d0e26"></a>Product
Requirements Document</h2>
</div>
<p>The product requirements document, PRD, is central to the
product definition activity. It lists the features that the product
is to provide. It specifically does not prescribe any particular
design or implementation strategy.</p>
<p>There are three sections to a PRD: the general goals of the
project, the itemized feature list, and a detailed feature list
offering evidence of the feature's worthiness.</p>
<p>The goals should be broad, and most features should fit within
the category of a goal. Perhaps the goals of a PRD for a 2.0
product would be:</p>
<div class="orderedlist">
<ol type="1">
<li>
<p>Quality: The 1.0 product was well received, but its quality was
perceived to be low.</p>
</li>
<li>
<p>Performance: Key areas of the product do not perform well
enough.</p>
</li>
<li>
<p>Ease of Use: Administration tools are too hard to use.</p>
</li>
</ol>
</div>
<p>The feature list briefly describes each feature and orders them
by priority. Each list item includes a snappy name for easy
reference, a brief descriptive paragraph, and a list of any
dependent features. Priority is denoted by order. Each feature on
the list is deemed more important than the subsequent features on
the list. This prioritization exercise can involve much soul
searching, but pays off greatly towards the end of the project.</p>
<p>The detailed feature list includes a more expansive entry for
each feature providing a complete description of the feature, and
as much marketplace evidence as could be collected. The marketplace
validates the worth of the feature, and so influences its priority.
Evidence can be drawn from interviews with customers and
salespeople, support and professional services staff, and also from
industry research reports, competitor information, and plain gut
feeling.</p>
<p>The framework provided by the PRD is designed to guide the
project definition process to ensure that the most return will be
realized from the resources being put into the project. Thinking of
features is easy. Validating them against a marketplace is hard
work.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e51" id="d0e51"></a>PRD for an
Established Product</h2>
</div>
<p>A product manager usually owns the PRD, and collects and
validates contributions from many sources. Engineering is consulted
often to ensure that each feature definition is well
understood.</p>
<p>Interpreting customer input can be hard work, as customers are
mostly interested in what they want right now and not what they
would like to have a year from now.</p>
<p>It is important to discover what they need, not what they say
they want. A common mistake is to present customers with a
questionnaire based on everything that the engineering team can
think of adding to the product. Question: 'Dolby and Tweeters?'
Answer: 'Yes please, we want that.' The thought has now been seeded
in their minds. When subsequently asked what they need from the
product they helpfully suggest 'Dolby and Tweeters?'<sup>[<a name=
"d0e60" href="#ftn.d0e60" id="d0e60">1</a>]</sup></p>
<p>It can be worse when the idea comes from the data sheet of a
competing product. A product I worked on many years ago had some
features in this category. 'Check box' features they were called.
Two years after we implemented a particular feature a journalist
tried it out for a product review article. He complained that he
couldn't get it working. 'Simple-minded journo' we muttered to
ourselves as we investigated the problem. It didn't work. We
started hunting down the bugs. And, looking back through the source
code repository, we found they'd always been there. The feature had
never worked. Customers wanted it, but didn't need it, so never
used it.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e65" id="d0e65"></a>PRD for a 1.0
Product</h2>
</div>
<p>Writing a PRD for a 1.0 product is even harder than writing one
for an established product. There are no existing customers to
consult. Prospective customers have to be identified, which
involves both a marketing and sales activity.</p>
<p>Part of the 1.0 product release has to include feedback
mechanisms for the customer to talk back to the development team.
Communication channels are established from the customer to product
management and engineering via sales, support and professional
services. Companies are now also creating communities of customers
around their products, typically through a mailing list or
newsgroup. The product development team usually lurks in these
places picking up on complaints and comments, and sometimes dipping
in to get more detail, or to explain a solution to a newly
discovered problem.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e72" id="d0e72"></a>Project
Process</h2>
</div>
<p>The PRD has to be signed off by all senior management. The PRD
serves as a contract between product management and engineering.
Product management promises not to fiddle with the feature set, and
engineering promises to implement no more and no less.</p>
<p>The danger of not signing off on the PRD is feature creep, or
feature leak. People slowly add new features to the list to be
implemented, or people decide that they don't believe in a feature
and put it off until it's never implemented. Often this is not
malicious intent. Poor documentation, faulty memories, long project
cycles, and staff turnover all contribute.</p>
<p>The engineering and quality assurance schedules are drawn up
from the PRD. Senior management is presented with the PRD and the
schedules for a project review cycle. Decisions are made about the
relative importance of quality, schedule, and features within the
project, and how that project inter-relates with other projects,
and the needs of the business as a whole. These three aspects;
quality, schedule, and features, are each be traded off against the
other to find a satisfactory balance.</p>
<p>Often time-to-market pressures will dictate that the schedule
must be shortened. Management must decide if the priority for the
release is quality or features. Often the feature set will be
reduced to bring the schedule back to the desired release date. A
line is drawn between those features deemed 'in' and those 'out'.
The feature prioritization process ensures that all the 'in'
features are more important than the 'out' features.</p>
<p>It is important that the 'out' features remain in the document.
It must be clear to readers of the PRD that a favorite feature has
not been forgotten, just deferred. And, as the project progresses
scheduling feedback might allow 'out' features to be moved 'in',
and more commonly 'in' features to be moved 'out'.</p>
<p>Of course requirements do change during a project, and a strong
PRD actually facilitates the renegotiation process, as much of the
determination of relative feature value has already been done. A
scaled down project review cycle is undertaken to ensure that the
schedules are features are properly balanced.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e87" id="d0e87"></a>My PRD</h2>
</div>
<p>My solution to the 1.0 product definition problem is to just get
something out there and create a community around it. The community
will serve as a marketplace from which I can learn the value of the
features I am and could be offering.</p>
</div>
<div class="sect1" lang="en">
<div class="titlepage">
<h2><a name="d0e92" id="d0e92"></a>New Reader</h2>
</div>
<p>Thaddaeus Frogley has been programming professionally for eight
years, seven of which in the games industry, five of which in
(mostly) C++. He has written articles published online, here in
Overload, and over-there in CVu. Despite being dyslexic, all this
apparently qualifies him to be on the editorial team, a
responsibility he has wisely taken on at the same time as becoming
a father. His website of fun programming stuff is here: <a href=
"http://thad.notagoth.org/" target=
"_top">http://thad.notagoth.org/</a></p>
</div>
<div class="footnotes"><br>
<hr class="c3" width="100">
<div class="footnote">
<p><sup>[<a name="ftn.d0e60" href="#d0e60" id=
"ftn.d0e60">1</a>]</sup> Oblique reference to a 'Not the Nine
O'Clock News' sketch involving the humiliation of a naive
gramophone purchaser by an ever so superior sales man.</p>
</div>
</div>
</p>
<p><strong>Notes:</strong>&nbsp;</p>
<p><em>More fields may be available via dynamicdata ..</em></p>
</div>
</channel>
</rss>
