{"id":10041,"date":"2006-12-14T12:02:44","date_gmt":"2006-12-14T12:02:44","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/bharry\/2006\/12\/14\/release-cadence\/"},"modified":"2018-08-14T00:34:25","modified_gmt":"2018-08-14T00:34:25","slug":"release-cadence","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/bharry\/release-cadence\/","title":{"rendered":"Release Cadence"},"content":{"rendered":"<p>Sorry I&#8217;ve been away a while.&nbsp; It&#8217;s been almost 2 weeks since I&#8217;ve posted anything of much interest.&nbsp; It&#8217;s been crazy trying to get so many things finished up by the end of the year and I just haven&#8217;t had time to think straight.&nbsp; I&#8217;ve been trying to figure out what I was going to talk about next now that I&#8217;ve pretty much spilled the beans on everything we&#8217;re doing for Orcas \ud83d\ude42&nbsp; I figure it&#8217;s best to just pick something I&#8217;m passionate about.\nI&#8217;m passionate about delivering value as early and as often as we can.&nbsp; I wanted to share some thoughts with you and solicit some feedback.&nbsp; Don&#8217;t take anything I&#8217;m going to say here as official Microsoft policy or a statement of direction for DevDiv or anything of the sort.&nbsp; Take it as the ramblings of someone who thinks about this stuff a lot.&nbsp; Also, these comments are mostly focused on what I think we should do with Visual&nbsp;Studio.&nbsp; For a variety of reasons the .NET Framework will have some different constraints.\nOver the past several months you&#8217;ve seen a few initiatives kicked off to help improve transparency and value.&nbsp; Among them are:<\/p>\n<ul>\n<li>An increase in &#8220;release to web&#8221; features &#8211; the TFS Power Toys, ASP.NET Web Application Projects, Ajax, VS Tools for Office, etc.<\/li>\n<li>A pilot program to start publishing QFEs &#8211; it has stalled a bit due to resource conflicts with SP1 but I expect it to get going again soon.<\/li>\n<li>An initiative to start publishing specs for people to comment on early in the development cycle.<\/li>\n<li>The introduction of CTPs and new ways of delivering them to make them even more accessible.<\/li>\n<li>A VS SP with new features as opposed to only a rollup of bug fixes.<\/li>\n<li>And more&#8230;<\/li>\n<\/ul>\n<p>These are all good steps but they don&#8217;t fall into a comprehensive plan for how we deliver value and when.&nbsp; I&#8217;ve been thinking a lot about it lately and proposing a new model to people.&nbsp; The new model I have in my head looks something like this.&nbsp; It&#8217;s a bit simplified to avoid this mail getting too long and don&#8217;t confuse what I&#8217;m describing that&#8217;s in my head with what we do today.\n<strong>Major Releases<\/strong> &#8211; These are what you think of as VS releases today (VS2002, VS2003, VS2005, &#8230;).&nbsp; They are developed a fairly regular cadence with a target interval of something like 24 months.&nbsp; They contain sweeping improvements and in many cases &#8220;Revolutionary&#8221; advancements (like .NET, WCF, WPF, Linq, etc).&nbsp; They are the &#8220;big bang&#8221; and are designed to make quantum improvements in the lives of developers.\n<strong>Minor Releases<\/strong> &#8211; Minor releases would be small releases that are a combination of bug fixes and features.&nbsp; I think of them as an evolution of and a replacement for service packs.&nbsp; I&#8217;m thinking we should target having them every 6 &#8211; 9 months.&nbsp; They would be pure &#8220;evolution&#8221;.&nbsp; The goal of them is to take the current feature set and just make it better &#8211; fix dissatisfiers, address bugs, add complimentary features (like FolderDiff and Annotate that we released as Power Toys for TFS), etc.&nbsp; Minor releases would have an <em>extremely<\/em> high compatibility bar.&nbsp; The goal would be for you to&nbsp;have no&nbsp;reason not move forward&nbsp;&#8211; just pure goodness: no disruption.&nbsp; I&#8217;m thinking they would be &#8220;free&#8221; downloads but would prereq the last major release (you&#8217;ve got to have some motivation to move forward and pay us money :))&nbsp; Like service packs, minor releases would be tied to the servicing lifetime of the Major release they target.\n<strong>Off cycle<\/strong>&nbsp;&#8211; These would be releases of varying size and scope that are released &#8220;off the train&#8221;.&nbsp; They could take the form of something unsupported like the Power Toys.&nbsp; Or something &#8220;partially supported&#8221; like the TFS MSSCCI provider (I won&#8217;t derail into a conversation about &#8220;levels of support&#8221; &#8211; that probably warrants another conversation).&nbsp; Other things that fall in this bucket are off cycle releases like the Ajax tool kit, etc.&nbsp;&nbsp;Off cycle&nbsp;releases provide a lower overhead opportunity for&nbsp;individual product groups&nbsp;to delvier value to leading edge technology adopters on a more frequent and\/or more irregular basis without having to coordinate across all of VS.&nbsp; The expectation would be that many\/most&nbsp;off cycle&nbsp;releases would ultimately be rolled into a major or minor release but not all.&nbsp; It would depend on the situation.\n<strong>CTPs &amp; Specs<\/strong>&nbsp;&#8211; Community Technology Previews and Spec Previews would continue to be a valuable way to preview what it coming in Major, Minor (and in some cases)&nbsp;off cycle&nbsp;releases.&nbsp;\n<strong>Hot Fixes<\/strong> &#8211; We would continue to pursue the effort we currently have underway of making all hot fixes available for browsing and download, enabling you to find available fixes as quickly as possible.\n&nbsp;\nWell, that&#8217;s the 10,000 foot view of what I&#8217;m thinking.&nbsp; What do you think?&nbsp; It doesn&#8217;t come without costs.&nbsp; Major releases would become somewhat smaller increments than they are today because some of the feature would have come out in preceding Minor releases.&nbsp; There&#8217;s a ton of logistical issues we&#8217;d have to address internally to reduce the cost of producing a release and likely, in the short term, there would be an overall cost in the additional release overhead that I&#8217;d hope we could reduce over time with practice and tooling.&nbsp; This would mean an end to service packs as we know them today as pure bug fix delivery mechanisms.&nbsp; Is that OK?\nAgain, please don&#8217;t get me in trouble by going around and telling people &#8220;Brian said DevDiv is &#8230;&#8221;.&nbsp; It&#8217;s just me musing.&nbsp; If everyone likes the ideas, they may influence where we go in the future.&nbsp; If everyone hates them, they&#8217;ll die on the vine \ud83d\ude42\nWhat do you think?<\/p>\n<p>Brian<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Sorry I&#8217;ve been away a while.&nbsp; It&#8217;s been almost 2 weeks since I&#8217;ve posted anything of much interest.&nbsp; It&#8217;s been crazy trying to get so many things finished up by the end of the year and I just haven&#8217;t had time to think straight.&nbsp; I&#8217;ve been trying to figure out what I was going to [&hellip;]<\/p>\n","protected":false},"author":244,"featured_media":14617,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[4],"class_list":["post-10041","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-visual-studio"],"acf":[],"blog_post_summary":"<p>Sorry I&#8217;ve been away a while.&nbsp; It&#8217;s been almost 2 weeks since I&#8217;ve posted anything of much interest.&nbsp; It&#8217;s been crazy trying to get so many things finished up by the end of the year and I just haven&#8217;t had time to think straight.&nbsp; I&#8217;ve been trying to figure out what I was going to [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/10041","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/users\/244"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/comments?post=10041"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/posts\/10041\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media\/14617"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/media?parent=10041"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/categories?post=10041"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/bharry\/wp-json\/wp\/v2\/tags?post=10041"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}