<?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>Teams WIT Tools : Internal Use</title><link>http://blogs.msdn.com/teams_wit_tools/archive/tags/Internal+Use/default.aspx</link><description>Tags: Internal Use</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Value Propositions, Experiences and Features revisited</title><link>http://blogs.msdn.com/teams_wit_tools/archive/2008/02/08/value-propositions-experiences-and-features-revisited.aspx</link><pubDate>Fri, 08 Feb 2008 08:06:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7534372</guid><dc:creator>sbhatia</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/teams_wit_tools/comments/7534372.aspx</comments><wfw:commentRss>http://blogs.msdn.com/teams_wit_tools/commentrss.aspx?PostID=7534372</wfw:commentRss><description>&lt;p&gt;A long time ago, I wrote a post on the internal project management processes we are using in Developer Division.&amp;#160; It was all about &lt;a href="http://blogs.msdn.com/teams_wit_tools/archive/2007/01/15/internal-tfs-usage-high-level-visbility.aspx"&gt;Value Propositions, Experiences and Features&lt;/a&gt;.&amp;#160; A year later, I'd like to revisit that and dive into the process we are using in Visual Studio Team System.&lt;/p&gt;  &lt;p&gt;Not surprisingly, our process has changed (evolved?) since then.&amp;#160; One big difference is that we are using a build of &amp;quot;Rosario&amp;quot; to manage our work vs. a build of TFS 2008. (In fact, the build we're using is similar to the &amp;quot;&lt;a href="http://blogs.msdn.com/jeffbe/archive/2007/11/28/november-rosario-ctp-now-available.aspx"&gt;Rosario November CTP&lt;/a&gt;&amp;quot; -- so you can play with all the features that we're using.)&amp;#160; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;h1&gt;&lt;/h1&gt;  &lt;p&gt;&lt;strong&gt;Planning List&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;We introduced the concept of a planning list where we can store a list of all the features we've been asked for and all features we've thought of.&amp;#160; It's the list of everything we &lt;em&gt;could &lt;/em&gt;build.&lt;/p&gt;  &lt;p&gt;Here's an example of a &lt;strong&gt;Feature &lt;/strong&gt;-- meant as a light-weight way to capture a request:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Feature.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="493" alt="Feature" src="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Feature_thumb.jpg" width="620" border="0" /&gt;&lt;/a&gt;&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;Then we group these features into &amp;quot;feature groups&amp;quot; and prioritize the features:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Feature%20Group.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="478" alt="Feature Group" src="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Feature%20Group_thumb.jpg" width="620" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Then we stack all the &amp;quot;feature groups&amp;quot; against each other and proceed to execute in stack order.&lt;/p&gt;  &lt;p&gt;The &amp;quot;feature groups&amp;quot; map up to &lt;strong&gt;Value Propositions &lt;/strong&gt;which represent the rolled up value of a set of feature groups expressed in terms of our customers.&amp;#160; For example: &amp;quot;Schedule and track Agile and CMMI project easily&amp;quot; is a value proposition in the system.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Execution List&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The execution list represents everything we &lt;em&gt;have &lt;/em&gt;built or &lt;em&gt;are &lt;/em&gt;building.&amp;#160; We introduced the concept of a &lt;strong&gt;Deliverable &lt;/strong&gt;which represents a unit of functionality that a feature crew (a group of developers, testers and a program manager) produces.&amp;#160; A deliverable is what goes through our quality gates (e.g. code coverage, pseudo-localization etc.) and it is what we track work on (remaining hours &amp;amp; completed hours).&lt;/p&gt;  &lt;p&gt;Here is an example of a &lt;strong&gt;Deliverable &lt;/strong&gt;-- heavier than a &lt;strong&gt;Feature&lt;/strong&gt; in order to capture all the quality gate &amp;amp; progress data:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Deliverable.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="480" alt="Deliverable" src="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Deliverable_thumb.jpg" width="620" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The quality gates that a &lt;strong&gt;Deliverable &lt;/strong&gt;goes through:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Quality%20Gates.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="478" alt="Quality Gates" src="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Quality%20Gates_thumb.jpg" width="620" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And how we track the progress of a &lt;strong&gt;Deliverable&lt;/strong&gt;:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Progress.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="478" alt="Progress" src="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Progress_thumb.jpg" width="620" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;We can break-down the Deliverable into the set of &lt;strong&gt;Tasks &lt;/strong&gt;needed to complete it:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Tasks.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="460" alt="Tasks" src="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Tasks_thumb.jpg" width="620" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;It is up to the feature crew to choose which tool to use to manage the Deliverables and Task breakdown.&amp;#160; They could use MS Project or MS Excel or the Team Foundation Client or their own custom tool.&amp;#160; All they need to make sure is that the remaining work and completed work on the Deliverable is filled out weekly.&amp;#160; &lt;/p&gt;  &lt;p&gt;And we use that information to review progress across deliverables on a weekly basis:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Deliverable%20progress.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="360" alt="Deliverable progress" src="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Deliverable%20progress_thumb.jpg" width="620" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Though this report, we can see how much progress was made overall, how much progress was made last week and what is left to do.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tying it all together&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;So, what is the relationship between features (the planning list) and the deliverables (the execution list)?&lt;/p&gt;  &lt;p&gt;In our process, &lt;strong&gt;Deliverables &lt;/strong&gt;produces one or more &lt;strong&gt;Features &lt;/strong&gt;and we express that in the system by using a Produces/Produced By relationship.&lt;/p&gt;  &lt;p&gt;In this way, as deliverables complete on the execution list one or more features are completed on the planning list and we can see how we are making progress against delivering customer value (value propositions):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Value%20Prop%20progress.jpg"&gt;&lt;img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="432" alt="Value Prop progress" src="http://blogs.msdn.com/blogfiles/teams_wit_tools/WindowsLiveWriter/ValuePropositionsExperiencesandFeaturesr_AB01/Value%20Prop%20progress_thumb.jpg" width="620" border="0" /&gt;&lt;/a&gt;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Thanks,&lt;/p&gt;  &lt;p&gt;-Siddharth&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=7534372" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/teams_wit_tools/archive/tags/Work+Item+Tracking/default.aspx">Work Item Tracking</category><category domain="http://blogs.msdn.com/teams_wit_tools/archive/tags/Internal+Use/default.aspx">Internal Use</category><category domain="http://blogs.msdn.com/teams_wit_tools/archive/tags/VSTSR/default.aspx">VSTSR</category><category domain="http://blogs.msdn.com/teams_wit_tools/archive/tags/tsbt-pm/default.aspx">tsbt-pm</category></item><item><title>Internal TFS Usage: Tracking Customer Value</title><link>http://blogs.msdn.com/teams_wit_tools/archive/2007/01/15/internal-tfs-usage-high-level-visbility.aspx</link><pubDate>Mon, 15 Jan 2007 05:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1467584</guid><dc:creator>sbhatia</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/teams_wit_tools/comments/1467584.aspx</comments><wfw:commentRss>http://blogs.msdn.com/teams_wit_tools/commentrss.aspx?PostID=1467584</wfw:commentRss><description>&lt;P&gt;Previously, &lt;A class="" href="http://blogs.msdn.com/sam/" target=_blank mce_href="http://blogs.msdn.com/sam/"&gt;Sam Guckenheimer&lt;/A&gt;&amp;nbsp;blogged about &lt;A class="" href="http://blogs.msdn.com/sam/archive/2006/05/16/598900.aspx" target=_blank mce_href="http://blogs.msdn.com/sam/archive/2006/05/16/598900.aspx"&gt;Scenarios, Value Props and Experiences&lt;/A&gt; and introducing them into Developer Division.&amp;nbsp;&lt;A class="" href="http://blogs.msdn.com/jeffbe/" target=_blank mce_href="http://blogs.msdn.com/jeffbe/"&gt;Jeff Beehler&lt;/A&gt;&amp;nbsp;followed up and talked in more details &lt;A class="" href="http://blogs.msdn.com/jeffbe/archive/2006/10/17/managing-work-for-team-system.aspx" mce_href="http://blogs.msdn.com/jeffbe/archive/2006/10/17/managing-work-for-team-system.aspx"&gt;about the work items&lt;/A&gt; that we're currently using to manage the Team Foundation Server product.&lt;/P&gt;
&lt;P&gt;In this post, I'll talk in more detail about what Value Propositions, Experiences and Features look like and how&amp;nbsp;they are being used by the management team to plan and track the customer value provided in a release.&lt;/P&gt;
&lt;P&gt;A bit of background&lt;STRONG&gt;: &lt;/STRONG&gt;Historically, a number of groups at Microsoft&amp;nbsp;tend to think in terms of "features"&amp;nbsp;and breaking down those features into tasks and tracking that work.&amp;nbsp; Value Propositions and Experiences introduced a more all-up customer-centric view of things and a way to ensure during the planning phase that we are thinking about the customer in the right way and during the execution phase that we are delivering on that thinking.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Value Propositions&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Value Propositions&amp;nbsp;answer this question, "Unlike Visual Studio 2005, what if you could [insert value proposition here], would you use our product?" An example: "Unlike Visual Studio 2005, what if you could Trace work, conduct impact analysis and report status against requirements, would you use our product?"&lt;/P&gt;
&lt;P mce_keep="true"&gt;Below you can see a Value Proposition that we're considering for a future release:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 560px; HEIGHT: 376px" height=376 src="http://s4bhatia.members.winisp.net/Blogimages/Internal%20TFS%20Usage/ValueProposition2.jpg" width=560 mce_src="http://s4bhatia.members.winisp.net/Blogimages/Internal%20TFS%20Usage/ValueProposition2.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Notes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;Value Propositions are fulfilled by Experiences and you can see that there are a set of Experiences related to this Value Prop.&amp;nbsp;&amp;nbsp;Since TFS V1 doesn't have the notion of strong typed links (i.e. there is only one type of link between work items -- Related)&amp;nbsp;the process and reports rely on&amp;nbsp;everyone following the convention that Value Props are made&amp;nbsp;up of Experiences.&amp;nbsp; We also use "exception management" to make sure that the convention is adhered to.&amp;nbsp; For example, we have a report that shows all the Value Props that aren't linked to an Experience.&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Experiences&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Experiences describe how we envision a customer would go through a path of the product.&amp;nbsp; For example, when someone shows a demo at a PDC, the focus on how a customer would use a part of the product and may touch on a number of features as go through that path.&amp;nbsp; Probably the more common term for Experience is "Scenario", but since that is so overloaded, we went with Experiences.&amp;nbsp; I like it as a way of communicating to management at&amp;nbsp;the appropriate level of granularity.&amp;nbsp; Sometimes talking at the feature level is too much detail.&lt;/P&gt;
&lt;P mce_keep="true"&gt;An example of an Experience:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 560px; HEIGHT: 376px" height=376 src="http://s4bhatia.members.winisp.net/Blogimages/Internal%20TFS%20Usage/Experience2.jpg" width=560 mce_src="http://s4bhatia.members.winisp.net/Blogimages/Internal%20TFS%20Usage/Experience2.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Notes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;An Experience is connected back up to its Value Proposition.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;An Experience breaks down into a set of features that represent the groups of work needed to make the Experience shine&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Features&lt;/STRONG&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Features encapsulate all the important data that represents the work that a small team of&amp;nbsp;program managers, developer and testers (we call it a "crew") to get a&amp;nbsp;piece of product functionality done.&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;A picture may help:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 546px; HEIGHT: 376px" height=376 src="http://s4bhatia.members.winisp.net/Blogimages/Internal%20TFS%20Usage/Feature2.jpg" width=546 mce_src="http://s4bhatia.members.winisp.net/Blogimages/Internal%20TFS%20Usage/Feature2.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;I'll be spending more time in a future post talking about feature tracking, but a couple of interesting notes:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;In the Planning tab, the feature captures a&amp;nbsp;bunch of planning details around start and end iterations, estimates and start and end dates.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The dependencies tab lists out all the other features that this feature depends on.&amp;nbsp; We built a custom control to manage dependencies because we didn't have a link type of link -- dependency.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The crew tab captures the names of the team members working on this feature.&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The quality gates tab lists out all the requirements needed to be able to check in the feature from the feature branch into the product branch (e.g. passing static analysis and code coverage goals)&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The feature complete tab list out the sign-offs from various disciplines (PM, Dev, Test, UE, UX) in order to be able to check the feature in&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV mce_keep="true"&gt;The custom tabs have a bunch of fields that allow the many different teams to tag features in the way they want to be able to query them later&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P mce_keep="true"&gt;So, now we have Value Props answering the question of what customer value -- those breakdown into Experiences -- representing how the customer value is&amp;nbsp;perceived&amp;nbsp;and then we have Features that represent the pieces of functionality that need to get done.&amp;nbsp; If you have all that and you've got people filling in the right data and maintaining it -- what can you get out of it?&lt;/P&gt;
&lt;P mce_keep="true"&gt;The management team can look at a dashboard and get a bird-eye view of the progress made against delivering customer value:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;IMG style="WIDTH: 560px; HEIGHT: 338px" height=338 src="http://s4bhatia.members.winisp.net/Blogimages/Internal%20TFS%20Usage/DevDivDashboard2.jpg" width=560 mce_src="http://s4bhatia.members.winisp.net/Blogimages/Internal%20TFS%20Usage/DevDivDashboard2.jpg"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;Next week, I'll delve into the details of how we're tracking features and the kinds of things that features teams look at.&lt;/P&gt;
&lt;P mce_keep="true"&gt;In the meantime, I'd love to hear about the kinds of work items schemas you have in place to track customer value!&lt;/P&gt;
&lt;P mce_keep="true"&gt;Thanks,&lt;/P&gt;
&lt;P mce_keep="true"&gt;-Siddharth&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1467584" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/teams_wit_tools/archive/tags/Internal+Use/default.aspx">Internal Use</category></item></channel></rss>