{"id":3043,"date":"2011-05-18T20:22:00","date_gmt":"2011-05-18T20:22:00","guid":{"rendered":"https:\/\/blogs.msdn.microsoft.com\/vcblog\/2011\/05\/18\/alm-for-c-in-visual-studio-11-at-teched-na-2011\/"},"modified":"2021-10-13T14:40:59","modified_gmt":"2021-10-13T14:40:59","slug":"alm-for-c-in-visual-studio-11-at-teched-na-2011","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/cppblog\/alm-for-c-in-visual-studio-11-at-teched-na-2011\/","title":{"rendered":"ALM for C++ in Visual Studio 11 at TechEd NA 2011"},"content":{"rendered":"<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/0143.image_7C8C01B1.png\"><img decoding=\"async\" class=\"size-full wp-image-29584 alignleft\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/0143.image_7C8C01B1.png\" alt=\"Image 0143 image 7C8C01B1\" width=\"104\" height=\"102\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/0143.image_7C8C01B1.png 104w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/0143.image_7C8C01B1-24x24.png 24w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/0143.image_7C8C01B1-48x48.png 48w\" sizes=\"(max-width: 104px) 100vw, 104px\" \/><\/a><\/p>\n<p>Greetings!! I\u2019m <strong>Rong Lu<\/strong>, Program Manager with the Visual C++ team.<\/p>\n<p>It\u2019s been extremely exciting in Atlanta at <a href=\"https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2011\" target=\"_blank\" rel=\"noopener\"><strong>TechEd North America 2011<\/strong><\/a>!<\/p>\n<p>Terry Leeper, Diego Dagum and I had a chance to be at TechEd and joined <strong>the announcement of Application Lifecycle Management (ALM) roadmap in Visual Studio 11<\/strong>. On Monday, <strong>Jason Zander<\/strong> announced ALM Roadmap in Visual Studio\u00a011 (check out his <a href=\"http:\/\/blogs.msdn.com\/b\/jasonz\/archive\/2011\/05\/16\/announcing-alm-roadmap-in-visual-studio-vnext-at-teched.aspx\" target=\"_blank\" rel=\"noopener\">blog post<\/a> for the entire roadmap and details), and then <strong>Cameron Skinner <\/strong>did a demo intensive foundational session which showed lots of the ALM features we\u2019re putting in\u00a0VC11 (check out his <a href=\"http:\/\/blogs.msdn.com\/b\/camerons\/archive\/2011\/05\/17\/alm-vnext-announced-at-teched.aspx\" target=\"_blank\" rel=\"noopener\">blog post<\/a> and <a href=\"https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2011\/FDN03\" target=\"_blank\" rel=\"noopener\">session recording<\/a>).<\/p>\n<p>But you may ask: <b><i>so, what does it mean to C++ developer teams?<\/i><\/b> Terry and I gave a talk about this on Tuesday at TechEd (check out <a href=\"https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2011\/DEV316\" target=\"_blank\" rel=\"noopener\"><span style=\"background-color: #ffff00;\">recording<\/span><\/a> if you missed it! <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8154.wlEmoticon-smile_0266A54B.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29594\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8154.wlEmoticon-smile_0266A54B.png\" alt=\"Image 8154 wlEmoticon smile 0266A54B\" width=\"19\" height=\"19\" \/><\/a>) and short answer is <b>C++ has made up a lot of ground and nearly all the\u00a0VC11 features work as well <\/b>(the only exception is the code cloning feature which we\u2019re working on to enable for C++). In the session, we talked about <span style=\"text-decoration: underline;\">what\u2019s already available in VS 2010 for C++ as well as highlighted and demonstrated some of the new things will be available in\u00a0VC11<\/span> that might be especially interesting to C++ developer teams.<\/p>\n<p>Here is a list of what these new features are in\u00a0VC11 (check out Cameron Skinner\u2019s <a href=\"https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2011\/FDN03\" target=\"_blank\" rel=\"noopener\">session recording<\/a> for demos on them):<\/p>\n<ul>\n<li><b>Agile Planning Tools<\/b> \u2013 create transparency across the planning process and full team participation through solutions like the new backlog and task board.<\/li>\n<li><b>Lightweight Requirements <\/b>\u2013 a natural way to capture and receive feedback on requirements early in the process.<\/li>\n<li><b>Stakeholder Feedback<\/b> \u2013 working code which matches the expectations of stakeholders.<\/li>\n<li><b>Continuous Testing <\/b>\u2013 unit test coverage ensures quality in the final product.<\/li>\n<li><b>Agile Quality Assurance<\/b> \u2013 increased code quality with code review support, enhanced unit testing frameworks and new exploratory testing support.<\/li>\n<li><b>Enhanced User Experience<\/b> \u2013 more time \u2018in the zone\u2019, through improved experiences for day-to-day tasks.<\/li>\n<li><b>Aligning Development with Operations<\/b> \u2013 increased connections and insight between the operations and development teams lowering the time it takes to fix a bug in production.<\/li>\n<\/ul>\n<p>Pretty cool, eh? And now I\u2019d like to highlight some of the new features that will be especially useful to you C++ developer teams (hope you feel the same! <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8154.wlEmoticon-smile_0266A54B.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29594\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8154.wlEmoticon-smile_0266A54B.png\" alt=\"Image 8154 wlEmoticon smile 0266A54B\" width=\"19\" height=\"19\" \/><\/a>). Check out our TechEd session recording for demos of these features as well. <a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8154.wlEmoticon-smile_0266A54B.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29594\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8154.wlEmoticon-smile_0266A54B.png\" alt=\"Image 8154 wlEmoticon smile 0266A54B\" width=\"19\" height=\"19\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Static Analysis<\/h2>\n<p>Static Analysis (aka Code Analysis) can help you to identify common coding errors before the application runs. It\u2019s already available in VS 2010 (works for C++!), and in\u00a0VC11 the experience will be significantly enhanced.<\/p>\n<ul>\n<li>The UI is re-designed to provide richer information.<\/li>\n<li>The analysis engine is more powerful to diagnose errors and warnings.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/5857.image_thumb_31D51417.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29590\" title=\"Static Analysis (click for a larger image)\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/5857.image_thumb_31D51417.png\" alt=\"Static Analysis (click for a larger image)\" width=\"554\" height=\"347\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/5857.image_thumb_31D51417.png 554w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/5857.image_thumb_31D51417-300x188.png 300w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Architecture Tools<\/h2>\n<p>Yes, we brought it to native C++ world. The set of architecture tools can help you visually discover the architecture of your application, design architecture and enforce the implementation to be compliant.<\/p>\n<ul>\n<li><b>Dependency Diagrams<\/b>: create the most up-to-date architecture diagrams right from your code! The dependency diagrams can be created by binary, namespace, class or include files (specially designed for C++!).<\/li>\n<li><b>Architecture Explorer<\/b>: explore the assets in your application and generate diagrams by drag and drop onto the design surface!<\/li>\n<li><b>Layer Diagram and Dependency Validation<\/b>: use layer diagram to create your architecture layers and run validation to detect if the implementation is in compliant with the design.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/6837.image_4FD3220B.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29591\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/6837.image_4FD3220B.png\" alt=\"Image 6837 image 4FD3220B\" width=\"607\" height=\"509\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/6837.image_4FD3220B.png 607w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/6837.image_4FD3220B-300x252.png 300w\" sizes=\"(max-width: 607px) 100vw, 607px\" \/><\/a><\/p>\n<p><strong>Dependency diagram by binary<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/3716.image_thumb_68161659.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29588\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/3716.image_thumb_68161659.png\" alt=\"Image 3716 image thumb 68161659\" width=\"550\" height=\"325\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/3716.image_thumb_68161659.png 550w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/3716.image_thumb_68161659-300x177.png 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n<p><strong>Dependency diagram by include files<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/2211.image_11A9E18D.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29587\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/2211.image_11A9E18D.png\" alt=\"Image 2211 image 11A9E18D\" width=\"524\" height=\"269\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/2211.image_11A9E18D.png 524w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/2211.image_11A9E18D-300x154.png 300w\" sizes=\"(max-width: 524px) 100vw, 524px\" \/><\/a><\/p>\n<p><strong>Create a layer diagram and run validation<\/strong><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/1256.image_thumb_754C799F.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29586\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/1256.image_thumb_754C799F.png\" alt=\"Image 1256 image thumb 754C799F\" width=\"550\" height=\"266\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/1256.image_thumb_754C799F.png 550w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/1256.image_thumb_754C799F-300x145.png 300w\" sizes=\"(max-width: 550px) 100vw, 550px\" \/><\/a>\n<strong>Errors are reported if any architecture violations<\/strong><\/p>\n<p>&nbsp;<\/p>\n<h2>Unit testing<\/h2>\n<p>In VC11, you will be able to write unit tests for your native C++ applications. The unit tests can be written in C++, and run in the unit test framework which itself is also native!<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8015.image_thumb_30DC6293.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29593\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8015.image_thumb_30DC6293.png\" alt=\"Image 8015 image thumb 30DC6293\" width=\"554\" height=\"448\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8015.image_thumb_30DC6293.png 554w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/8015.image_thumb_30DC6293-300x243.png 300w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<h2>Code Coverage<\/h2>\n<p>Now you\u2019ve got unit tests, and here comes code coverage which is well integrated with the unit test framework. You can get code coverage data by running the unit tests and learn how much of the code has been covered by the tests. The enhanced code coverage feature not only works great with the native unit test framework, but also will work the same way for managed test frameworks. In addition, it now does dynamic binary instrumentation as oppose to static binary instrumentation in the past, so it&#8217;s also a lot easier to use!<\/p>\n<p><a href=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/0523.image_thumb_25832889.png\"><img decoding=\"async\" class=\"alignnone size-full wp-image-29585\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/0523.image_thumb_25832889.png\" alt=\"Image 0523 image thumb 25832889\" width=\"554\" height=\"310\" srcset=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/0523.image_thumb_25832889.png 554w, https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/0523.image_thumb_25832889-300x168.png 300w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>Hope you would like these features! Look forward to hearing what you think of them.<\/p>\n<p>&nbsp;<\/p>\n<p>Best Regards,\nRong.-<\/p>\n<p>PS: our session at TechEd on all these was just posted in Channel 9. <a href=\"https:\/\/channel9.msdn.com\/Events\/TechEd\/NorthAmerica\/2011\/DEV316\" target=\"_blank\" rel=\"noopener\">[Watch it here]<\/a> Enjoy! <img decoding=\"async\" class=\"wlEmoticon wlEmoticon-winkingsmile\" style=\"border-style: none;\" src=\"https:\/\/devblogs.microsoft.com\/cppblog\/wp-content\/uploads\/sites\/9\/2011\/05\/4130.wlEmoticon-winkingsmile_71DABC2A.png\" alt=\"Winking smile\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Greetings!! I\u2019m Rong Lu, Program Manager with the Visual C++ team. It\u2019s been extremely exciting in Atlanta at TechEd North America 2011! Terry Leeper, Diego Dagum and I had a chance to be at TechEd and joined the announcement of Application Lifecycle Management (ALM) roadmap in Visual Studio 11. On Monday, Jason Zander announced ALM [&hellip;]<\/p>\n","protected":false},"author":289,"featured_media":35994,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[109],"class_list":["post-3043","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cplusplus","tag-alm-application-lifecycle-management"],"acf":[],"blog_post_summary":"<p>Greetings!! I\u2019m Rong Lu, Program Manager with the Visual C++ team. It\u2019s been extremely exciting in Atlanta at TechEd North America 2011! Terry Leeper, Diego Dagum and I had a chance to be at TechEd and joined the announcement of Application Lifecycle Management (ALM) roadmap in Visual Studio 11. On Monday, Jason Zander announced ALM [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/3043","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/users\/289"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/comments?post=3043"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/posts\/3043\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media\/35994"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/media?parent=3043"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/categories?post=3043"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/cppblog\/wp-json\/wp\/v2\/tags?post=3043"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}