<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>J.D. Meier's Blog : Project Practices</title><link>http://blogs.msdn.com/jmeier/archive/tags/Project+Practices/default.aspx</link><description>Tags: Project Practices</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Project Life Cycles at patterns &amp; practices</title><link>http://blogs.msdn.com/jmeier/archive/2008/08/03/project-life-cycles-at-patterns-practices.aspx</link><pubDate>Sun, 03 Aug 2008 06:21:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8811425</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/8811425.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=8811425</wfw:commentRss><description>&lt;p&gt;Periodically I like to revisit our project life cycle in patterns &amp;amp; practices. I like to see how it's shape-shifted over the years.&amp;nbsp; (Note - our project life cycle wraps our product cycle)&amp;nbsp;&amp;nbsp; &lt;/p&gt; &lt;p&gt;&lt;strong&gt;patterns &amp;amp; practices Project Life Cycle Circa 2005&lt;/strong&gt;&lt;br&gt;Here's a snapshot of our patterns &amp;amp; practices project life cycle circa 2005:&lt;/p&gt; &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ProjectLifeCyclesatpatternspractices_11E39/PAGProjectLifeCycle_4.gif"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="343" alt="PAGProjectLifeCycle" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ProjectLifeCyclesatpatternspractices_11E39/PAGProjectLifeCycle_thumb_1.gif" width="454" border="0"&gt;&lt;/a&gt; &lt;/p&gt; &lt;p&gt;I used this as a baseline to reflect against.&amp;nbsp; Here are the phases, stages, and milestones:&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Phases&lt;/strong&gt;&lt;br&gt;Projects cycled through the following phases:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Planning&lt;/li&gt; &lt;li&gt;Design&lt;/li&gt; &lt;li&gt;Implementation&lt;/li&gt; &lt;li&gt;Stabilization&lt;/li&gt; &lt;li&gt;Release&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Stages&lt;/strong&gt;&lt;br&gt;Stages included:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Requirements&lt;/li&gt; &lt;li&gt;Specifications&lt;/li&gt; &lt;li&gt;Iteration 1&lt;/li&gt; &lt;li&gt;Iteration N&lt;/li&gt; &lt;li&gt;Final Test and Edit Pass&lt;/li&gt; &lt;li&gt;Production&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Milestones&lt;br&gt;&lt;/strong&gt;The milestones included:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;Proposal Approved&lt;/li&gt; &lt;li&gt;Vision Scope Approved&lt;/li&gt; &lt;li&gt;M0 (Milestone Zero) / Specifications Approved&lt;/li&gt; &lt;li&gt;Technical Review and Solution Approved&lt;/li&gt; &lt;li&gt;Test and Edit Complete&lt;/li&gt; &lt;li&gt;Go / No Go&lt;/li&gt; &lt;li&gt;Customer Availability&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;strong&gt;Three Things That Worked Well&lt;br&gt;&lt;/strong&gt;Here's three things that worked well with the original project cycle:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;There were clear phases, stages, milestones, and deliverables, along with criteria.&lt;/li&gt; &lt;li&gt;The project cycle was decoupled from the product cycle.&amp;nbsp; This gave management a simple frame for understanding projects.&amp;nbsp; This also gave each project flexibility to choose the most appropriate software development methodology depending on the product.&lt;/li&gt; &lt;li&gt;There was sufficient time between key milestones to provide a frame + air-cover.&amp;nbsp; This helped avoid randomizing engineering and being able to see the forest from the trees.&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;Additionally, the key milestones such as Vision Scope and MO were something of a ceremony and tended to include the right representation across the p&amp;amp;p team. &lt;/p&gt; &lt;p&gt;&lt;strong&gt;Three Things That Needed Improvement&lt;br&gt;&lt;/strong&gt;Here's three things that needed improvement:&lt;/p&gt; &lt;ul&gt; &lt;li&gt;It was a lot of overhead for smaller projects.&amp;nbsp; It worked well for larger programs (collections of projects), but it was tougher for individual projects.&lt;/li&gt; &lt;li&gt;It was tough to bootstrap projects.&amp;nbsp; M0 and Vision/Scope could be especially tough.&amp;nbsp; In retrospect, there were two key issues: 1) asking the right questions at the wrong time (premature) 2) chickens with controlling votes over pigs. (See &lt;a href="http://blogs.msdn.com/jmeier/archive/2008/03/25/turning-chickens-into-pigs.aspx"&gt;Turning Chickens Into Pigs&lt;/a&gt;.)&lt;/li&gt; &lt;li&gt;There was too much agreement up front, with not enough ability to coarse correct in the later stages/phases (needed more agility)&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8811425" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Project+Management/default.aspx">Project Management</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Software+Engineering/default.aspx">Software Engineering</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Project+Practices/default.aspx">Project Practices</category></item></channel></rss>