<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-948347626567641812</id><updated>2012-02-01T15:55:06.567-08:00</updated><category term='IBM'/><category term='Product Management'/><category term='ClearQuest'/><category term='Project Management'/><category term='scale'/><category term='Test Plan'/><category term='Implementation'/><category term='Test Result'/><category term='FORTH'/><category term='Customer'/><category term='Maintenance'/><category term='Requirements'/><category term='Defect'/><category term='Specification'/><category term='Agile process'/><category term='Release Readiness'/><category term='Backlog'/><category term='Change Request'/><category term='Rational'/><category term='Documentation'/><category term='Version control'/><category term='ClearCase'/><category term='Design for Test'/><category term='velocity'/><category term='Reliability'/><category term='Triage'/><category term='DFT'/><title type='text'>Paul Geffen</title><subtitle type='html'>writes a Software Development Life Cycle Guide for Startups and Small Enterprises.  We explore the challenges presented by success and growth - and how to organize your efforts to ensure long term success.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>23</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-3958989703378509416</id><published>2010-02-09T14:45:00.000-08:00</published><updated>2010-03-14T17:48:16.504-07:00</updated><title type='text'>Simple taxonomy of electronic media</title><content type='html'>With three permissions we can characterize eight forms of communications.&lt;br /&gt;It is assumed that the user can read all messages.  The other permissions are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;user can write x--&lt;br /&gt;&lt;/li&gt;&lt;li&gt;world can read -x-&lt;br /&gt;&lt;/li&gt;&lt;li&gt;world can write --x&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;000 is a private read-only file&lt;br /&gt;100 is a private writable file&lt;br /&gt;010 is a public read-only file&lt;br /&gt;110 is a write-once blog like Twitter&lt;br /&gt;001 is email inbox where user can't edit messages&lt;br /&gt;101 is email inbox where user can edit&lt;br /&gt;011 is ???&lt;br /&gt;111 is a Wiki&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Google Buzz is like a Wiki.&lt;br /&gt;&lt;span style="color: white; "&gt;672DVMTUSPHK&lt;/span&gt;&lt;br /&gt;&lt;span style="color: white; font-size: 78%;"&gt;&lt;span style="font-family: verdana;"&gt;EAVB_IYHESFPAZC&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-3958989703378509416?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/3958989703378509416/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2010/02/simple-taxonomy-of-electronic-media.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/3958989703378509416'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/3958989703378509416'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2010/02/simple-taxonomy-of-electronic-media.html' title='Simple taxonomy of electronic media'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-5860642080352080809</id><published>2010-02-04T08:21:00.000-08:00</published><updated>2010-02-04T08:26:20.701-08:00</updated><title type='text'>Translation</title><content type='html'>The work I did at IBM to lead and guide the process of development has taught me much that can be applied beyond the field of software.  Every time I talk to another engineer I find that we talk about problems and processes in more or less the same language.  When I talk to a writer or a teacher I find that when I explain my methodology in ways that are conventional for my field, that the terms and concepts still make sense in other fields although the language may be different.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-5860642080352080809?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/5860642080352080809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2010/02/translation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/5860642080352080809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/5860642080352080809'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2010/02/translation.html' title='Translation'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-4594416118067633169</id><published>2010-02-02T09:26:00.001-08:00</published><updated>2010-02-02T09:50:17.808-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IBM'/><title type='text'>SDLC Best Practices for Startups</title><content type='html'>In my work as a development lead at IBM Rational I learned about the software development life cycle and the best practices as they were taught by Rational and used by our organization.  This blog is an attempt to apply those concepts to the management of software development in a small company.&lt;br /&gt;&lt;br /&gt;I recently approached a local startup with the idea.  I proposed to teach them the principles of SDLC management.  What I wanted to learn was how these ideas would affect their process and how this in turn would affect their growth.  My theory is that the growth of a development group is inhibited from time to time by the way it is organized.  Growth tends to level off (temporarily) as the group reorganizes to meet new challenges.  What would happen if the structures and practices necessary for a large group were already in place before the group grew large?  Would their growth curve be smoother?  Would the group produce more in three years than a group that grew organically?&lt;br /&gt;The way to find out is to do the experiment.  The control groups are everywhere.  What I want is a company that is willing to take on the overhead of more "process" as an investment toward a long term result.&lt;br /&gt;I found this to be very difficult to sell.&lt;br /&gt;&lt;br /&gt;I had more success with a friend who wants to start an e-learning web site.  She is a teacher and has a curriculum that she believes has a market.  Her challenge at this point is to enlist technical help from contract developers and make the best use of the contractors' abilities.  What I did with her was to go over of the ideas captured elsewhere in this blog and teach her the terminology she needed to know to communicate effectively with her technical staff.&lt;br /&gt;She found it easy to understand what I described but the idiom was somewhat new for her.  What we were able to do was to translate her knowledge of what she wanted into language that a developer would understand.  This made her interviews for new technical help much easier.  Here's what she wrote:&lt;br /&gt;&lt;blockquote&gt;"... just had a meeting with a potential technical contractor and I felt very confident in talking with him about what I need and how I’d want the process of working together to go – he actually congratulated and thanked me for knowing that they would like a document with my requirements mapped out on it and he was impressed that I understood that process."&lt;/blockquote&gt;&lt;br /&gt;Now I don't have any influence on how her contractors will do their work but I have been able to help start her off on solid footing as she learns how to manage a development effort.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-4594416118067633169?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/4594416118067633169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2010/02/sdlc-best-practices-for-startups.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4594416118067633169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4594416118067633169'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2010/02/sdlc-best-practices-for-startups.html' title='SDLC Best Practices for Startups'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-4139831427085432758</id><published>2010-01-31T11:10:00.000-08:00</published><updated>2010-02-01T19:30:52.615-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DFT'/><category scheme='http://www.blogger.com/atom/ns#' term='FORTH'/><category scheme='http://www.blogger.com/atom/ns#' term='Reliability'/><category scheme='http://www.blogger.com/atom/ns#' term='Design for Test'/><title type='text'>Design for Test and Reliability</title><content type='html'>&lt;div style="text-align: justify;"&gt;Design for Test is part of standard practice in the microcontroller industry.  It is discussed in the context of software engineering as well - but it is absolutely essential to the makers of large-scale microprocessors.  The key concept is that the programming interface to a CPU does not allow access to many of the internals of the chip and additional logic is therefore added to the hardware to allow test and diagnosis of the device outside the scope of normal use. &lt;span style="font-weight: bold;"&gt;  DFT&lt;/span&gt; is necessary to handle the fact that minor flaws can prevent execution of all diagnostic self-test operations.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Some years ago I had the opportunity to apply this principle to software architecture.&lt;br /&gt;The application was a data abstraction layer in a multi-tier Windows application.  The app used a relational database for persistence and presented the user with a set of objects.  The layers in the design were as follows:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;GUI&lt;/li&gt;&lt;li&gt;Business logic&lt;/li&gt;&lt;li&gt;Object model&lt;/li&gt;&lt;li&gt;Abstraction&lt;/li&gt;&lt;li&gt;ODBC&lt;/li&gt;&lt;li&gt;Database&lt;/li&gt;&lt;/ul&gt;The use of ODBC allowed a choice of databases with minimal configuration in the front end.&lt;br /&gt;The part that I designed and built was the Abstraction layer and my goal was to make it as generic as possible.  To accomplish this I put metadata in the database that defined the object model.  The code in the Abstraction layer knew almost nothing about the business objects and their relationships to each other.  It knew that there was such a thing as an object, that an object had properties, that objects could have relationships and dependencies, and what the property types could be.  At first, all the other details were in data in the database that matched the expectations of the business logic.  This allowed us to change the front end and the object model with little or no impact on the design or implementation of the Abstraction layer.&lt;br /&gt;&lt;br /&gt;One way to apply the &lt;span style="font-weight: bold;"&gt;DFT&lt;/span&gt; principle to software is to add code that does some sort of internal self-test or consistency check.  In this case, we didn't add any code that wasn't used in normal operation.  In fact, we went in the other direction and stripped out any code we didn't absolutely need to get the Abstraction function to run.  This led to an implementation that was very generic and concise.  Even the definition of the generic data object was in the database.&lt;br /&gt;Obviously some bootstrap code was needed to make this work. And in the revised and rewritten code in the second release we took out the initial bootstrap to improve performance.&lt;br /&gt;The effect on test was simply that no unit test was needed for this part of the implementation.  It either worked or it didn't.  Like the FORTH language, which has a tiny interpreter, we started with a very compact core and built out from there.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-4139831427085432758?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/4139831427085432758/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2010/01/design-for-test-and-reliability.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4139831427085432758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4139831427085432758'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2010/01/design-for-test-and-reliability.html' title='Design for Test and Reliability'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-3694588859365290189</id><published>2010-01-24T06:42:00.000-08:00</published><updated>2010-01-24T18:01:20.803-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='velocity'/><category scheme='http://www.blogger.com/atom/ns#' term='scale'/><title type='text'>Velocity and Scale</title><content type='html'>These two concepts are central to my approach.  If these concepts are understood and mastered, your great idea will have no limits.  Here's how it works.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Velocity&lt;/span&gt; refers the speed at which a new idea can move from the real world (a designer or customer) through the development process and back out to the customer through a new version of your product.  Your process needs to do two things:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;optimize resources by managing the &lt;span style="font-weight: bold;"&gt;velocity&lt;/span&gt; of each idea, and&lt;/li&gt;&lt;li&gt;track the progress of each idea to measure &lt;span style="font-weight: bold;"&gt;velocity&lt;/span&gt;.&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;You cannot control what you do not measure&lt;/span&gt;, at least in science.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Scale&lt;/span&gt; refers to the way systems change as they grow.  An example from biology is how organisms are built at different sizes.  Exoskeletons don't work above a certain size: elephants have huge legs while spiders don't, etc.  The rules of physics determine what is possible at every geometric scale.  Surface to volume ratios constrain the shape of living things.&lt;br /&gt;&lt;br /&gt;Your product is a living thing.  It has a complex metabolism that will not scale well under the conditions of stress caused by your success and growth.  You might be lucky, or very smart, but why not be systematic and consider the effects of &lt;span style="font-weight: bold;"&gt;scale&lt;/span&gt; on the &lt;span style="font-weight: bold;"&gt;velocity&lt;/span&gt; of the parts of your process?&lt;br /&gt;&lt;br /&gt;This blog will continue to explore these ideas.  The problems of scale will be the subject of a later article.&lt;br /&gt;&lt;br /&gt;To measure &lt;span style="font-weight: bold;"&gt;velocity&lt;/span&gt;, we need to set up checkpoints and we need to mark the ideas so that we can track them through the process.  If we rely on rough time-to-market measures and just look at the endpoints of the process, we miss the chance to find choke points along the way.  We need a way to break the development process into manageable steps, and that is what the earlier posts in this blog have started to explore.&lt;br /&gt;&lt;br /&gt;Once we can measure &lt;span style="font-weight: bold;"&gt;velocity&lt;/span&gt; we can also start to control it.  It is not wise to move as fast as possible at all times.  In the business world there is always pressure to produce results but there is also a trade-off between speed and quality.  To improve quality we must be prepared to control the velocity of each step of the process.&lt;br /&gt;&lt;br /&gt;The key to tracking ideas through the development process is to identify the artifacts that represent the ideas at each step.  The artifacts are almost always documents of some kind.  Only in the  world outside can ideas be free-form.  The type of artifact used to represent an idea will vary for each step and for each business context.  For a very small development group, a single document may hold many ideas and a scrap of paper may contain a valuable idea.  For a very large organization, a change management database is essential and provides great efficiency and flexibility at high cost.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-3694588859365290189?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/3694588859365290189/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2010/01/velocity-and-scale.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/3694588859365290189'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/3694588859365290189'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2010/01/velocity-and-scale.html' title='Velocity and Scale'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-4776253782722868690</id><published>2009-12-21T19:34:00.000-08:00</published><updated>2009-12-21T20:05:25.744-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Specification'/><category scheme='http://www.blogger.com/atom/ns#' term='Version control'/><category scheme='http://www.blogger.com/atom/ns#' term='Agile process'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Requirements</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Requirements&lt;/span&gt; artifacts are the documents that are created, managed, and published by business analysts or product management to define the scope and content of the development project.&lt;br /&gt;&lt;br /&gt;Requirements must be captured and tracked in a version control system just like any other class of project artifact.  In addition, specific requirements must be labeled in a way that allows items to be tracked through the entire life cycle: specifications, implementation, test, release, and support.&lt;br /&gt;&lt;br /&gt;The granularity or specificity of the labels employed depends on the rigor of the project.  A product with very high quality standards, such as a medical application, will have very detailed requirements that can be tracked in precise detail.&lt;br /&gt;&lt;br /&gt;Requirements are often sketched out in natural language and carry informal instruction to the design specification team.  A very effective way to organize functional requirements is to use the concepts of &lt;span style="font-weight: bold;"&gt;User Roles&lt;/span&gt; and &lt;a href="http://en.wikipedia.org/wiki/Scenario_%28computing%29"&gt;&lt;span style="font-weight: bold;"&gt;Scenarios&lt;/span&gt;&lt;/a&gt; to develop &lt;a href="http://en.wikipedia.org/wiki/Use_case"&gt;&lt;span style="font-weight: bold;"&gt;Use cases&lt;/span&gt;&lt;/a&gt;.  This process creates a formal model of the system.  The model can then be analyzed to create formals specification of the components of the system.&lt;br /&gt;&lt;br /&gt;An advantage of this approach is that formal requirements and specifications can be created as relatively small modules that can be worked on separately.  This allows development and test of the modules or components of the system to proceed in parallel and supports the use of an &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;Agile development process&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-4776253782722868690?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/4776253782722868690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4776253782722868690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4776253782722868690'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements.html' title='Requirements'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-2610141442774342621</id><published>2009-12-18T17:02:00.000-08:00</published><updated>2009-12-24T19:25:11.541-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Defect'/><category scheme='http://www.blogger.com/atom/ns#' term='Triage'/><category scheme='http://www.blogger.com/atom/ns#' term='Customer'/><category scheme='http://www.blogger.com/atom/ns#' term='Product Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Customer to Requirements</title><content type='html'>Customer reports are triaged into categories.  Some will be treated as defects in the product.&lt;br /&gt;&lt;br /&gt;Defect reports must be prioritized and fed back into the development cycle at the appropriate point.  For example, critical defects can be sent directly to development for action while defects with low impact can be sent to design specification group for consideration.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Many customer requests are valuable inputs to the product management, analysis, and requirements gathering process.&lt;br /&gt;&lt;br /&gt;All customer reports must be captured in a database, typically one that is optimized for the purpose, called a &lt;a href="http://en.wikipedia.org/wiki/Bug_tracking"&gt;defect tracking&lt;/a&gt; system.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-2610141442774342621?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/2610141442774342621/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/customer-to-requirements.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/2610141442774342621'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/2610141442774342621'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/customer-to-requirements.html' title='Customer to Requirements'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-7979500036077134803</id><published>2009-12-18T16:59:00.000-08:00</published><updated>2009-12-21T20:01:23.259-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Maintenance'/><category scheme='http://www.blogger.com/atom/ns#' term='Defect'/><category scheme='http://www.blogger.com/atom/ns#' term='Implementation'/><category scheme='http://www.blogger.com/atom/ns#' term='Customer'/><title type='text'>Customer to Implementation</title><content type='html'>The users, clients, or customers have a direct link to the implementation when the product plans include a &lt;a href="http://en.wikipedia.org/wiki/Software_maintenance"&gt;maintenance&lt;/a&gt; cycle.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Customer reports of problems go to triage, first in Support and later in Engineering.  Reports that are approved by both support and engineering as Defects become work items for development and then part of the implementation.  A mature process will include ways to expedite this flow.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-7979500036077134803?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/7979500036077134803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/customer-to-implementation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7979500036077134803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7979500036077134803'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/customer-to-implementation.html' title='Customer to Implementation'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-4931647784293286194</id><published>2009-12-18T16:18:00.000-08:00</published><updated>2010-01-03T19:02:53.344-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Release Readiness'/><category scheme='http://www.blogger.com/atom/ns#' term='Customer'/><title type='text'>Test Results to Customer</title><content type='html'>Test results are usually not shared with customers in detail.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An important measurement of &lt;b&gt;release readiness&lt;/b&gt; is test coverage and success rates.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The customer typically gets the results of test results in the form of an available release.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-4931647784293286194?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/4931647784293286194/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/test-results-to-customer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4931647784293286194'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4931647784293286194'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/test-results-to-customer.html' title='Test Results to Customer'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-6425715043875516208</id><published>2009-12-18T16:14:00.000-08:00</published><updated>2009-12-21T20:10:22.815-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Implementation'/><category scheme='http://www.blogger.com/atom/ns#' term='Release Readiness'/><category scheme='http://www.blogger.com/atom/ns#' term='Customer'/><category scheme='http://www.blogger.com/atom/ns#' term='Documentation'/><title type='text'>Implementation to Customer</title><content type='html'>Implementation artifacts delivered to the customer must match the artifacts delivered to test.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is possible for parts of the implementation to be withheld from the customer, so the released executable code is often a subset of the tested executable code.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The implementation may include internal support for test execution and performance profiling.  These features may be turned off for the customer if they affect the behavior or performance of the product.&lt;br /&gt;&lt;br /&gt;Another category of implementation artifacts that go directly to customers is &lt;span style="font-weight: bold;"&gt;screenshots&lt;/span&gt; included in documentation.&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-6425715043875516208?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/6425715043875516208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/implementation-to-customer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/6425715043875516208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/6425715043875516208'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/implementation-to-customer.html' title='Implementation to Customer'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-8039502507872843378</id><published>2009-12-18T16:09:00.000-08:00</published><updated>2009-12-21T20:09:58.113-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Result'/><category scheme='http://www.blogger.com/atom/ns#' term='Implementation'/><title type='text'>Implementation to Test</title><content type='html'>Implementation artifacts - primarily executable code - are the primary channel of information from development to test execution.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Implementation status is another important part of the flow of information.  For example, in a large project some parts of the implementation will be ready before others.  If the implementation strategy provides a complete testable interface with incomplete logic behind the interface then the test efforts can be directed toward the most advanced parts of the implementation.  The test results can to some extent be predicted.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-8039502507872843378?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/8039502507872843378/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/implementation-to-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/8039502507872843378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/8039502507872843378'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/implementation-to-test.html' title='Implementation to Test'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-1431133113448292374</id><published>2009-12-18T16:07:00.001-08:00</published><updated>2009-12-21T20:09:39.177-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Specification'/><category scheme='http://www.blogger.com/atom/ns#' term='Customer'/><category scheme='http://www.blogger.com/atom/ns#' term='Documentation'/><title type='text'>Specifications to Customer Documentation</title><content type='html'>Design Specifications are an important base of information for user or customer documentation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-1431133113448292374?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/1431133113448292374/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/specifications-to-customer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/1431133113448292374'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/1431133113448292374'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/specifications-to-customer.html' title='Specifications to Customer Documentation'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-2805500635758285406</id><published>2009-12-17T16:53:00.000-08:00</published><updated>2009-12-21T20:09:20.361-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Specification'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Plan'/><title type='text'>Specifications to Test Plans</title><content type='html'>Functional requirements and engineering specifications are the sources for the structure and content of test plans.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Specifications may include specific provision for tests.  For example, instrumentation may be part of the implementation.  Components may include functions that are designed to be tested independently of other components and outside of the overall system.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-2805500635758285406?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/2805500635758285406/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/specifications-to-test-plans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/2805500635758285406'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/2805500635758285406'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/specifications-to-test-plans.html' title='Specifications to Test Plans'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-5029637382982598110</id><published>2009-12-17T16:48:00.001-08:00</published><updated>2009-12-21T20:09:03.279-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Specification'/><category scheme='http://www.blogger.com/atom/ns#' term='Implementation'/><title type='text'>Specifications to Implementation</title><content type='html'>Engineering specifications define the proposed implementation at an appropriate level of detail.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The intermediate artifacts between the design specification and the implementation are the project plan and task breakdown.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Specifications are often organized as a hierarchy, with general architectural plans as the more general type and implementation guidelines or standards as the more specific types.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Specifications will define the artifacts to build and the relationships between the implementation artifacts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Specifications are written in a mix of natural and technical language.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-5029637382982598110?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/5029637382982598110/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/specifications-to-implementation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/5029637382982598110'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/5029637382982598110'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/specifications-to-implementation.html' title='Specifications to Implementation'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-9221920290762941095</id><published>2009-12-17T16:43:00.000-08:00</published><updated>2009-12-21T20:12:44.062-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Defect'/><category scheme='http://www.blogger.com/atom/ns#' term='Specification'/><category scheme='http://www.blogger.com/atom/ns#' term='Triage'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Plan'/><category scheme='http://www.blogger.com/atom/ns#' term='Backlog'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Result'/><category scheme='http://www.blogger.com/atom/ns#' term='Implementation'/><category scheme='http://www.blogger.com/atom/ns#' term='Customer'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Backlog</title><content type='html'>Some of the artifacts in each class will represent approved, agreed-upon, active, or completed tasks.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Others will represent proposed tasks, work approved but not scheduled, etc.  These artifacts comprise the backlog.  A backlog is a natural and healthy part of the development process as long as it is managed correctly.  One of the themes of this discussion will be to indicate when and how to address items in the backlog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here are some of the categories of the backlog.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Requirements &lt;/b&gt;that are published but not represented in specifications and/or test plans are in the design backlog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Specifications &lt;/b&gt;that are not implemented are in the engineering backlog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Implementation artifacts &lt;/b&gt;that have not been tested are in the test backlog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Test plans&lt;/b&gt; and automation that have not been executed are also in the test backlog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Test results&lt;/b&gt; that have not been reviewed are in the results backlog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Customer reports&lt;/b&gt; that have not been triaged are in the support backlog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Customer reports&lt;/b&gt; that have been triaged as defects but have not been fixed are in the engineering backlog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Defects &lt;/b&gt;that have been fixed but where the fixes have not been delivered to customers are in the release backlog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These are the most important components of the backlog.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-9221920290762941095?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/9221920290762941095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-backlog.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/9221920290762941095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/9221920290762941095'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-backlog.html' title='Backlog'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-3919643751411987476</id><published>2009-12-17T16:41:00.000-08:00</published><updated>2009-12-21T20:07:52.626-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Triage'/><category scheme='http://www.blogger.com/atom/ns#' term='Customer'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Requirements to Customer Reports</title><content type='html'>Customer reports can be evaluated or triaged by reference to requirements.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This allows customer reports and requests to be classified as defects, or as potential enhancements.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The reverse is also true.  Requirements may refer to specific customer requests.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-3919643751411987476?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/3919643751411987476/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-customer-reports.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/3919643751411987476'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/3919643751411987476'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-customer-reports.html' title='Requirements to Customer Reports'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-7040079770137744786</id><published>2009-12-17T16:36:00.000-08:00</published><updated>2009-12-21T20:07:29.450-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Result'/><category scheme='http://www.blogger.com/atom/ns#' term='Release Readiness'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Requirements to Test Results</title><content type='html'>Test results must correspond to requirements in terms of scope.  That is, there must be a correspondence between features as described in requirements artifacts and successful test results.  This mapping is driven by the coverage of features by test plans.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When required features are ranked by priority, test results can be used to evaluate release readiness.  A release cannot be approved until all required, essential, or "release defining" features have been tested and these tests have passed.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-7040079770137744786?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/7040079770137744786/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-test-results.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7040079770137744786'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7040079770137744786'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-test-results.html' title='Requirements to Test Results'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-7605112611458743086</id><published>2009-12-17T16:30:00.000-08:00</published><updated>2009-12-21T20:07:00.784-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Test Plan'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Requirements to Test Plans</title><content type='html'>Requirements artifacts help to define the initial scope of the test plan documents.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-7605112611458743086?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/7605112611458743086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-test-plans.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7605112611458743086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7605112611458743086'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-test-plans.html' title='Requirements to Test Plans'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-4190480905747704150</id><published>2009-12-16T18:43:00.001-08:00</published><updated>2009-12-21T20:06:17.181-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Implementation'/><category scheme='http://www.blogger.com/atom/ns#' term='Product Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Requirements to Implementation</title><content type='html'>Published project requirements can be compared to system features as described in functional specification artifacts.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An implementation must address the published requirements.  All requirements must be represented by some part of the implementation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An implementation may and often will include elements that are not described in detail by the requirements. While it is not necessary for the requirements to include all features of the implementation in detail, it is recommended that requirements be compared to the implementation to identify any extraneous functions.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Both product management (or business analysis) and engineering must sign off to confirm the congruence of requirements and specifications.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-4190480905747704150?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/4190480905747704150/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-implementation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4190480905747704150'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/4190480905747704150'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-implementation.html' title='Requirements to Implementation'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-7509129706066594213</id><published>2009-12-16T18:35:00.000-08:00</published><updated>2009-12-21T20:05:53.667-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Specification'/><category scheme='http://www.blogger.com/atom/ns#' term='Change Request'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Requirements to Specifications</title><content type='html'>Requirements artifacts, when published, form the basis for specifications.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Specifications must conform to requirements and may add features.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When requirements and specifications do not agree, negotiations between product management and engineering are required.  The results of these negotiations may be captured in &lt;b&gt;Change Request&lt;/b&gt; artifacts.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Ownership (or assignment) of responsibility for evaluating the state or quality of agreement between requirements and specifications belongs to both product management and engineering.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Project management responsibilities include the continual measurement of the level of this agreement.  Periodic review of the published artifacts is necessary.  Specifically, product management must review specifications and engineering must review requirements.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-7509129706066594213?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/7509129706066594213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-specifications.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7509129706066594213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7509129706066594213'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/requirements-to-specifications.html' title='Requirements to Specifications'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-2434426956505872316</id><published>2009-12-16T18:33:00.001-08:00</published><updated>2009-12-21T20:06:42.582-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Product Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Initial Requirements</title><content type='html'>The documents that define the initial requirements for a project have their basis outside the project.  These documents are the major source of information from the natural world to the project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-2434426956505872316?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/2434426956505872316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/initial-requirements.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/2434426956505872316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/2434426956505872316'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/initial-requirements.html' title='Initial Requirements'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-7920165401685152901</id><published>2009-12-16T18:03:00.000-08:00</published><updated>2009-12-21T20:04:42.098-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Specification'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Plan'/><category scheme='http://www.blogger.com/atom/ns#' term='Test Result'/><category scheme='http://www.blogger.com/atom/ns#' term='Implementation'/><category scheme='http://www.blogger.com/atom/ns#' term='Customer'/><category scheme='http://www.blogger.com/atom/ns#' term='Requirements'/><title type='text'>Overview</title><content type='html'>This document will define the scope of our discussion of SDLC.&lt;br /&gt;&lt;br /&gt;We begin with the definition of the six primary classes of project artifacts.&lt;br /&gt;&lt;br /&gt;1. Requirements&lt;br /&gt;2. Specifications&lt;br /&gt;3. Implementation&lt;br /&gt;4. Test Plans and Automation&lt;br /&gt;5. Test Results&lt;br /&gt;6. Customer Reports&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Requirements&lt;/span&gt; are documents that describe the initial or general goals of the software to be produced.  These are written in a natural language (English in this case) by product management or a business process analyst.  Requirements are typically based on intangibles like imagination and insight and form the primary reference documents for a project.  These documents are used in turn by the engineering and documentation functions as the basis for more artifacts.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Specifications &lt;/b&gt;are engineering documents that describe architecture, design and development plans.  These are written in a natural language by engineering management.  They are based on requirements documents but include much more detail.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Implementation &lt;/b&gt;is produced by the engineering team from specifications and is typically in a language that can be interpreted and executed by a computer.  Implementation artifacts are the tangible assets produced by the development process.  Some of these assets are transferred from the development group to the customers in the form of a product or system.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Test Plans&lt;/b&gt; are produced by test engineering and serve as a framework for evaluation of the implementation.  Test plans are based on both requirements and specifications, but not on the implementation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Test Results&lt;/b&gt; are produced by test execution.  Results are often in both natural language and machine-readable form.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Customer Reports&lt;/b&gt; are natural language documents created ad hoc as a result of the use of the implementation.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Backlog &lt;/b&gt;is orthogonal to the other six.  It is a measure of the portion of the available artifacts (of any type) that has not yet been used to generate work or other results.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Many other useful terms will be defined in the discussion to follow.  The six artifact classes stand out because they are well-understood and can be clearly defined.  Most project documents belong in one of these classes.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Each of these artifact classes has a relationship to every other artifact class.  Every one of these relationships will be explored at some point in the documents to follow.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-7920165401685152901?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/7920165401685152901/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/overview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7920165401685152901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/7920165401685152901'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/overview.html' title='Overview'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-948347626567641812.post-291978092094808956</id><published>2009-12-11T08:27:00.000-08:00</published><updated>2009-12-21T20:04:07.138-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Rational'/><category scheme='http://www.blogger.com/atom/ns#' term='ClearQuest'/><category scheme='http://www.blogger.com/atom/ns#' term='ClearCase'/><title type='text'>Software Development Life Cycle</title><content type='html'>This blog is written by an expert in the Rational ClearCase and ClearQuest configuration and change management toolset.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/948347626567641812-291978092094808956?l=sdlcx.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sdlcx.blogspot.com/feeds/291978092094808956/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://sdlcx.blogspot.com/2009/12/software-development-life-cycle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/291978092094808956'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/948347626567641812/posts/default/291978092094808956'/><link rel='alternate' type='text/html' href='http://sdlcx.blogspot.com/2009/12/software-development-life-cycle.html' title='Software Development Life Cycle'/><author><name>Paul Geffen</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-TkHss_Gq_zM/AAAAAAAAAAI/AAAAAAAAAxM/H0UATljBr8E/s512-c/photo.jpg'/></author><thr:total>0</thr:total></entry></feed>
