<?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</title><link>http://blogs.msdn.com/jmeier/default.aspx</link><description>Software Engineering, Project Management, and Effectiveness</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>The Power of Blue Books for Platform Impact</title><link>http://blogs.msdn.com/jmeier/archive/2010/03/07/the-power-of-blue-books-for-platform-impact.aspx</link><pubDate>Sun, 07 Mar 2010 08:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9974228</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>11</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9974228.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9974228</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/WhyBlueBooksForPlatformImpact_2.gif" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/WhyBlueBooksForPlatformImpact_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 0px" title=WhyBlueBooksForPlatformImpact border=0 alt=WhyBlueBooksForPlatformImpact align=right src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/WhyBlueBooksForPlatformImpact_thumb.gif" width=205 height=300 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/WhyBlueBooksForPlatformImpact_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Why invest in prescriptive guidance or “Blue Books” for Microsoft platform impact?&amp;nbsp; While the answer is obvious to many, it’s not as obvious to others, so I’ll attempt to paint the picture here.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa302415.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa302415.aspx"&gt;Building Secure ASP.NET Applications&lt;/A&gt; was the first “blue book” at Microsoft, but it was &lt;A href="http://msdn.microsoft.com/en-us/library/ms994921.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms994921.aspx"&gt;Improving Web Application Security&lt;/A&gt; that really made people take notice (it was downloaded more than 800,000 times in its first six months and it changed how many people in the industry thought about security and it changed their approach.&amp;nbsp; It’s also the guide that helped many customers switch from Java to .NET.)&amp;nbsp; An interesting note about Building Secure is that the Forms Authentication approach was baked into the Whidbey platform (ASP.NET 2.0.)&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Blue Books Shape Platform Success&lt;BR&gt;&lt;/STRONG&gt;Blue Books have played a strategic role in both shaping the platform and driving exponential customer success on the platform.&amp;nbsp;&amp;nbsp; They’ve helped us find and share platform best practices, create mental models and conceptual frameworks, and create systems and approaches that scale success and create powerful ecosystems.&amp;nbsp; They’ve also helped us spring up offerings for our field, reduce support costs, and win competitive assessments.&lt;/P&gt;
&lt;P&gt;Ultimately, Blue Books give us a strategic look at platform pain points as well as competitive analysis, and a consolidated set of success patterns to run with.&lt;/P&gt;
&lt;P&gt;From patents to methodologies to better ways for better days, “Blue Books” have been the definitive way for improving platform success in a sustainable way – a durable backdrop that provides continuity of the platform over time.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Benefits at a Glance&lt;/STRONG&gt;&lt;BR&gt;Here is a quick rundown of some of the key ways that Blue Books have helped Microsoft and customers win time and again:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Platform Playbooks&lt;/STRONG&gt; - Serve as platform playbooks for Microsoft, field, support, customers, and partners 
&lt;LI&gt;&lt;STRONG&gt;Shaping the Platform and Tools&lt;/STRONG&gt; – Shape the platform and tools by testing out patterns and practices as well as methodologies and methods with the broad community before baking into the platform and tools. 
&lt;LI&gt;&lt;STRONG&gt;Scaling Success Patterns&lt;/STRONG&gt; - Broadly scale proven practices and success patterns for predictable results 
&lt;LI&gt;&lt;STRONG&gt;Roadmaps for Platform Adoption&lt;/STRONG&gt; - Lay out roadmaps for technology adoption as well as success patterns 
&lt;LI&gt;&lt;STRONG&gt;Competitive Wins&lt;/STRONG&gt; - Win competitive assessments (the Blue Books have played a critical role in influencing industry analysts and in winning competitive assessments time and again) 
&lt;LI&gt;&lt;STRONG&gt;Innovation for Exponential Success&lt;/STRONG&gt; - Innovate in methodologies and methods for exponentially improving customer success on the platform 
&lt;LI&gt;&lt;STRONG&gt;Frame and Name the Problem Domains&lt;/STRONG&gt; – Frame out and name the problem spaces and domains (when you frame out and name a space, whether through patterns or pattern languages, you create a shared vocabulary and model that empowers people to make forward progress at a faster pace and more deliberate way.) &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The list goes on, but the essence is that these playbooks help customers make the most of the platform by sharing the know-how through prescriptive architectural guidance.&lt;/P&gt;
&lt;TABLE border=1 width="100%"&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TH width=146&gt;Blue Book&lt;/TH&gt;
&lt;TH width=420&gt;Results&lt;/TH&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=146&gt;&lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/dd673617.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/dd673617.aspx"&gt;Application Architecture Guide, Second Edition&lt;/A&gt;&lt;/EM&gt;&lt;/TD&gt;
&lt;TD width=420&gt;
&lt;UL&gt;
&lt;LI&gt;The platform playbook for Microsoft’s application platform 
&lt;LI&gt;Canonical application types for Web app, RIA, Rich Client, Mobile, and Web Services 
&lt;LI&gt;Baseline best practices for application architecture and design 
&lt;LI&gt;Templates baked into Visual Studio 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/jmeier/archive/2009/03/12/ray-ozzie-on-the-microsoft-application-architecture-guide-2-0.aspx" mce_href="http://blogs.msdn.com/jmeier/archive/2009/03/12/ray-ozzie-on-the-microsoft-application-architecture-guide-2-0.aspx"&gt;Praise from Ray Ozzie&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/jmeier/archive/2008/12/31/grady-booch-on-the-microsoft-application-architecture-guide-2-0.aspx" mce_href="http://blogs.msdn.com/jmeier/archive/2008/12/31/grady-booch-on-the-microsoft-application-architecture-guide-2-0.aspx"&gt;Praise from Grady Booch&lt;/A&gt; 
&lt;LI&gt;Conceptual Framework for Application Architecture &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=146&gt;&lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/aa302415.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/aa302415.aspx"&gt;Building Secure ASP.NET Applications&lt;/A&gt;&lt;BR&gt;(aka The first official Microsoft “Blue Book”)&lt;/EM&gt;&lt;/TD&gt;
&lt;TD width=420&gt;
&lt;UL&gt;
&lt;LI&gt;End-to-End Application Scenarios for Web Apps 
&lt;LI&gt;Created a highly reusable set of Application Patterns 
&lt;LI&gt;Baseline architectures and success patterns shared broadly inside and outside Microsoft &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=146&gt;&lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms998530.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms998530.aspx"&gt;Improving .NET Application Performance and Scalability&lt;/A&gt;&lt;BR&gt;(aka “&lt;STRONG&gt;Perf and Scale&lt;/STRONG&gt;”)&lt;/EM&gt;&lt;/TD&gt;
&lt;TD width=420&gt;
&lt;UL&gt;
&lt;LI&gt;Repeatable performance model 
&lt;LI&gt;Created a highly-effective method for performance modeling 
&lt;LI&gt;Performance Engineering approach baked into Visual Studio 
&lt;LI&gt;4 patents filed for performance engineering 
&lt;LI&gt;Performance Engineering approach widely adopted inside and outside Microsoft 
&lt;LI&gt;Used for offerings in Microsoft Consulting Services 
&lt;LI&gt;Rules baked into Microsoft Best Practices Analyzer Wizard (MBPA) &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=146&gt;&lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms994921.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms994921.aspx"&gt;Improving Web Application Security&lt;/A&gt; &lt;BR&gt;(aka “&lt;STRONG&gt;Threats and Countermeasures&lt;/STRONG&gt;”)&lt;/EM&gt;&lt;/TD&gt;
&lt;TD width=420&gt;
&lt;UL&gt;
&lt;LI&gt;Repeatable security model for Web applications 
&lt;LI&gt;Created a highly-effective method for threat modeling 
&lt;LI&gt;Created a knowledge base of threats, attacks, vulnerabilities, and countermeasures 
&lt;LI&gt;Security model for network, host, and application security 
&lt;LI&gt;Security Engineering approach baked into Visual Studio 
&lt;LI&gt;4 patents filed for application security 
&lt;LI&gt;Used for offering in Microsoft Consulting Services 
&lt;LI&gt;Rules baked into Microsoft Best Practices Analyzer Wizard (MBPA) &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=146&gt;&lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc949034.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/cc949034.aspx"&gt;Improving Web Services Security&lt;/A&gt;&lt;/EM&gt;&lt;/TD&gt;
&lt;TD width=420&gt;
&lt;UL&gt;
&lt;LI&gt;Security model for Web Services 
&lt;LI&gt;End-to-End Application Scenarios for Web Services 
&lt;LI&gt;Created a highly reusable set of Application Patterns 
&lt;LI&gt;Baseline architectures and common success patterns shared broadly inside and outside Microsoft &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=146&gt;&lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb924375.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/bb924375.aspx"&gt;Performance Testing Guidance for Web Applications&lt;/A&gt;&lt;/EM&gt;&lt;/TD&gt;
&lt;TD width=420&gt;
&lt;UL&gt;
&lt;LI&gt;Created a highly-effective method for performance testing Web applications 
&lt;LI&gt;Performance Testing approach widely adopted inside and outside Microsoft 
&lt;LI&gt;Used for offerings in Microsoft Consulting Services &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=146&gt;&lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms998382.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms998382.aspx"&gt;Security Engineering Explained&lt;/A&gt;&lt;/EM&gt;&lt;/TD&gt;
&lt;TD width=420&gt;
&lt;UL&gt;
&lt;LI&gt;Created a model for baking security into the life cycle 
&lt;LI&gt;Helped shift thinking from security "reviews" to "inspections" 
&lt;LI&gt;Overlays security-specific activities on product development life cycles &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR vAlign=top&gt;
&lt;TD width=146&gt;&lt;EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/bb668991.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/bb668991.aspx"&gt;Team Development and Visual Studio Team Foundation Server&lt;/A&gt;&lt;/EM&gt;&lt;/TD&gt;
&lt;TD width=420&gt;
&lt;UL&gt;
&lt;LI&gt;Created a glide-path for TFS adoption (source control, build, task tracking / reporting, process) &lt;/LI&gt;&lt;/UL&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp; 
&lt;DIV&gt;&lt;STRONG&gt;Example Blue Books&lt;BR&gt;&lt;/STRONG&gt;I won’t speak for all the Blue Books at Microsoft, but since I created the bulk of the Blue Books, it’s easy for me to speak from the ones I created.&amp;nbsp;&amp;nbsp; Here is a summary of the impact that can help you better understand the value of Blue Books from a broader perspective.&lt;BR&gt;&lt;/DIV&gt;&lt;/P&gt;&lt;/TABLE&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;End-to-End Application Scenarios and Solutions&lt;BR&gt;&lt;/STRONG&gt;Here’s an example of an application scenario.&amp;nbsp; We use application scenarios to show how to solve end-to-end problems.&amp;nbsp; It’s effectively a baseline architecture based on successful solutions.&amp;nbsp;&amp;nbsp; Here is an example from our &lt;A href="http://www.codeplex.com/WCFSecurity" target=_blank mce_href="http://www.codeplex.com/WCFSecurity"&gt;WCF Security Guide&lt;/A&gt;:&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Scenario&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleScenario_2.gif" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleScenario_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleScenario border=0 alt=ExampleScenario src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleScenario_thumb.gif" width=450 height=104 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleScenario_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Solution&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleSolution_2.gif" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleSolution_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleSolution border=0 alt=ExampleSolution src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleSolution_thumb.gif" width=450 height=289 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleSolution_thumb.gif"&gt;&lt;/A&gt; &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;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;We share them as sketches like on a whiteboard so they are easy to follow.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Methodologies and Methods&lt;/STRONG&gt;&lt;BR&gt;Methodologies, frameworks and approaches are nice ways to wrap up and package a set of related activities that you can use a baseline for your process or to overlay on what you already do.&amp;nbsp; Methods are step-by-step techniques for producing effective results and they are a powerful way to share expertise.&amp;nbsp;&amp;nbsp; Methodologies and methods are how we create exponential results and amplify our impact.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Example Methodology – &lt;/EM&gt;&lt;A href="http://blogs.msdn.com/jmeier/archive/2010/02/22/agile-security-engineering.aspx" mce_href="http://blogs.msdn.com/jmeier/archive/2010/02/22/agile-security-engineering.aspx"&gt;&lt;EM&gt;Agile Security Engineering&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMethodologyAgileSecurityEngineering_2.gif" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMethodologyAgileSecurityEngineering_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleMethodologyAgileSecurityEngineering border=0 alt=ExampleMethodologyAgileSecurityEngineering src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMethodologyAgileSecurityEngineering_thumb.gif" width=450 height=478 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMethodologyAgileSecurityEngineering_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Example Method – &lt;/EM&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ms978516.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ms978516.aspx"&gt;&lt;EM&gt;Threat Modeling Technique&lt;/EM&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMethodThreatModeling_2.gif" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMethodThreatModeling_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleMethodThreatModeling border=0 alt=ExampleMethodThreatModeling src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMethodThreatModeling_thumb.gif" width=230 height=350 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMethodThreatModeling_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Conceptual Frameworks and Mental Models&lt;/STRONG&gt;&lt;BR&gt;We use mental models, conceptual frameworks, and information models to learn and share the problem space.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Example Conceptual Framework for Web Security&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleConceptualFramework_2.gif" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleConceptualFramework_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleConceptualFramework border=0 alt=ExampleConceptualFramework src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleConceptualFramework_thumb.gif" width=400 height=338 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleConceptualFramework_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Example Mental Model for Application Architecture&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMentalModelAppArch_2.gif" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMentalModelAppArch_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleMentalModelAppArch border=0 alt=ExampleMentalModelAppArch src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMentalModelAppArch_thumb.gif" width=400 height=233 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleMentalModelAppArch_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Hot Spots&lt;/STRONG&gt;&lt;BR&gt;Hot Spots are basically heat maps of pain points and opportunities.&amp;nbsp; We use them as a lens to help us see customer pain points and opportunities, and to prioritize our investments.&amp;nbsp; They also help us identify, organize, and share scenarios.&amp;nbsp; Hot Spots also help us organize and share principles, patterns, practices, and anti-patterns for key engineering decisions.&amp;nbsp;&amp;nbsp; Hot Spots are a powerful tool for product planning and for building prescriptive guidance, platform, and tools. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Example of Security Hot Spots&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleSecurityHotSpots_2.gif" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleSecurityHotSpots_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleSecurityHotSpots border=0 alt=ExampleSecurityHotSpots src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleSecurityHotSpots_thumb.gif" width=450 height=285 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleSecurityHotSpots_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Example of Architecture Hot Spots&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleArchitectureFrame_2.gif" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleArchitectureFrame_2.gif"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleArchitectureFrame border=0 alt=ExampleArchitectureFrame src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleArchitectureFrame_thumb.gif" width=214 height=244 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleArchitectureFrame_thumb.gif"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Scenarios Organized by Architecture Hot Spots&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleArchitectureFrameTable_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleArchitectureFrameTable_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleArchitectureFrameTable border=0 alt=ExampleArchitectureFrameTable src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleArchitectureFrameTable_thumb.jpg" width=384 height=567 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleArchitectureFrameTable_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Competitive Wins&lt;/STRONG&gt;&lt;BR&gt;Our Blue Books have consistently been used for winning competitive assessments or at least making significant impact in key areas.&amp;nbsp; Whether there’s a gap in the tools or a gap in the platform, prescriptive guidance can smooth it out by creating a success path for customers. &lt;/P&gt;
&lt;P&gt;&lt;EM&gt;Example of beating IBM in Every Category Around Guidance&lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleCompetitiveResults_2.jpg" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleCompetitiveResults_2.jpg"&gt;&lt;IMG style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" title=ExampleCompetitiveResults border=0 alt=ExampleCompetitiveResults src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleCompetitiveResults_thumb.jpg" width=450 height=261 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/ThePowerofBlueBooksforPlatformImpact_E700/ExampleCompetitiveResults_thumb.jpg"&gt;&lt;/A&gt;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;You can find a deeper rundown on the &lt;A href="http://blogs.msdn.com/jmeier/archive/tags/Competitive+Studies/default.aspx" mce_href="http://blogs.msdn.com/jmeier/archive/tags/Competitive+Studies/default.aspx"&gt;competitive assessments&lt;/A&gt; in my previous posts.&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;P mce_keep="true"&gt;&amp;nbsp;&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;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;The Bottom Line on Blue Books&lt;/STRONG&gt;&lt;BR&gt;The bottom line for me is that Blue Books have helped shape platforms and tools and to create glide-paths for customers through mental models, methodologies, and methods.&amp;nbsp; They’ve been a powerful way to share success patterns, help paint the bigger picture, and connect the dots across platform, tools, and guidance.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;The adoption and usage has accelerated over the years to the point where just about any customer in the application development space that works with the Microsoft platform is familiar with either patterns &amp;amp; practices for the Microsoft Blue Books.&lt;/P&gt;
&lt;P&gt;Blue Books have been the freemium offering from Microsoft that have paved the way for premium experiences.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9974228" width="1" height="1"&gt;</description></item><item><title>Getting Results Fan Page Now Available</title><link>http://blogs.msdn.com/jmeier/archive/2010/03/03/getting-results-fan-page-now-available.aspx</link><pubDate>Wed, 03 Mar 2010 22:17:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9972455</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9972455.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9972455</wfw:commentRss><description>&lt;p&gt;The &lt;a href="http://www.facebook.com/pages/Getting-Results/382341409391" target="_blank"&gt;Getting Results Facebook Fan Page&lt;/a&gt; is now available.&amp;#160; It’s for my latest book, &lt;a href="http://gettingresults.com/" target="_blank"&gt;Getting Results the Agile Way&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;Getting Results is my first non-technical book and it’s all about making you great.&amp;#160; You’ll learn the super skills for working on the right things, the right way, at the right time, with the right energy … unleashing your best.&amp;#160; Oh, and did I mention, you can read it all for free?&amp;#160; It’s all free in HTML.&amp;#160; You can learn the secrets of how I drive myself, coach other teams at Microsoft, and lead distributed teams around the World for more than 10 years for world-class results.&amp;#160; It’s spreading fast … people are adopting it … and people are writing stories to me about how it’s changing their lives.&amp;#160; Who knew success would be so contagious … and everybody wants some of that :)&lt;/p&gt;  &lt;p&gt;It’s all about getting results in work and life.&amp;#160; It’s the best of the best success patterns for making the most of what you’ve got, playing to your strengths, mastering your time, and living your values.&lt;/p&gt;  &lt;p&gt;I’m a fan of sharing know-how rapidly, effectively, and unselfishly … so all the secrets are in the guide, no holds barred.&amp;#160; You get the distillation of trial and tribulation, deliberate practice, and synthesis of the best of the best methods for getting results.&amp;#160; Get the system on your side and like Bruce Lee said, “absorb what is useful.”&lt;/p&gt;  &lt;p&gt;Maybe you’ll be the next rags to riches story.&amp;#160; Maybe you’ll become the new hero at work who moves mountains and makes things happen.&amp;#160; Maybe you’ll just find more joy in your day to day.&amp;#160; Either way … best wishes on uncorking yourself and may the full force of Agile Results be with you.&amp;#160; &lt;/p&gt;  &lt;p&gt;If it’s not for you, maybe you know somebody who needs a lift up in life.&amp;#160; Share it with them.&amp;#160; I’m teaching my friends and family and all who care the skills to go the distance in an ever-changing world.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9972455" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Getting+Results/default.aspx">Getting Results</category></item><item><title>Getting Results the Agile Way - The Book on Getting Results</title><link>http://blogs.msdn.com/jmeier/archive/2010/03/01/getting-results-the-agile-way-the-book-on-getting-results.aspx</link><pubDate>Mon, 01 Mar 2010 16:36:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9970926</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>10</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9970926.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9970926</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/GettingResultstheAgileWayTheBookonGettin_133FD/GettingResults2_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="GettingResults2" border="0" alt="GettingResults2" align="right" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/GettingResultstheAgileWayTheBookonGettin_133FD/GettingResults2_thumb.png" width="139" height="209" /&gt;&lt;/a&gt; &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;“Are you getting results? …”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Over Christmas break, I committed to finishing the writing for a book that I expect to change a lot of people's lives.&amp;#160; It's my first non-technical book.&amp;#160; The working title is, &lt;a href="http://gettingresults.com/" target="_blank"&gt;Getting Results the Agile Way&lt;/a&gt;.&amp;#160; It's all about getting results in work and life.&amp;#160; It's the playbook I wish somebody had given me long ago for finding work/life balance, managing time, playing to my strengths, and making the most of what I've got. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why Getting Results&lt;/strong&gt;    &lt;br /&gt;The world is a tough place.&amp;#160; Between layoffs, the economy, and simply the unknown, a lot of people are having a really tough time in their lives.&amp;#160; There are constantly new challenges at a pace that's tough to keep up.&amp;#160; Worse, I don't think you learn a lot of these skills in school or on the job, except through the school of hard knocks. &lt;/p&gt;  &lt;p&gt;This is my playbook for you.&amp;#160; For more than 10 years at Microsoft I've tested and evaluated ways to get results.&amp;#160; I've had to find things that not only work for me, but that could work for the people I mentor inside and outside the company, as well as for large teams around the world.&amp;#160; I'm a big believer that everybody can get great results if they have the right know-how.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What Sorts of Problems Does It Tackle     &lt;br /&gt;&lt;/strong&gt;The book is a system and a playbook for some of these common challenges:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;How to find work / life balance&lt;/li&gt;    &lt;li&gt;How to shift from tasks and activities to meaningful results and outcomes&lt;/li&gt;    &lt;li&gt;How to use stories and scenario-driven results to carve out value in your life&lt;/li&gt;    &lt;li&gt;How to overwhelm your challenges with fierce results&lt;/li&gt;    &lt;li&gt;How to defeat perfectionism&lt;/li&gt;    &lt;li&gt;How to avoid analysis paralysis and take action a simple story at a time&lt;/li&gt;    &lt;li&gt;How to find your flow state for more engaging work&lt;/li&gt;    &lt;li&gt;How to find your passion and purpose&lt;/li&gt;    &lt;li&gt;How to play to your strengths for more energy and better results&lt;/li&gt;    &lt;li&gt;How to conquer fear and avoid learned helplessness&lt;/li&gt;    &lt;li&gt;How to motivate yourself in ways that make you feel you can move mountains&lt;/li&gt;    &lt;li&gt;How to focus on what really counts&lt;/li&gt;    &lt;li&gt;How to prioritize more effectively&lt;/li&gt;    &lt;li&gt;How to create more value for yourself and others&lt;/li&gt;    &lt;li&gt;How to spend more time on what you want, and less time on what you don’t &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;It helps with a lot of things because mostly it gets you spending the right time, on the right things, with the right energy, the right way.&amp;#160; This is the key to your best results.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;My Story     &lt;br /&gt;&lt;/strong&gt;When I first joined Microsoft, it was sink or swim.&amp;#160; I saw a lot of people fail.&amp;#160; Among the chaos, I also saw many people thrive.&amp;#160; I wanted to know their secrets.&amp;#160; I started with people on my team, but the next thing you know I was studying success patterns around the company.&amp;#160; If somebody was known for getting results, I hunted them down and studied their ways. &lt;/p&gt;  &lt;p&gt;I learned so many simple things that actually worked.&amp;#160; For example, instead of managing time, the real key is managing your energy.&amp;#160; I'd rather have four power hours, than a week of just going through the motions.&amp;#160; The secret of work life balance is setting up your own artificial boundaries, whether it's &amp;quot;dinner on the table at 5:30&amp;quot; or &amp;quot;no work on the weekends.&amp;quot;&amp;#160; Finding your passion can be as simple as connecting to your values.&amp;#160; For example, I use metaphors to make my project an epic adventure and I have the team create the movie poster of what great results will look like.&amp;#160; How's that for wanting to show up and give your best every day knowing you're working on blockbuster results? &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What is Agile Results?     &lt;br /&gt;&lt;/strong&gt;You'll hear me talk about Agile Results quite a bit.&amp;#160; It's the name I gave the system&amp;#160; that serves as the foundation for the Getting Results guide.&amp;#160; Agile is all about responding to change.&amp;#160; It's agility in action.&amp;#160; It's all about making progress while the world changes under your feet. &lt;/p&gt;  &lt;p&gt;My Agile Results system borrows the best principles, patterns, and practices across a variety of disciplines from sports, positive psychology, personal productivity, Agile development, Scrum, project management, time management, leadership skills, and strengths-based development.&amp;#160; It's more than a mash up -- I've tested and honed the system to work for individuals and teams while refining it over years of deliberate practice.&amp;#160; To me, great results for the team, always starts with unleashing an individual’s best.&amp;#160; Having fun is contagious and getting results spreads like a wild fire. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Agile Results in a Nutshell     &lt;br /&gt;&lt;/strong&gt;Here is the Agile Results system at a glance:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;The Rule of 3&lt;/strong&gt; – You can apply the Rule of 3 to work and life to avoid overwhelming yourself while carving out&amp;#160; value, a day at a time, a story at a time.&amp;#160; See &lt;a href="http://gettingresults.com/wiki/The_Rule_of_3" target="_blank"&gt;The Rule of 3&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Monday Vision, Daily Outcomes, and Friday Reflection&lt;/strong&gt; – This is a simple weekly pattern for results.&amp;#160; On Mondays figure out your 3 compelling results for the week.&amp;#160; Each day, figure out your 3 best results for the day.&amp;#160; On Fridays, identify 3 things going well, and 3 things to improve.&amp;#160; See &lt;a href="http://gettingresults.com/wiki/Monday_Vision,_Daily_Outcomes,_Friday_Reflection" target="_blank"&gt;Monday Vision, Daily Outcomes, and Friday Reflection&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Hot Spots&lt;/strong&gt; -&amp;#160; This is your heat map.&amp;#160; Hot Spots are a simple lens to look at your life as a portfolio you invest in: mind, body, emotions, career, financial, relationships, and fun.&amp;#160; It’s under-investing or over-investing in these areas that can get in the way of great results.&amp;#160; See &lt;a href="http://gettingresults.com/wiki/Hot_Spots" target="_blank"&gt;Hot Spots&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;How to Get Started     &lt;br /&gt;&lt;/strong&gt;Getting started is really easy.&amp;#160; If you write down 3 results you want for today, you're doing Agile Results.&amp;#160; Is there more to it? … Sure, but take it at your own pace.&amp;#160; Here’s a &lt;a href="http://gettingresults.com/wiki/Getting_Started_with_Agile_Results" target="_blank"&gt;one-page guide for getting started with Agile Results&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;How To Follow Along for the Ride     &lt;br /&gt;&lt;/strong&gt;You can &lt;a href="http://gettingresults.com/" target="_blank"&gt;read Getting Results for free online in HTML&lt;/a&gt;.&amp;#160; I’ll continue to shape the guide over the next several weeks based on feedback.&amp;#160; I’ll also be making March a focus on getting results so if you’ve been looking for a jumpstart for your life, this is a great month to make it happen.&amp;#160;&amp;#160; I’ll be sharing nuggets for getting results at my effectiveness blog, &lt;a href="http://sourcesofinsight.com/" target="_blank"&gt;Sources of Insight&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;If you're not getting the results you want in your life, you just need the skills.&amp;#160; Use my guide to stuff your bag of tricks with some new tools that will change your game and help you unleash your best.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9970926" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Getting+Results/default.aspx">Getting Results</category></item><item><title>Agile Security Engineering</title><link>http://blogs.msdn.com/jmeier/archive/2010/02/22/agile-security-engineering.aspx</link><pubDate>Mon, 22 Feb 2010 15:54:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9967461</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9967461.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9967461</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;“It is not necessary to change. Survival is not mandatory.”&lt;/em&gt;—Edwards Deming&lt;/p&gt;  &lt;p&gt;I gave a talk for the developer security MVPs at the Microsoft 2010 MVP Summit last week.&amp;#160; While I focused primarily on Azure Security, I did briefly cover Agile Security Engineering.&amp;#160; Here is the figure I used to help show how we do Agile Security Engineering in patterns &amp;amp; practices:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/AgileSecurityEngineering_6F34/Agile%20Security%20Engineering_6.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Agile Security Engineering" border="0" alt="Agile Security Engineering" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/AgileSecurityEngineering_6F34/Agile%20Security%20Engineering_thumb_2.png" width="454" height="482" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;What’s important about the figure is that it shows an example of how you can overlay security-specific techniques on an existing life cycle.&amp;#160; In this case, we simply overlay some security activities on top of an Agile software cycle.&lt;/p&gt;  &lt;p&gt;Rather than make security a big up front design or doing it all at the end or other &lt;a href="http://blogs.msdn.com/jmeier/archive/2005/10/11/security-approaches-that-don-t-work.aspx"&gt;security approaches that don’t work&lt;/a&gt;, we’re baking security into the life cycle.&amp;#160; The key here is integrating security into your iterations.&lt;/p&gt;  &lt;p&gt;Here is a summary of the key security activities and how they play in an agile development cycle:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Security Objectives&lt;/strong&gt; – This is about getting clarity on your goals, objectives, and constraints so that you effectively prioritize and invest accordingly.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Security Spikes&lt;/strong&gt; – In Agile, a &lt;a href="http://www.extremeprogramming.org/rules/spike.html" target="_blank"&gt;spike&lt;/a&gt; is simply a quick experiment in code for the developer to explore potential solutions.&amp;#160; A security spike is focused exploring potential security solutions with the goal of reducing technical risk.&amp;#160; During exploration, you can spike on some of the cross-cutting security concerns for your solution.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Security Stories&lt;/strong&gt; – In Agile, a &lt;a href="http://www.extremeprogramming.org/rules/userstories.html" target="_blank"&gt;story&lt;/a&gt; is a brief description of the steps a user takes to perform a goal.&amp;#160; A security story is simply a security-focused scenario.&amp;#160; This might be an existing “user” story, but you apply a security lens, or it might be a new “system” story that focuses on a security goal, requirement, or constraint.&amp;#160; Identify security stories during exploration and during your iterations.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Security Guidelines&lt;/strong&gt; – To help guide the security practices throughout the project, you can create a distilled set of relevant security guidelines for the developers.&amp;#160; You can fine tune them and make them more relevant for your particular security stories.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Threat Modeling&lt;/strong&gt; – Use threat modeling to shape your software design.&amp;#160; A &lt;a href="http://msdn.microsoft.com/en-us/library/ms978516.aspx" target="_blank"&gt;threat model&lt;/a&gt; is a depiction of potential threats and attacks against your solution, along with vulnerabilities.&amp;#160; Think of a threat as a potential negative effect and a vulnerability as a weakness that exposes your solution to the threat or attack.&amp;#160; You can threat model at the story level during iterations, and you can threat model at the macro level during exploration.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Security Design Inspections&lt;/strong&gt; – Similar to a general architecture and design review, this is a focus on the security design.&amp;#160; Security questions and criteria guide the inspection.&amp;#160; The design inspection is focused on higher-level, cross-cutting, and macro-level concerns.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Security Code Inspections&lt;/strong&gt; – Similar to a general code review, this is a focus on inspecting the code for security issues.&amp;#160; Security questions and criteria guide your inspection.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Security Deployment Inspections&lt;/strong&gt; – Similar to a general deployment review, this is a focus on inspecting for security issues of your deployed solution.&amp;#160; Physical deployment is where the rubber meets the road and this is where runtime behaviors might expose security issues that you didn’t catch earlier in your design and code inspections.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The sum of these activities is more than the parts and using a collection of proven, light-weight activities that you can weave into your life cycle helps you stack the deck in your favor.&amp;#160; This is in direct contrast to relying on one big silver bullet.&lt;/p&gt;  &lt;p&gt;Note that we originally used “reviews” which are more exploratory, but we later optimized around “inspections.”&amp;#160; The distinction is that inspections use criteria (e.g. a 12 point inspection.)&amp;#160; We share the criteria using security checklists for design, coding, and deployment inspections.&lt;/p&gt;  &lt;p&gt;There are two keys to chunking up security so that you can effectively focus on it during iterations: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Security stories&lt;/strong&gt;&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Security frame&lt;/strong&gt; &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Stories are a great way of chunking up value.&amp;#160; Each story represents a user performing a useful goal.&amp;#160; As such, you can also chunk up your security work, by focusing on the security concerns of a story.&lt;/p&gt;  &lt;p&gt;A &lt;a href="http://msdn.microsoft.com/en-us/library/ms978518.aspx" target="_blank"&gt;security frame&lt;/a&gt; is a lens for security.&amp;#160; It’s simply a set of categories or “hot spots” (e.g. auditing and logging, authentication, authorization, configuration management, cryptography, exception management, sensitive data, session management.)&amp;#160;&amp;#160; Each category is a container for principles, patterns, and anti-patterns.&amp;#160; By grouping your security practices into these buckets, you can more effectively consolidate and leverage your security know-how during each iteration.&amp;#160; For example, one iteration might have stories that involve authentication and authorization, while another iteration might have stories that involve input and data validation.&lt;/p&gt;  &lt;p&gt;Together, stories and security frames help you chunk up security and bake it into the life cycle, while learning and responding along the way.&lt;/p&gt;  &lt;p&gt;For more information on security engineering, see &lt;a href="http://msdn.microsoft.com/en-us/library/ms998382.aspx" target="_blank"&gt;patterns &amp;amp; practices Security Engineering Explained&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9967461" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Security/default.aspx">Security</category></item><item><title>VMs for Web and Worker Roles in Windows Azure</title><link>http://blogs.msdn.com/jmeier/archive/2010/02/17/vms-for-web-and-worker-roles-in-windows-azure.aspx</link><pubDate>Wed, 17 Feb 2010 23:26:27 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9965404</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>9</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9965404.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9965404</wfw:commentRss><description>&lt;p&gt;This is my current mental model for Virtual Machines (VMs) for Web and Worker Roles in Windows Azure:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/VMsforWebandWorkerRolesinWindowsAzure_D91C/VMs%20for%20Web%20and%20Worker%20Roles%20in%20Windows%20Azure%20v2_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VMs for Web and Worker Roles in Windows Azure v2" border="0" alt="VMs for Web and Worker Roles in Windows Azure v2" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/VMsforWebandWorkerRolesinWindowsAzure_D91C/VMs%20for%20Web%20and%20Worker%20Roles%20in%20Windows%20Azure%20v2_thumb.png" width="400" height="302" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;On Windows Azure, you run your application in Web and Worker Roles.&amp;#160; Each instance of a Web or Worker Role runs in a VM.&amp;#160; You define how many instances of each Web or Worker role you want to run.&amp;#160; Windows Azure then spins up a VM for each instance.&amp;#160; You can choose from 4 flavors of VMs: one core, two core, four core, and eight core.&lt;/p&gt;  &lt;p&gt;Here is a summary of the key components:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Web Role&lt;/strong&gt; - includes Internet Information Services (IIS) and can accept HTTP and HTTPS Requests.&amp;#160; A Web Role talks to a Worker Role indirectly through a queue, or you can talk directly using WCF.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Worker Role&lt;/strong&gt; – is not configured with IIS and is primarily for background processing, such as queuing, monitoring, or ticket-system scenarios.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Windows Azure Agent&lt;/strong&gt; – each VM has an agent that lets your application talk to the Windows Azure Fabric using an API.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The load balancer spreads the incoming HTTP or HTTPS requests across your Web Role instances.&lt;/p&gt;  &lt;p&gt;For a higher-level view, see my related post, &lt;a href="http://blogs.msdn.com/jmeier/archive/2010/02/16/windows-azure-platform-at-a-glance.aspx"&gt;Windows Azure Platform at a Glance&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9965404" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Azure/default.aspx">Azure</category></item><item><title>Windows Azure Platform at a Glance</title><link>http://blogs.msdn.com/jmeier/archive/2010/02/16/windows-azure-platform-at-a-glance.aspx</link><pubDate>Tue, 16 Feb 2010 00:10:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9963944</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9963944.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9963944</wfw:commentRss><description>&lt;p&gt;This is my first attempt at parsing and summarizing the Windows Azure Platform, so I expect it to evolve as I iterate on it.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/WindowsAzurePlatformataGlance_E376/Windows%20Azure%20Platform%20at%20a%20Glance_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Windows Azure Platform at a Glance" border="0" alt="Windows Azure Platform at a Glance" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/WindowsAzurePlatformataGlance_E376/Windows%20Azure%20Platform%20at%20a%20Glance_thumb.png" width="400" height="288" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The Windows Azure platform is a set of cloud computing services for creating and consuming cloud applications and services.&amp;#160; The key components of the Windows Azure Platform are: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt; – provides virtualized compute, storage, and management for your cloud-based applications.&amp;#160; It’s effectively a “cloud OS.”&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;SQL Azure&lt;/strong&gt; – provides cloud-based relational database services. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;App Fabric&lt;/strong&gt; – provides application infrastructure services for federated authorization and for distributed application challenges (service composition and connectivity challenges.) &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;You can use the Windows Azure Platform from your applications running in the cloud and from on-premises applications.&amp;#160; For example, you might access data in the cloud from an on-premises app, or you might access local user accounts from an app in the cloud. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Azure&lt;/strong&gt;     &lt;br /&gt;Windows Azure provides compute, storage, and management through Microsoft data centers.&amp;#160;&amp;#160; The key components are: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Compute Service&lt;/strong&gt; - process requests.&amp;#160; Compute services are Virtual Machine (VM) instances that come in two types:&amp;#160; Web Roles and Worker Roles.&amp;#160; Web Roles include Internet Information Services (IIS) and can accept HTTP and HTTPS Requests.&amp;#160; Worker Roles aren’t configured with IIS and are primarily for background processing, such as queuing, monitoring, or ticket-system scenarios. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Storage Service&lt;/strong&gt; – stores data.&amp;#160; It provides blobs, tables, and queues.&amp;#160; Blobs and tables are for storing and retrieving data, but queues are primarily for Web Role instances to talk to Worker Role instances in an asynchronous way. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Fabric&lt;/strong&gt; – provides physical machines for compute and storage.&amp;#160; The servers for Windows Azure live within a Microsoft data center.&amp;#160; These servers are organized into a Fabric.&amp;#160;&amp;#160; This Fabric of machines provides the compute and storage capabilities.&amp;#160; These physical machines host the VM instances that provide the compute services.&amp;#160; The machines are controlled by a Fabric Controller.&amp;#160;&amp;#160; The Fabric Controller talks to a Fabric Agent on each machine.&amp;#160; The Fabric Controller determines which physical machines to spin up Web and Worker Role VM instances and it monitors the health of the VMs and the physical machines. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For more on Windows Azure, see &lt;a href="http://msdn.microsoft.com/en-us/library/dd179367.aspx" target="_blank"&gt;Windows Azure SDK&lt;/a&gt; (MSDN.)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;SQL Azure&lt;/strong&gt;     &lt;br /&gt;SQL Azure provides cloud-based services for relational databases, reporting and analytics, and data synchronization.&amp;#160; The main component is a SQL Azure Database: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;SQL Azure Database&lt;/strong&gt; - provides a highly available, scalable, multi-tenant database service hosted by Microsoft in the cloud.&amp;#160; It’s a cloud-based relational database service built on SQL Server technologies.&amp;#160; You can access a SQL Azure Database through a Tabular Data Stream (TDS) protocol, which means you can use any existing SQL Server client library, such as ADO.NET, ODBC, or PHP. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For more information on SQL Azure, see &lt;a href="http://msdn.microsoft.com/en-us/library/ee336279.aspx" target="_blank"&gt;SQL Azure&lt;/a&gt; (MSDN.)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;App Fabric&lt;/strong&gt;     &lt;br /&gt;Windows Azure platform AppFabric (formerly called “.NET Services”) provides common application infrastructure services for distributed applications.&amp;#160; The key components are: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Access Control&lt;/strong&gt; – provides authentication and authorization services through rules and claims.&amp;#160; It’s a standards-based service that supports multiple credentials and relying parties.&amp;#160; It enables federated identity and supports Active Directory, as well as other identity infrastructures. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Service Bus&lt;/strong&gt; - provides secure connectivity options for service endpoints that would otherwise be difficult or impossible to reach.&amp;#160; It supports various communication patterns such as relayed, buffered, bidirectional, publish-subscribe, multicast, streaming and direct-connect.&amp;#160; Service Bus provides infrastructure for large-scale event distribution, naming, and service publishing.&amp;#160; It helps address the challenges of firewalls, NATs, dynamic IP, and disparate identity systems.&amp;#160; Service Bus can provide a service with a stable Uniform Resource Identifier (URI) that you can be accessed by any authorized client application.&amp;#160; Service Bus supports REST and HTTP Access from non-.NET platforms and it supports standard protocols and extends similar standard bindings for Windows Communication Foundation (WCF.)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For more on App Fabric, see &lt;a href="http://msdn.microsoft.com/en-us/library/ee732537.aspx" target="_blank"&gt;App Fabric Service Bus&lt;/a&gt; (MSDN) and &lt;a href="http://msdn.microsoft.com/en-us/library/ee732536.aspx" target="_blank"&gt;App Fabric Access Control&lt;/a&gt; (MSDN.)&lt;/p&gt;  &lt;p&gt;For more information on the Windows Azure Platform, here are some of the main Azure starting points:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Azure Services Platform Home - &lt;a href="http://www.microsoft.com/windowsazure/" target="_blank"&gt;http://www.microsoft.com/windowsazure/&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Azure Dev Center (MSDN) - &lt;a href="http://msdn.microsoft.com/en-us/azure/default.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-us/azure/default.aspx&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;Azure Dev Center (MSDN UK ) - &lt;a href="http://msdn.microsoft.com/en-gb/ee514245.aspx" target="_blank"&gt;http://msdn.microsoft.com/en-gb/ee514245.aspx&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9963944" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Cloud/default.aspx">Cloud</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Azure/default.aspx">Azure</category></item><item><title>Software as a Service (SaaS), Platform as a Service (PaaS), and Infrastructure as a Service (IaaS)</title><link>http://blogs.msdn.com/jmeier/archive/2010/02/11/software-as-a-service-saas-platform-as-a-service-paas-and-infrastructure-as-a-service-iaas.aspx</link><pubDate>Thu, 11 Feb 2010 23:58:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9962339</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9962339.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9962339</wfw:commentRss><description>&lt;p&gt;In cloud computing, you might hear the terms SaaS, PaaS and IaaS.&amp;#160; These are simply different logical layers in the stack.&amp;#160; You can visualize it like this:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/SoftwareasaServiceSaaSPlatformasaService_E049/SaaS%20PaaS%20and%20IaaS_2.gif"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SaaS PaaS and IaaS" border="0" alt="SaaS PaaS and IaaS" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/SoftwareasaServiceSaaSPlatformasaService_E049/SaaS%20PaaS%20and%20IaaS_thumb.gif" width="400" height="223" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;As you move up the stack, you increase abstraction.&amp;#160; As you move down the stack, you increase control.&amp;#160; Here is a brief summary of each term:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Infrastructure as a Service&lt;/strong&gt; (IaaS) - In this case, computing resources (compute, storage, and network) are exposed as a capability.&amp;#160; Instead of owning, managing or controlling the underlying infrastructure, you rent the infrastructure, as a service.&amp;#160; An example is&amp;#160; Amazon Elastic Cloud Compute (EC2). &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Platform as a Service&lt;/strong&gt; (Paas) - In this case, programming platforms and tools (such as java, python, or .NET) and/or building blocks and APIs for building cloud-based applications and services are made exposed as a capability.&amp;#160; Examples include Amazon Simple Storage Service (S3), Azure Storage, and Force.com. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Software as a Service&lt;/strong&gt; (SaaS) – In this case, applications are exposed as a service running on a cloud infrastructure.&amp;#160; Examples include SalesForce.com and Microsoft Office Online.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For my related posts on cloud, see:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2010/02/11/visual-model-of-cloud-computing.aspx"&gt;Visual Model of Cloud Computing&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2010/02/09/cloud-defined.aspx"&gt;Cloud Defined&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9962339" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Cloud/default.aspx">Cloud</category></item><item><title>Visual Model of Cloud Computing</title><link>http://blogs.msdn.com/jmeier/archive/2010/02/11/visual-model-of-cloud-computing.aspx</link><pubDate>Thu, 11 Feb 2010 00:53:17 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9961633</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9961633.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9961633</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;“All models are wrong, some are useful.”&lt;/em&gt; – George Box&lt;/p&gt;  &lt;p&gt;This is a simple visual model we’re using on our patterns &amp;amp; practices &lt;a href="http://azuresecurity.codeplex.com/" target="_blank"&gt;Azure Security guidance&lt;/a&gt; team to dialogue around cloud computing concepts.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/VisualModelofCloudComputing_ED7A/VisualModelOfCloudComputing_4.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="VisualModelOfCloudComputing" border="0" alt="VisualModelOfCloudComputing" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/VisualModelofCloudComputing_ED7A/VisualModelOfCloudComputing_thumb_1.png" width="400" height="280" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;Here are the key things to know:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Characteristics are simply the three key characteristics we defined for our working definition of cloud (see &lt;a href="http://blogs.msdn.com/jmeier/archive/2010/02/09/cloud-defined.aspx"&gt;Cloud Defined&lt;/a&gt;.)&lt;/li&gt;    &lt;li&gt;Service models includes the options &lt;a href="http://en.wikipedia.org/wiki/Software_as_a_service" target="_blank"&gt;Software as a&amp;#160; Service&lt;/a&gt; (SaaS), &lt;a href="http://en.wikipedia.org/wiki/Platform_as_a_service" target="_blank"&gt;Platform as a Service&lt;/a&gt; (PaaS), and &lt;a href="http://en.wikipedia.org/wiki/Infrastructure_as_a_service" target="_blank"&gt;Infrastructure as a Service&lt;/a&gt; (IaaS) models.&lt;/li&gt;    &lt;li&gt;Deployment&amp;#160; includes the options &lt;a href="http://en.wikipedia.org/wiki/On-premises_software" target="_blank"&gt;on-premises&lt;/a&gt;, off-premises, and hybrid, which is a combination of on-premises and off-premises.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Aside from providing a simple lens for looking at cloud computing, this model also helps us find important or interesting intersections across various cloud efforts in the industry.&amp;#160; For example, this can help us connect the dots to&amp;#160; &lt;a href="http://www.csrc.nist.gov/groups/SNS/cloud-computing/index.html" target="_blank"&gt;NIST’s cloud computing work&lt;/a&gt;.&amp;#160; We can find useful intersections at a model level, without getting lost in the weeds.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9961633" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Cloud/default.aspx">Cloud</category></item><item><title>Cloud Defined</title><link>http://blogs.msdn.com/jmeier/archive/2010/02/09/cloud-defined.aspx</link><pubDate>Tue, 09 Feb 2010 23:20:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9960858</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9960858.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9960858</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;“Nature is a mutable cloud which is always and never the same.”&lt;/em&gt; – Ralph Waldo Emerson&lt;/p&gt;  &lt;p&gt;It’s tough to talk about clouds until we have a simple, working definition.&amp;#160; While ramping for &lt;a href="http://azuresecurity.codeplex.com/" target="_blank"&gt;Azure Security guidance&lt;/a&gt;, we defined the cloud as follows:&lt;/p&gt;  &lt;p&gt;A cloud is a managed infrastructure providing network, compute, and storage capabilities.&amp;#160;&amp;#160; It has the following 3 key characteristics:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Managed / abstracted infrastructure&lt;/li&gt;    &lt;li&gt;Elastic resources&lt;/li&gt;    &lt;li&gt;Pay-for-play / utility computing&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;This simple frame helps us identify what is cloud, and what is not.&lt;/p&gt;  &lt;p&gt;That’s not the only definition in town though.&amp;#160; Here are a few others that I found useful ...&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Berkeley Cloud Definition     &lt;br /&gt;&lt;/strong&gt;In &lt;a href="http://www.eecs.berkeley.edu/Pubs/TechRpts/2009/EECS-2009-28.pdf" target="_blank"&gt;Above the Clouds: A Berkeley View of Cloud Computing&lt;/a&gt;, U.C. Berkeley Reliable Adaptive Distributed Systems Laboratory define the cloud as follows:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;“Cloud Computing refers to both the applications delivered as services over the Internet and the hardware and systems software in the datacenters that provide those services. ... From a hardware point of view, three aspects are new in Cloud Computing.&lt;/em&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;em&gt;The illusion of infinite computing resources available on demand ...       &lt;br /&gt;users to plan far ahead for provisioning.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;The elimination of an up-front commitment by Cloud users ...       &lt;br /&gt;increase hardware resources only when there is an increase in their needs.&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;The ability to pay for use of computing resources on a short-term basis as needed ...”&lt;/em&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;In A Break in the Clouds: Towards a Cloud Definition     &lt;br /&gt;&lt;/strong&gt;In &lt;a href="http://ccr.sigcomm.org/online/files/p50-v39n1l-vaqueroA.pdf" target="_blank"&gt;A Break in the Clouds: Towards a Cloud Definition&lt;/a&gt;, Vaquero et al define cloud as follows:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;“Clouds are a large pool of easily usable and accessible virtualized resources (such as hardware, development platforms and/or services). These resources can be dynamically re-configured to adjust to a variable load (scale), allowing also for an optimum resource utilization. This pool of resources is typically exploited by a pay-     &lt;br /&gt;per-use model in which guarantees are offered by the Infrastructure Provider by means of customized SLAs.”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;What’s your working definition of “cloud” that you’ve found helpful?&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9960858" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Cloud/default.aspx">Cloud</category></item><item><title>Mapping Out the Microsoft Application Platform at a Glance</title><link>http://blogs.msdn.com/jmeier/archive/2010/02/08/mapping-out-the-microsoft-application-platform-at-a-glance.aspx</link><pubDate>Mon, 08 Feb 2010 01:01:36 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9959497</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9959497.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9959497</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;“People only see what they are prepared to see.”&lt;/em&gt; - Ralph Waldo Emerson &lt;/p&gt;  &lt;p&gt;At the beginning of the year, I like to take a quick survey of the Microsoft application platform.&amp;#160; It helps me figure out where to put my bets and where to explore.&amp;#160; It’s a “see the forest, from the trees” exercise.&lt;/p&gt;  &lt;p&gt;And oh, what a forest it is.&amp;#160; The beauty is it covers a wide spectrum and supports so many scenarios.&amp;#160; The challenge is finding your way around.&amp;#160; To find my way around, I map out the platform and I think in terms of application types:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Web applications &lt;/li&gt;    &lt;li&gt;Mobile applications &lt;/li&gt;    &lt;li&gt;Rich Internet Applications (RIA) &lt;/li&gt;    &lt;li&gt;Rich Clients &lt;/li&gt;    &lt;li&gt;Web Services &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;By thinking about deployment targets such as cloud or desktop or browser or phone, etc. it makes it very easy to get in the ballpark in terms of context and technologies very quickly.&amp;#160; From there, I can worry about things like presentation or data access stacks or language platforms (native, .NET, or scripting.)&amp;#160;&amp;#160; It’s also a quick way to explore relevant quality attributes (security, performance, reliability) or evaluate architectural styles.&amp;#160; In other words, it’s a way to hack through information overload and cut to the chase.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Microsoft Application Platform at a Glance      &lt;br /&gt;&lt;/strong&gt;This is my draft map of the platform.&amp;#160;&amp;#160; It’s a strawman that I use to walk the platform, find clusters of technologies, figure out what’s changed, and evaluate the latest story.&amp;#160; It’s easier for me to have conversations about the platform with customers or product teams when I start with a shared frame.&amp;#160; The hard part is putting the initial map together.&amp;#160; The easy part is improving it through feedback.&amp;#160; If something is missing, it’s easy to add.&amp;#160; If something is wrong, it’s easy to fix.&lt;/p&gt;  &lt;p&gt;As simple as the map looks, it compacts a lot of information.&amp;#160; I stuck the code names in where I could find them.&amp;#160;&amp;#160; Enjoy …&lt;/p&gt;  &lt;table border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;th&gt;Category&lt;/th&gt;        &lt;th&gt;Items&lt;/th&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="20%"&gt;&lt;em&gt;Application Infrastructure&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/netframework/default.aspx" target="_blank"&gt;.NET Framework&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/netframework/aa569603.aspx" target="_blank"&gt;Base Class Libraries&lt;/a&gt; (BCL) &lt;/li&gt;            &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Common_Language_Runtime" target="_blank"&gt;Common Language Runtime&lt;/a&gt; (CLR) &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/netframework/aa904594.aspx" target="_blank"&gt;Language Integrated Query&lt;/a&gt; (LINQ) &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;ALM (Application Life-Cycle Management)&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/teamsystem/default.aspx" target="_blank"&gt;Visual Studio Team System&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/teamsystem/default.aspx" target="_blank"&gt;Visual Studio Team Foundation Server&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;App Frameworks / Extensions&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc467894.aspx" target="_blank"&gt;Enterprise Library&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd460648(VS.100).aspx" target="_blank"&gt;Managed Extensibility Framework&lt;/a&gt; (MEF) &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Cloud &lt;/em&gt;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/" target="_blank"&gt;Windows Azure&lt;/a&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.microsoft.com/windowsazure/" target="_blank"&gt;App Fabric&lt;/a&gt; (Service Bus + Access Control) &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sqlserver/dataservices/default.aspx" target="_blank"&gt;SQL Azure&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Collaboration / Integration / Workflow&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663328.aspx" target="_blank"&gt;Windows Workflow Foundation&lt;/a&gt; (WF) &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/default.aspx" target="_blank"&gt;Microsoft Office SharePoint Server&lt;/a&gt; (MOSS) &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/biztalk/default.aspx" target="_blank"&gt;Microsoft BizTalk Server&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Data Access&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/data/default.aspx" target="_blank"&gt;ADO.NET Entity Framework&lt;/a&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/data/default.aspx" target="_blank"&gt;ADO.NET Core&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/data/default.aspx" target="_blank"&gt;ADO.NET Data Services Framework&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/data/default.aspx" target="_blank"&gt;ADO.NET Dynamic Data&lt;/a&gt; (Jasper) &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sync/default.aspx" target="_blank"&gt;ADO.NET Sync Services&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://blogs.msdn.com/adonet/archive/2008/10/29/update-on-linq-to-sql-and-linq-to-entities-roadmap.aspx" target="_blank"&gt;LINQ to SQL&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;&lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Database Server&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sqlserver/default.aspx" target="_blank"&gt;Microsoft SQL Server&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Development Tools&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vstudio/default.aspx" target="_blank"&gt;Microsoft Visual Studio&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://expression.microsoft.com/en-us/default.aspx" target="_blank"&gt;Microsoft Expression Studio&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Games&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/aa937791.aspx" target="_blank"&gt;XNA&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Identity&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/security/aa570351.aspx" target="_blank"&gt;Windows Identity Foundation&lt;/a&gt; (Geneva) &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/security/aa570351.aspx" target="_blank"&gt;Active Directory Federation Services&lt;/a&gt; (Geneva Server) &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/security/aa570351.aspx" target="_blank"&gt;Card Space&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Languages &lt;/em&gt;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Common_Language_Runtime" target="_blank"&gt;Common Language Runtime&lt;/a&gt; (CLR) &lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.codeplex.com/Wikipage?ProjectName=dlr" target="_blank"&gt;Dynamic Language Runtime&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;          &lt;p&gt;&amp;#160;&lt;/p&gt;          &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/visualc/default.aspx" target="_blank"&gt;C++&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vcsharp/default.aspx" target="_blank"&gt;C#&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/fsharp/default.aspx" target="_blank"&gt;F#&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://ironpython.net/" target="_blank"&gt;IronPython&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://ironruby.net/" target="_blank"&gt;IronRuby&lt;/a&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/vbasic/default.aspx" target="_blank"&gt;VB.NET&lt;/a&gt;&lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Mobile&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://silverlight.net/learn/mobile/" target="_blank"&gt;Silverlight for Mobile&lt;/a&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/netframework/aa497273.aspx" target="_blank"&gt;.NET Compact Framework&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windowsembedded/default.aspx" target="_blank"&gt;Windows embedded&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windowsmobile/default.aspx" target="_blank"&gt;Windows Mobile&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Modeling&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/data/default.aspx" target="_blank"&gt;SQL Server Modeling&lt;/a&gt; (M / Quadrant) (Oslo) &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;OBA (Office Business Applications)&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/office/default.aspx" target="_blank"&gt;Microsoft Office&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/sharepoint/default.aspx" target="_blank"&gt;SharePoint&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Parallel&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/fsharp/default.aspx" target="_blank"&gt;F#&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx" target="_blank"&gt;Parallel Extensions for .NET&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx" target="_blank"&gt;PLINQ&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx" target="_blank"&gt;Task Library&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Rich Client&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://windowsclient.net/" target="_blank"&gt;Windows Presentation Foundation&lt;/a&gt; (WPF)               &lt;br /&gt;              &lt;br /&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://windowsclient.net/" target="_blank"&gt;Windows Forms&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://windowsclient.net/" target="_blank"&gt;Windows Forms with WPF User Controls&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://windowsclient.net/" target="_blank"&gt;XAML Browser Application (XBAP) using WPF&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Rich Internet Applications (RIA)&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://silverlight.net/" target="_blank"&gt;Microsoft Silverlight&lt;/a&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://silverlight.net/" target="_blank"&gt;Silverlight with AJAX&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Services&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx" target="_blank"&gt;Windows Communication Foundation&lt;/a&gt; (WCF)               &lt;br /&gt;              &lt;br /&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx" target="_blank"&gt;WCF RIA Services&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx" target="_blank"&gt;WCF Data Services&lt;/a&gt; (ADO.NET Data Services, Astoria)               &lt;br /&gt;              &lt;br /&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.asp.net/" target="_blank"&gt;ASP.NET Web Services&lt;/a&gt; (ASMX) &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Web &lt;/em&gt;&lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://www.asp.net/" target="_blank"&gt;ASP.NET&lt;/a&gt;               &lt;br /&gt;              &lt;br /&gt;&lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.asp.net/" target="_blank"&gt;ASP.NET Web Forms&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.asp.net/" target="_blank"&gt;ASP.NET Web Forms with AJAX&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.asp.net/" target="_blank"&gt;ASP.NET Web Forms with Silverlight Controls&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.asp.net/" target="_blank"&gt;ASP.NET MVC&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;&lt;a href="http://www.asp.net/" target="_blank"&gt;ASP.NET Dynamic Data&lt;/a&gt; &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Web Server&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://www.iis.net/" target="_blank"&gt;Internet Information Services&lt;/a&gt; (IIS) &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Windows Server&lt;/em&gt; &lt;/td&gt;        &lt;td valign="top"&gt;         &lt;ul&gt;           &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/windowsserver/ee695849.aspx" target="_blank"&gt;Windows Server App Fabric&lt;/a&gt; (Dublin + Velocity) &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Where To Find Out More      &lt;br /&gt;&lt;/strong&gt;I’m a fan of teaching people to fish, as well as giving some starter fish.&amp;#160; Aside from people, events, and social media, the three best ways I know to figure out what’s happening on the platform are Wikipedia, Channel9, and the MSDN Dev Centers.&amp;#160; I started you out with some pages below … &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Wikipedia&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Index of Microsoft Code Names - &lt;a href="http://en.wikipedia.org/wiki/List_of_Microsoft_codenames"&gt;http://en.wikipedia.org/wiki/List_of_Microsoft_codenames&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;ADO.NET - &lt;a href="http://en.wikipedia.org/wiki/ADO.NET"&gt;http://en.wikipedia.org/wiki/ADO.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;ADO.NET Entity Framework - &lt;a href="http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework"&gt;http://en.wikipedia.org/wiki/ADO.NET_Entity_Framework&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;ASP.NET - &lt;a href="http://en.wikipedia.org/wiki/ASP.NET"&gt;http://en.wikipedia.org/wiki/ASP.NET&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Azure Services Platform - &lt;a href="http://en.wikipedia.org/wiki/Azure_Services_Platform"&gt;http://en.wikipedia.org/wiki/Azure_Services_Platform&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Parallel Extensions - &lt;a href="http://en.wikipedia.org/wiki/Parallel_Extensions"&gt;http://en.wikipedia.org/wiki/Parallel_Extensions&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;SQL Server - &lt;a href="http://en.wikipedia.org/wiki/Microsoft_SQL_Server"&gt;http://en.wikipedia.org/wiki/Microsoft_SQL_Server&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Windows Communication Foundation (WCF) - &lt;a href="http://en.wikipedia.org/wiki/Windows_Communication_Foundation"&gt;http://en.wikipedia.org/wiki/Windows_Communication_Foundation&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Channel9 Training Centers&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Azure Platform Training Course - &lt;a href="http://channel9.msdn.com/learn/courses/Azure/"&gt;http://channel9.msdn.com/learn/courses/Azure/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Identity Developer Training Course- &lt;a href="http://channel9.msdn.com/learn/courses/IdentityTrainingCourse/"&gt;http://channel9.msdn.com/learn/courses/IdentityTrainingCourse/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Office 2010 Workshop - &lt;a href="http://channel9.msdn.com/learn/courses/Office2010/"&gt;http://channel9.msdn.com/learn/courses/Office2010/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;SharePoint 2010 Developer Training Course - &lt;a href="http://channel9.msdn.com/learn/courses/SharePoint2010Developer/"&gt;http://channel9.msdn.com/learn/courses/SharePoint2010Developer/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Silverlight 4 Training Course - &lt;a href="http://channel9.msdn.com/learn/courses/Silverlight4/"&gt;http://channel9.msdn.com/learn/courses/Silverlight4/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Visual Studio 2010 and .NET 4.0 Training Course - &lt;a href="http://channel9.msdn.com/learn/courses/VS2010/"&gt;http://channel9.msdn.com/learn/courses/VS2010/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Windows 7 Training - &lt;a href="http://channel9.msdn.com/learn/courses/Windows7/"&gt;http://channel9.msdn.com/learn/courses/Windows7/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Windows Server 2008 Training - &lt;a href="http://channel9.msdn.com/learn/courses/WindowsServer2008R2/"&gt;http://channel9.msdn.com/learn/courses/WindowsServer2008R2/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Windows Server HPC Learning Course - &lt;a href="http://channel9.msdn.com/learn/courses/HPCLearningCourse/"&gt;http://channel9.msdn.com/learn/courses/HPCLearningCourse/&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;MSDN Dev Centers&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Architecture Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/architecture/default.aspx"&gt;http://msdn.microsoft.com/en-us/architecture/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;patterns &amp;amp; practices Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/practices/default.aspx"&gt;http://msdn.microsoft.com/en-us/practices/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;.NET Framework - &lt;a href="http://msdn.microsoft.com/en-us/netframework/default.aspx"&gt;http://msdn.microsoft.com/en-us/netframework/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;App Fabric Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/azure/netservices.aspx"&gt;http://msdn.microsoft.com/en-us/azure/netservices.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;ASP.NET - &lt;a href="http://msdn.microsoft.com/en-us/aa336522.aspx"&gt;http://msdn.microsoft.com/en-us/aa336522.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Azure Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/azure/default.aspx"&gt;http://msdn.microsoft.com/en-us/azure/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;BizTalk Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/biztalk/default.aspx"&gt;http://msdn.microsoft.com/en-us/biztalk/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Data Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/data/default.aspx"&gt;http://msdn.microsoft.com/en-us/data/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;F# Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/fsharp/default.aspx"&gt;http://msdn.microsoft.com/en-us/fsharp/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Internet Explorer Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/ie/default.aspx"&gt;http://msdn.microsoft.com/en-us/ie/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Mobile Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/windowsmobile/default.aspx"&gt;http://msdn.microsoft.com/en-us/windowsmobile/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Office Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/office/default.aspx"&gt;http://msdn.microsoft.com/en-us/office/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Parallel Computing Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/concurrency/default.aspx"&gt;http://msdn.microsoft.com/en-us/concurrency/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Security Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/security/default.aspx"&gt;http://msdn.microsoft.com/en-us/security/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;SharePoint Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/sharepoint/default.aspx"&gt;http://msdn.microsoft.com/en-us/sharepoint/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Silverlight Dev Center - &lt;a href="http://silverlight.net/"&gt;http://silverlight.net/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;SQL Server - &lt;a href="http://msdn.microsoft.com/en-us/sqlserver/default.aspx"&gt;http://msdn.microsoft.com/en-us/sqlserver/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Visual Studio Team System Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/teamsystem/default.aspx"&gt;http://msdn.microsoft.com/en-us/teamsystem/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Windows Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/windows/default.aspx"&gt;http://msdn.microsoft.com/en-us/windows/default.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Windows Communication Foundation (WCF) Dev Center - &lt;a href="http://msdn.microsoft.com/en-us/netframework/aa663324.aspx"&gt;http://msdn.microsoft.com/en-us/netframework/aa663324.aspx&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;Windows Presentation Foundation (WPF) - &lt;a href="http://windowsclient.net/"&gt;http://windowsclient.net/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;XNA Developer Center - &lt;a href="http://msdn.microsoft.com/en-us/aa937791.aspx"&gt;http://msdn.microsoft.com/en-us/aa937791.aspx&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9959497" width="1" height="1"&gt;</description></item><item><title>Career Growth</title><link>http://blogs.msdn.com/jmeier/archive/2010/01/25/career-growth.aspx</link><pubDate>Mon, 25 Jan 2010 05:51:25 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9952777</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9952777.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9952777</wfw:commentRss><description>&lt;p&gt;Do you have an effective approach for thinking about your career growth?&amp;#160;&amp;#160; With things like a “jobless economic recovery,” careers ending, and a “skills-for-hire” economy, it’s even more important to focus on growth while managing your career.&amp;#160; At the end of the day, you play the most important role in your career growth – own it. &lt;/p&gt;  &lt;p&gt;This past year reminded me of a very valuable lessons – follow the growth.&amp;#160; This means follow your own growth and growth in the marketplace.&amp;#160; When there’s no growth, make some. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Career Development, Professional Development, and Personal Development&lt;/strong&gt;     &lt;br /&gt;Steve Elston, our print and web publications manager on the patterns &amp;amp; practices team, shared this simple frame with our patterns &amp;amp; practices team for differentiating and thinking about development paths:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Career Development&lt;/strong&gt; – Become a stronger leader. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Professional Development&lt;/strong&gt; – Become a better craftsmen. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Personal Development&lt;/strong&gt; – Become a more capable person. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;I think an effective way to think of this is …&lt;/p&gt;  &lt;p&gt;&lt;em&gt;“Are you the person, the professional, the manager, or the executive you want to be?”&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Make Yourself Bigger      &lt;br /&gt;&lt;/strong&gt;In terms of personal development, I think “become a more *capable* person” is a great distinction over something like “become a better person.”&amp;#160;&amp;#160; Rather than question self-worth or value, you put the focus on improving your effectiveness and capabilities.&amp;#160; It reminds me of a quote ... &lt;/p&gt;  &lt;p&gt;&lt;em&gt;“You don’t overcome challenges by making them smaller but by making yourself bigger.”&lt;/em&gt; -- John Maxwell&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Career Growth, Professional Growth, and Personal Growth      &lt;br /&gt;&lt;/strong&gt;Steve shared some quick ways to think about who you can leverage for your growth and what sort of awareness you need for effective growth:&lt;/p&gt;  &lt;table border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;th&gt;Category&lt;/th&gt;        &lt;th&gt;Requires Awareness Of&lt;/th&gt;        &lt;th&gt;Who Helps&lt;/th&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Career Growth&lt;/em&gt;&lt;/td&gt;        &lt;td&gt;         &lt;ul&gt;           &lt;li&gt;Business Trends &lt;/li&gt;            &lt;li&gt;Industry Trends &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;ul&gt;           &lt;li&gt;Mentors &lt;/li&gt;            &lt;li&gt;Leaders &lt;/li&gt;            &lt;li&gt;Colleagues &lt;/li&gt;            &lt;li&gt;Manager &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Professional Growth&lt;/em&gt;&lt;/td&gt;        &lt;td&gt;         &lt;ul&gt;           &lt;li&gt;Organizational Trends &lt;/li&gt;            &lt;li&gt;Industry Trends &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;ul&gt;           &lt;li&gt;Mentors &lt;/li&gt;            &lt;li&gt;Manager &lt;/li&gt;            &lt;li&gt;Colleagues &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td&gt;&lt;em&gt;Personal Growth&lt;/em&gt;&lt;/td&gt;        &lt;td&gt;         &lt;ul&gt;           &lt;li&gt;Self &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;        &lt;td&gt;         &lt;li&gt;Friends and Family &lt;/li&gt;          &lt;li&gt;Leaders and Mentors &lt;/li&gt;          &lt;li&gt;Role Models &lt;/li&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;As you can see from the table, the key to career growth is awareness of the business, the key to professional growth is awareness of organizational trends, and the key to personal growth is self-awareness.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;What, Who, and How      &lt;br /&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/CareerGrowth_94CF/What%20Who%20How_8.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="What Who How" border="0" alt="What Who How" align="right" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/CareerGrowth_94CF/What%20Who%20How_thumb_3.png" width="240" height="214" /&gt;&lt;/a&gt; &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Steve also shared a sample way to think about contributing factors to overall job satisfaction.&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;What You Do&lt;/strong&gt; – The industry, the company, the organization, the manager, and the job. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Who You Do It With&lt;/strong&gt; – Co-workers, partners, customers, and mentors. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;How You Do It&lt;/strong&gt; – Technology, process, philosophy, organization culture. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Steve provides some cutting questions for thinking through these concerns:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;What matters most to you?&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;&lt;em&gt;Who has the power to improve the situation?&lt;/em&gt; &lt;/li&gt;    &lt;li&gt;&lt;em&gt;How can you influence your job satisfaction?&lt;/em&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Knowledge, Attitude, Skills and Habits (KASH model)     &lt;br /&gt;&lt;/strong&gt;Steve shared the KASH box model with our team:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Knowledge&lt;/strong&gt; – what you know.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Attitude&lt;/strong&gt; – your attitudes, along with your underlying values and beliefs.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Skills&lt;/strong&gt; – your capabilities.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Habits&lt;/strong&gt; – what you actually do.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The KASH box is a performance coaching tool and it’s a simple way to look at the gap between knowing and doing and the “transfer of training” problem.&amp;#160; People know what to do, but they don’t do it, or don’t want to.&amp;#160; A lot of people are hired for “skills” and “knowledge,” but fired for “attitude” and “habits.”&amp;#160; In other words, it’s easy to focus on knowledge and skills but often it is people's attitudes and habits that limit them.&lt;/p&gt;  &lt;p&gt;Interestingly, if you know what to do, but you’re not doing what you know, it’s one of the simplest and most effective ways to unleash your growth.&amp;#160; Just start testing your results.&lt;/p&gt;  &lt;p&gt;There’s &lt;a href="http://kashboxcoaching.com/" target="_blank"&gt;a video on the KASH box&lt;/a&gt; at &lt;a href="http://kashboxcoaching.com/" target="_blank"&gt;Kashbox Coaching.com&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Mentors are the Short-Cuts     &lt;br /&gt;&lt;/strong&gt;The right mentors can help you avoid the chutes and climb the ladders more effectively.&amp;#160; &lt;a href="http://blogs.msdn.com/jdevados/" target="_blank"&gt;John deVadoss&lt;/a&gt;, our patterns &amp;amp; practices team Product Unit Manager, shared his key tips on how to effectively leverage mentors: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Know what you want and what you want from the relationship.&lt;/li&gt;    &lt;li&gt;Be proactive – you need to drive the meetings and ask the right questions.&lt;/li&gt;    &lt;li&gt;Keep an open mind regarding who this person might be.&lt;/li&gt;    &lt;li&gt;Think about people who have been your mentors in the past.&lt;/li&gt;    &lt;li&gt;You can have more than one mentor.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;This reflects a lot of my own experience.&amp;#160; One of my most important lessons learned is that &lt;a href="http://sourcesofinsight.com/2009/07/23/mentors-are-the-short-cuts/" target="_blank"&gt;mentors really are the short-cuts&lt;/a&gt;.&amp;#160; If you find somebody who’s “been there” and “done that,” it’s like having a tour guide.&amp;#160; Their maps from experience can save you a lot of wasted time and help you avoid obstacles, as well as find shorter paths to your destinations.&lt;/p&gt;  &lt;p&gt;A mentor can also be great for helping you find your blind spots as well as giving your more objective feedback on your attitudes and habits that might be limiting you.&amp;#160; This means finding mentors that are committed to your success and you trust their feedback and perspective.&amp;#160; Usually a good place to look is in your past.&amp;#160; You can draw from people that have helped you before. &lt;/p&gt;  &lt;p&gt;I make it a habit to use a sounding board of multiple mentors for growth in different areas.&amp;#160; I have a few vital mentors for ongoing growth, and then I supplement with mentors for specific things I need to learn.&lt;/p&gt;  &lt;p&gt;I also give back and I mentor others to help them optimize their growth and get results.&amp;#160;&amp;#160; A lot of times, life is like &lt;a href="http://en.wikipedia.org/wiki/Snakes_and_ladders" target="_blank"&gt;Chutes and Ladders&lt;/a&gt;. You can climb up ladders only to slide back down.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Who’s Job Do You Want?     &lt;br /&gt;&lt;/strong&gt;One of my mentors uses the question, “Who’s job do you want?” as a great forcing function:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Do you know what you want?&lt;/li&gt;    &lt;li&gt;Is there a proven path?&lt;/li&gt;    &lt;li&gt;What experiences and skills do you need to get there?&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The other beauty of this is it gives your managers and support network a good mental model for your career path, starting with the end in mind.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Putting It All Together&lt;/strong&gt;    &lt;br /&gt;Steve outlined a simple roadmap for putting it all together:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Know what you want.&lt;/li&gt;    &lt;li&gt;Get a mentor.&lt;/li&gt;    &lt;li&gt;Build your plan.&lt;/li&gt;    &lt;li&gt;Ask for support.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Every day, is the perfect day, to become more of the person, professional, manager or executive you want to be.&amp;#160; Enjoy the process and remind yourself it’s the journey and the destination, and remember to periodically check that the ladder you’re climbing is up against the right wall.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9952777" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Effectiveness/default.aspx">Effectiveness</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Career/default.aspx">Career</category></item><item><title>Trends for 2010</title><link>http://blogs.msdn.com/jmeier/archive/2010/01/02/trends-for-2010.aspx</link><pubDate>Sat, 02 Jan 2010 00:58:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9942887</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>18</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9942887.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9942887</wfw:commentRss><description>&lt;p&gt;&lt;em&gt;“The best way to predict the future is to create it.”&lt;/em&gt; – Peter Drucker&lt;/p&gt;  &lt;p&gt;This is my summary of key trends to watch for 2010.&amp;#160; Putting it together is a time-consuming exercise, but it’s one of the most important things I do for the year.&amp;#160; It helps me see the bigger map.&amp;#160; With the bigger map, I have a simpler way to understand what’s going on, anticipate what to expect, respond more effectively, and most importantly – make better bets on where to spend my time.&lt;/p&gt;  &lt;p&gt;Don’t read this as a definitive list.&amp;#160; Draw from it to help you create your own lens to make sense of the landscape and find your path forward.&amp;#160; It’s long, I tried to keep it as scannable as possible.&amp;#160; I didn’t want to cut it short for the sake of simplicity.&amp;#160; Instead, I wanted to provide a solid map with sources you can draw from as you plan your road ahead.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Key Sources&lt;/strong&gt;    &lt;br /&gt;I primarily draw from my own experience working with customers, and paying attention to what they’re paying attention to,&amp;#160; as well as paying attention to my mentors and smarties across the company, and whoever they tell me to pay attention to.&amp;#160; I also draw from the following:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.jimcarroll.com/trends.htm" target="_blank"&gt;Jim Carroll&lt;/a&gt; – Jim helps me see the trends across industries and look to patterns.&amp;#160; He’s also great at identifying where the growth and opportunities are, and more importantly how to frame the landscape in a way that makes it actionable instead of analysis paralysis.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.trendhunter.com/trendreports" target="_blank"&gt;Trend Hunter&lt;/a&gt; – It’s effectively “crowd-sources insight” and it’s a great source for consumer trends.&amp;#160; I’m a big believer that consumer trends pave the path for Enterprise trends.&amp;#160; By watching consumer trends, I learn what to expect.&amp;#160; I then watch how it shows up as I work with my customers.&amp;#160; This pattern serves me well.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.cnn.com/2009/TECH/12/03/cashmore.web.trends.2010/index.html" target="_blank"&gt;10 Web Trends to Watch in 2010” by Pete Cashmore&lt;/a&gt; – I liked the simplicity of it and the fact that it resonated with other sources.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.morganstanley.com/institutional/techresearch/pdfs/MS_Economy_Internet_Trends_102009_FINAL.pdf" target="_blank"&gt;Economy + Internet Trends by Morgan Stanley&lt;/a&gt; – This is a very nice report.&amp;#160; While it reinforces the “jobless economic recover,” it does show IT sector growth, and calls out key tech trends.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/01/02/eight-big-trends.aspx"&gt;8 Big Trends&lt;/a&gt; - It’s a free e-book by Jim Carroll and I think the insights are trends that continue and are highly relevant for today’s landscape.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/09/17/key-software-trends.aspx"&gt;Key Software Trends&lt;/a&gt; – It’s my summary post of trends across application, infrastructure, performance, and software development that I saw while working on the &lt;a href="http://blogs.msdn.com/jmeier/archive/2009/11/05/now-available-patterns-practices-application-architecture-book.aspx"&gt;patterns &amp;amp; practices Application Architecture Guide 2.0 book&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/01/02/the-enterprise-of-the-future.aspx"&gt;The Enterprise of the Future&lt;/a&gt; – This amazing compilation by IBM is based on insights and wisdom from interviews of more than 1,000 CEO’s.&amp;#160; I think the key trends from here still hold true, and I like that they boiled it down into 5 key attributes: Hungry for Change, Innovative Beyond Customer Imagination, Globally Integrated, Disruptive by Nature, and Genuine, Not Just Generous.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Aside from these, I also scoured the Web and scanned bloggers, industry luminaries, and any relevant and significant insight I could find.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Short List – 5 Keys to the Future     &lt;br /&gt;&lt;/strong&gt;Before the longer list, I want to shin the light on 5 key things:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;strong&gt;Agility&lt;/strong&gt;.&amp;#160; Agility means the ability to respond to change.&amp;#160; This is crucial for both personal survival as well as surviving and thriving in a business landscape. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Business intelligence&lt;/strong&gt;.&amp;#160; Data-driven decisions win over guesswork.&amp;#160; It’s tough, especially when statistics lie and we want to trust our instincts over our indicators.&amp;#160; Start by asking, how do the great businesses drive their great decisions?&amp;#160; Between information markets and crowd sourced intelligence and social networking, the real issue is how you leverage the data and turn it into intelligent decisions and smart feedback loops, and how you learn and respond.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Cloud and virtualization&lt;/strong&gt;.&amp;#160;&amp;#160; This is a key growth spot.&amp;#160; How else do you keep up in a rapidly changing world and deliver services and disruptors and bring new game changers to market faster than ever before?&amp;#160; It’s the cloud.&amp;#160; It marks the commodization of IT and computing. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;User Experiences&lt;/strong&gt;.&amp;#160;&amp;#160;&amp;#160; Great user experiences drive adoption and make things stick.&amp;#160; This is a great area for innovation, patterns, and practices.&amp;#160; When you think about the possibilities of rich media, touch, speech, location-aware services, and “you-as-the-remote control” (think Wii), the possibilities for amazing and immersive experiences are endless.&amp;#160; More importantly, we can finally start showing how software improves productivity, effectiveness, efficiency, and fun.&amp;#160; It’s gamer + education + business + life.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Mobile&lt;/strong&gt;.&amp;#160; This is another growth spot – &lt;a href="http://en.wikipedia.org/wiki/Mobile_Internet_Growth" target="_blank"&gt;mobile Internet growth&lt;/a&gt;.&amp;#160; It’s emerging as a powerful platform and ecosystems that bring the power of software to everyday scenarios, anywhere and everywhere.&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;Key Trends for 2010&lt;/strong&gt;    &lt;br /&gt;Here is my summary of key trends for 2010:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;3 screens and a cloud&lt;/strong&gt;.&amp;#160; Rather than get lost in device explosion, think in terms of a little screen, like a phone, a mid-sized screen, like a laptop or net book or PC, and a bigger screen, like a TV or multimedia projection, and a cloud that serves them all.&amp;#160; See &lt;a href="http://blogs.msdn.com/stevecla01/archive/2009/05/21/three-screens-and-a-cloud.aspx" target="_blank"&gt;Three Screens and a Cloud by Steve Clayton&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Agile Process&lt;/strong&gt;.&amp;#160;&amp;#160;&amp;#160; Cycles of change are faster.&amp;#160; How do you keep up?&amp;#160; By adopting agile processes, such as Scrum, XP, and Lean.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Apps move up the stack&lt;/strong&gt;.&amp;#160;&amp;#160; As the market matures, things move up the stack.&amp;#160; An example would be the growth of SharePoint as a rapid application platform.&amp;#160; This pattern should accelerate along with cloud adoption.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Business intelligence&lt;/strong&gt;.&amp;#160; How do you make your best decisions?&amp;#160; You test them and you use real data in real time.&amp;#160; That’s how Amazon drives an effective online business.&amp;#160; They don’t depend on a smart user experience person to make things pretty.&amp;#160; They do A/B testing to experiment and test which online experience produces the best results.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Cloud Computing and Virtualization&lt;/strong&gt;.&amp;#160;&amp;#160; If you want to stay relevant, you have to be thinking about your cloud and virtualization story.&amp;#160; The opportunities here are amazing from the one-man band code slinger who spins up a Web farm for their app that changes the world to businesses that expose new capabilities to the World and help build the programmable Web.&amp;#160; It’s also a way to simplify computing and move up the stack.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Competitive advantage&lt;/strong&gt;.&amp;#160;&amp;#160; Darwinism is brutal in a global marketplace.&amp;#160; Sink or swim.&amp;#160; How do you find your competitive advantage in today’s world.&amp;#160; According to Jim Carroll, the four key drivers of completive advantage in today’s landscape are: &lt;a href="http://www.jimcarroll.com/blog/2007/02/velocity-agility-complexity-an.html" target="_blank"&gt;Velocity, Agility, Complexity, and Flexibility&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;&amp;quot;Consumerization&amp;quot; of IT&lt;/strong&gt;.&amp;#160; A while back, Gartner said &lt;a href="http://www.gartner.com/press_releases/asset_138285_11.html" target="_blank"&gt;Consumerization Will Be Most Significant Trend Affecting IT During Next 10 Years&lt;/a&gt; ... I think we see that accelerating.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Global distributed development&lt;/strong&gt;.&amp;#160; Competing in a global market means finding and using the best resources at the best price, anywhere in the world.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Jobless Economic Recovery&lt;/strong&gt;.&amp;#160;&amp;#160; This sucks.&amp;#160; It really does.&amp;#160; The upside is that businesses are getting leaner and more effective.&amp;#160; The downside is it’s a sign that we’re not innovating or creating enough growth, and our model for the world isn’t working.&amp;#160; The opportunity here is, software engineers can change the world (remember that Bill Gates guy?)&amp;#160; The world needs a new model. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Skills-for-Hire Economy&lt;/strong&gt;.&amp;#160;&amp;#160; Specialization, market maturity and rapid cycles of change drive a demand for key skills.&amp;#160; The key is to balance “generalist” skills in business and technology, along with specialized skills that the market values.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Location based services&lt;/strong&gt;.&amp;#160;&amp;#160; Talk about relevancy in action.&amp;#160; It’s all about specialization + location.&amp;#160; Location, location, location takes on new meaning and relevancy.&amp;#160; For example, in &lt;a href="http://www.jimcarroll.com/acrobat/Growth.pdf" target="_blank"&gt;Where’s the Growth?&lt;/a&gt;, Jim Carroll identifies “Consider the concept of a “location-intelligence professional.” Today, this involves someone working within the insurance industry, learning how to link the extensive data-sets of geographic oriented information – think Google Maps – with existing insurance underwriting information, and with other statistical databases.”&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Micropayments and virtual currencies&lt;/strong&gt;.&amp;#160; Second Life really set the trend here a while back, but it’s becoming more important in today’s world.&amp;#160; This paves the way for real money for micro-transactions.&amp;#160; It also creates a model for reputation based systems, which is important in a reputation-based economy.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Mobile internet&lt;/strong&gt;.&amp;#160;&amp;#160;&amp;#160; If you want to stay relevant, you have to be thinking about your mobile story.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Parallel computing&lt;/strong&gt;.&amp;#160; On the systems side, there’s a whole new game in town.&amp;#160; On the user experience side, expect to have richer, more immersive and more responsive applications.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Reputation based&lt;/strong&gt;.&amp;#160;&amp;#160; It’s reputations that cut through the clutter and rise to the top, helped by word-of-mouth marketing and raving fans.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Standards / open systems&lt;/strong&gt;.&amp;#160; One of the way so win in today’s world is to build great experiences on top of open standards.&amp;#160; Optimize for open over closed.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;The fall of walled gardens&lt;/strong&gt;.&amp;#160; It's not just B2B or B2C anymore – it’s whatever makes the most sense.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;The rise of Social media / social networking&lt;/strong&gt;.&amp;#160;&amp;#160; Between world-of-mouth marketing, raving fans, and real time information markets for customer feedback that can make you or break you, embrace and leverage the power of the people.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;The system of systems in the Enterprise is your OS&lt;/strong&gt;.&amp;#160; Your Enterprise is your emerging mash up of systems and services.&amp;#160; Find a way to create an effective portfolio for analyzing what you’ve got and be thinking in terms of business capabilities, infrastructure capabilities and application capabilities.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;The Web is the OS&lt;/strong&gt;.&amp;#160; It’s the &lt;a href="http://www.programmableweb.com/" target="_blank"&gt;programmable Web&lt;/a&gt;.&amp;#160;&amp;#160; Imagine how your service or capability can be exposed to the World and thrive.&amp;#160; Remember, it’s survival of the fittest.&amp;#160; Be the best or go home.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;User empowerment&lt;/strong&gt;.&amp;#160; It’s the &lt;a href="http://www.starfishandspider.com/ " target="_blank"&gt;rise of the spider and the fall of the starfish&lt;/a&gt; in a federated world.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;User experiences&lt;/strong&gt;.&amp;#160;&amp;#160; This is where reputations are built and raving fans are won.&amp;#160; Think speed, simplicity, immersive experience, visualization, how you feel … etc.&amp;#160; Design working backward from the end experience in mind.&amp;#160; If the resulting experience suck will suck, don’t even start to build it.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;My synthesis -- stay customer connected, create value for society (it’s not a vacuum), create raving fans, build to change over build to last, learn and respond through effective business intelligence, think in terms of platforms/ecosystems/execution, be the best in the world at what you do (on the Web, you don't need a bunch of #2s),&amp;#160; stay flexible and adaptable, and build the network and relationships that support you and your ecosystem.&lt;/p&gt;  &lt;p&gt;With that in mind, here are some more keys to watch for …&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Trends to Watch in 2010 by John John deVadoss&lt;/strong&gt;    &lt;br /&gt;John runs our &lt;a href="http://msdn.com/practices"&gt;Microsoft patterns &amp;amp; practices team&lt;/a&gt;.&amp;#160; He’s great at boiling things down, spotting trends, and his super skill is providing insight for technical strategy.&amp;#160; Here are some of his insights for 2010:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/jdevados/archive/2009/12/11/trends-to-watch-in-2010-1-bring-your-own-pc.aspx" target="_blank"&gt;Trends to Watch in 2010 #1 - 'Bring Your Own PC'&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jdevados/archive/2009/12/11/trends-to-watch-in-2010-2-whither-private-clouds-the-my-cloud-pattern.aspx" target="_blank"&gt;TRENDS TO WATCH IN 2010 #2 'WHITHER PRIVATE CLOUDS (THE MY CLOUD PATTERN)?'&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jdevados/archive/2009/12/11/trends-to-watch-in-2010-3-rich-client-redux.aspx" target="_blank"&gt;TRENDS TO WATCH IN 2010 #3 'RICH CLIENT REDUX'&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jdevados/archive/2009/12/11/trends-to-watch-in-2010-4-clouding-of-the-front-office-or-why-the-front-office-continues-to-be-the-early-sweet-spot-for-the-cloud.aspx" target="_blank"&gt;TRENDS TO WATCH IN 2010 #4 'CLOUDING OF THE FRONT-OFFICE' OR WHY THE FRONT-OFFICE CONTINUES TO BE THE EARLY SWEET SPOT FOR THE CLOUD&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jdevados/archive/2009/12/11/trends-to-watch-in-2010-5-the-cloud-as-plumbing-versus-the-cloud-as-application-platform.aspx" target="_blank"&gt;TRENDS TO WATCH IN 2010 #5 'THE CLOUD AS PLUMBING VERSUS THE CLOUD AS APPLICATION PLATFORM'&lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;Economy + Internet Trends by Morgan Stanley&lt;/strong&gt;    &lt;br /&gt;&lt;a href="http://www.morganstanley.com/institutional/techresearch/pdfs/MS_Economy_Internet_Trends_102009_FINAL.pdf" target="_blank"&gt;Economy + Internet Trends&lt;/a&gt;&amp;#160; is a very nice report by Morgan Stanley.&amp;#160; While it reinforces the “jobless” economic recovery, it does show growth in the IT sector, and it calls out some key tech trends:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Key Theme # 1 Mobile Internet Usage Is and Will Be Bigger than Most Think&lt;/li&gt;    &lt;li&gt;Key Theme # 2 Apple Mobile Share Should Surprise on Upside Near Term&lt;/li&gt;    &lt;li&gt;Key Theme # 3 Next Generation Platforms (Social Networking + Mobile) are Driving Unprecedented Change in Communications + Commerce&lt;/li&gt;    &lt;li&gt;Key Theme # 4 Mobile in Japan + Desktop Internet Provide Roadmaps for Mobile Growth + Monetization&lt;/li&gt;    &lt;li&gt;Key Theme # 5 3G Adoption / Trends Vary by Geography&lt;/li&gt;    &lt;li&gt;Key Theme # 6 Carriers in USA / W. Europe Face Surging Network Demand But Uncertain Economics.&lt;/li&gt;    &lt;li&gt;Key Theme # 7 Regulators Can Help Advance / Slow Mobile Internet Evolution&lt;/li&gt;    &lt;li&gt;Key Theme # 8 Mobile-Related Share Shifts Will Create / Destroy Material Shareholder Wealth &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;I also like some of their distillations, such as “Facebook = unified communication + multimedia repository in your pocket.” &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Web 2.0 Trends from Scoble     &lt;br /&gt;&lt;/strong&gt;&lt;a href="http://kbskobac.blogspot.com/" target="_blank"&gt;Kevin Skobac&lt;/a&gt;&amp;#160; put together &lt;a href="http://www.usableclicks.com/2009/06/visualizing-interpreting-robert-scoble%E2%80%99s-2010-web-from-the-user-perspective/" target="_blank"&gt;a short presentation interpreting Scoble’s “principles of the 2010 web” from a user perspective&lt;/a&gt;:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;it's in real time&lt;/li&gt;    &lt;li&gt;it's mobile'&lt;/li&gt;    &lt;li&gt;it's decentralized&lt;/li&gt;    &lt;li&gt;it's in pre-made blocks&lt;/li&gt;    &lt;li&gt;it's social&lt;/li&gt;    &lt;li&gt;it's smart&lt;/li&gt;    &lt;li&gt;it's powerful infrastructure&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;&lt;strong&gt;Key Questions I Ask to Find and Rationalize Trends&lt;/strong&gt;    &lt;br /&gt;These are some of the basic questions I ask to find and rationalize key trends:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;Where are the investments?&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Where's the growth?&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Who are the pillars in the relevant niches and what are they saying?&amp;#160; … more importantly, what are they doing?&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;What are the results?&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;What’s the data say?&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;What are consumers doing? &lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Is it a real trend or just a fad? … and does it matter?&lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;The Meta-Pattern for Trends     &lt;br /&gt;&lt;/strong&gt;These are some of the patterns I’m noticing about the patterns of the trends:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Absorb what is useful&lt;/strong&gt;.&amp;#160; Do it Bruce Lee style -- take what you need, adapt it, and throw out the rest.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Agility.&amp;#160; &lt;/strong&gt;Stay adaptable.&amp;#160; Flexibility is your friend.&amp;#160; See &lt;a href="http://blogs.msdn.com/jmeier/archive/2007/05/13/the-better-adapted-you-are-the-less-adaptable-you-tend-to-be.aspx" target="_blank"&gt;The better adapted you are, the less adaptable you tend to be&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Be the Best on the Web.&amp;#160; t&lt;/strong&gt;here’s no room for #2.&amp;#160; Be the best at what you’re the best at.&amp;#160; This is &lt;a href="http://www.jimcollins.com/" target="_blank"&gt;Good to Great&lt;/a&gt; in action.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;“Built to Change” Over “Built to Last&lt;/strong&gt;.”&amp;#160; Again, this goes back to shifting from a static world, to a dynamic world and embracing change over fighting it.&amp;#160; Run with it.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Compete where it makes the most sense&lt;/strong&gt;.&amp;#160; Compete on price, or quality or customer and don’t mix them up.&amp;#160; This depends on which stage of the maturity cycle you are in, what the state of the market is, and what you can be the best at.&amp;#160; For example, in a commodity market, don’t be the most expensive.&amp;#160; Turn competition into collaboration and find the win wins to really change your game and rock the world.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Consumer patterns drive Enterprise patterns&lt;/strong&gt;.&amp;#160; At the end of the day, people are consumers and the patterns show up in the Enterprise.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Decentralize and federate&lt;/strong&gt;.&amp;#160;&amp;#160; Think starfish and spider.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Differentiate&lt;/strong&gt;.&amp;#160; Differentiate by giving your best where you have your best to give.&amp;#160; Compete by dividing the niche and small is the new big (so you win with a portfolio that’s flexible and responsive to market demand.)&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Execution is king&lt;/strong&gt;.&amp;#160; Operational efficiency and innovating in your product cycle is how you survive and thrive.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Prosumer&lt;/strong&gt;.&amp;#160; Think Consumer + Producer.&amp;#160; Get your customers into your production cycle earlier so they help you create and innovate in your product line.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Pull vs. Push&lt;/strong&gt;.&amp;#160; Know the mental model from push to pull.&amp;#160; In &lt;a href="http://www.communicationagents.com/steve_bosserman/2006/04/16/push_me_pull_youdueling_business_models.htm" target="_blank"&gt;Push Me, Pull You--Dueling Business Models&lt;/a&gt;, Steve Bosserman says, “Through the three hundred-year reign of the Industrial Age, businesses “pushed” their products and services onto consumers. Limited choice accompanied by considerable marketing hype was enough to make the consumer buy. It was a sellers’ market. Now, thanks largely to the Information Age, consumers are evolving into customers who can select what they want from a variety of providers. It is becoming a buyers’ market.”&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Relevancy is king&lt;/strong&gt;.&amp;#160; Google taught us this.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Reputation and brand are king&lt;/strong&gt;.&amp;#160;&amp;#160; In a social networked world, it’s the network that says who the authority is and what works and what doesn’t.&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Simplicity&lt;/strong&gt;.&amp;#160; Simplicity always win in the long run when it comes to adoption.&amp;#160; Find ways to reduce friction and make things simple out of the box.&amp;#160; Design for simplicity and keep things simple where you can.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Social Value / Community Good&lt;/strong&gt;.&amp;#160; In a green world, if you’re business doesn’t play well with green values, it’s not a sustainable path.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Results are king&lt;/strong&gt;.&amp;#160; Talk is cheap.&amp;#160; Results speak for themselves.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;There are a lot of kings here.&amp;#160; In checkers, it’s easier to win when you have a lot of kings.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The Way Foreword&lt;/strong&gt;    &lt;br /&gt;What’s past is past and the future&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Build a firm foundation&lt;/strong&gt;.&amp;#160; Know &lt;a href="http://en.wikipedia.org/wiki/Maslow's_hierarchy_of_needs" target="_blank"&gt;Maslow’s hierarchy&lt;/a&gt; and prioritize taking care of your basic needs.&amp;#160; Know your “monthly burn” and be mindful of your decisions to support your firm foundation.&amp;#160; The stronger your foundation is, the more you can help yourself and others when they need it most.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;If it doesn't help you be your best, cut it out&lt;/strong&gt;.&amp;#160;&amp;#160; This means living your values, and playing to your strengths.&amp;#160; It also means giving your best where you have your best to give, as a person, and as a company.&amp;#160; It’s how your survive, and it’s how you go from surviving to thriving.&amp;#160;&amp;#160; Any other way drains you in the long run and you get priced or pushed or competed out of the market.&amp;#160; It’s the sustainable path.&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Follow the growth&lt;/strong&gt;.&amp;#160; Follow your own growth, and follow the growth in the market.&amp;#160; For example, in the tech industry some growth areas are mobile and cloud.&amp;#160; Along these lines, create the growth.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Get back to the basics&lt;/strong&gt;.&amp;#160; Practice the fundamentals.&amp;#160; They work.&amp;#160; Among the chaos, there are always core principles, patterns, and practices that you can bank on.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Hone your personal brand&lt;/strong&gt;.&amp;#160; Make the most of what you’ve got and make sure your differentiation is obvious.&amp;#160; For example, one of my differentiators is “getting results.”&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Invest in yourself&lt;/strong&gt;.&amp;#160; Inner-engineering always pays off.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;It's your network and what you know&lt;/strong&gt;.&amp;#160; People sort and sift through people they know.&amp;#160; In a skills-for-hire economy, your network is how you find the opportunities.&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Know the cycles of things&lt;/strong&gt;.&amp;#160; For example, know the &lt;a href="http://blogs.msdn.com/jmeier/archive/2007/12/31/four-stages-of-market-maturity.aspx "&gt;Four Stages of Market Maturity&lt;/a&gt;, the &lt;a href="http://en.wikipedia.org/wiki/Technology_adoption_lifecycle" target="_blank"&gt;Technology Adoption Life Cycle&lt;/a&gt;, and the &lt;a href="http://en.wikipedia.org/wiki/Diffusions_of_innovations" target="_blank"&gt;Diffusion of Innovations&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Lead yourself from the inside out&lt;/strong&gt;.&amp;#160;&amp;#160; Follow your values, play to your strengths, and follow your purpose.&amp;#160; It’s the sustainable path.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Learn and respond&lt;/strong&gt;.&amp;#160; Your ability to learn and respond will drive your best results.&amp;#160; Innovate in your process and your product.&lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Look ahead&lt;/strong&gt;.&amp;#160; Build your anticipation skills.&amp;#160; Know the system.&amp;#160; Things don’t just happen.&amp;#160; The more you know the system and the ecosystem, the more you can anticipate what’s coming down the line.&amp;#160; Pay attention to market leaders, trend setters, patterns, and cycles.&amp;#160; Everything happens in cycles whether it’s growth or decline. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;What else is important that I should know about or have on my radar and heat map?   &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9942887" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Effectiveness/default.aspx">Effectiveness</category></item><item><title>Lessons in Software from Eric Brechner</title><link>http://blogs.msdn.com/jmeier/archive/2009/12/07/lessons-in-software-from-eric-brechner.aspx</link><pubDate>Mon, 07 Dec 2009 08:25:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9933316</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9933316.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9933316</wfw:commentRss><description>&lt;p&gt;I have a guest post from Eric Brechner on &lt;a href="http://shapingsoftware.com/" target="_blank"&gt;Shaping Software&lt;/a&gt;.&amp;#160; It's &lt;a href="http://shapingsoftware.com/2009/12/07/lessons-in-software-from-eric-brechner/" target="_blank"&gt;Lessons in Software from Eric Brechner&lt;/a&gt;.&amp;#160; Eric is the author of the book, I.M. Wright's &amp;quot;Hard Code,&amp;quot; and is the Director of Development Excellence on the Engineering Excellence team at Microsoft.&amp;#160; In his guest post, Eric shares what he's learned about admirable attributes of software developers as human beings. &lt;/p&gt;  &lt;p&gt;The purpose of Lessons in Software is to bring you proven practices for results from heroes in our industry.&amp;#160; When I bring on a guest, I ask them to think about what's the insight they wish somebody told them when they were starting out.&amp;#160; It's about handing the wisdom down and helping lift people up.&amp;#160; We can all use an edge.&amp;#160; &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9933316" width="1" height="1"&gt;</description></item><item><title>Now Available: Final PDF of the Microsoft Application Architecture Guide, Second Edition</title><link>http://blogs.msdn.com/jmeier/archive/2009/11/24/now-available-final-pdf-of-the-microsoft-application-architecture-guide-second-edition.aspx</link><pubDate>Tue, 24 Nov 2009 19:51:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9928192</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>8</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9928192.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9928192</wfw:commentRss><description>&lt;p&gt;A final PDF is now available for our patterns &amp;amp; practices Application Architecture Guide, second edition.&amp;#160; This is our platform playbook for the Microsoft application platform. &lt;/p&gt;  &lt;p&gt;Here are the relevant links:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.microsoft.com/architectureguide" target="_blank"&gt;HTML version of Microsoft Application Architecture Guide, second edition&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=ce40e4e1-9838-4c89-a197-a373b2a60df2" target="_blank"&gt;PDF version of the Microsoft Application Architecture Guide, second edition&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-Patterns-Practices/dp/073562710X" target="_blank"&gt;Printed version of the Microsoft Application Architecture Guide, second edition&lt;/a&gt;.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/AppArch" target="_blank"&gt;Knowledge Base for the Microsoft Application Architecture Guide, second edition&lt;/a&gt;.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Here are some of my related posts:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/11/05/now-available-patterns-practices-application-architecture-book.aspx"&gt;Now Available: patterns &amp;amp; practices Application Architecture Book&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/04/25/a-language-for-architecture.aspx"&gt;A Language for Architecture&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/03/12/ray-ozzie-on-the-microsoft-application-architecture-guide-2-0.aspx"&gt;Ray Ozzie on the Microsoft Application Architecture Guide 2.0&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2008/12/31/grady-booch-on-the-microsoft-application-architecture-guide-2-0.aspx"&gt;Grady Booch on the Microsoft Application Architecture Guide 2.0&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/03/11/100-000-downloads-of-microsoft-application-architecture-guide-2-0.aspx"&gt;100,000 downloads of Microsoft Application Architecture Guide 2.0&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9928192" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/AppArch/default.aspx">AppArch</category></item><item><title>Patterns and Practices for Distributed Teams</title><link>http://blogs.msdn.com/jmeier/archive/2009/11/23/patterns-and-practices-for-distributed-teams.aspx</link><pubDate>Mon, 23 Nov 2009 06:06:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9927115</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>4</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9927115.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9927115</wfw:commentRss><description>&lt;p&gt;This post is a summary of my lessons learned from leading distributed teams.&amp;#160; I've managed distributed project teams since 2001, spanning the UK, Argentina, India, and other parts of the world.&amp;#160; While I preferred having everybody together on site around a whiteboard to &lt;a href="http://www.agilemodeling.com/essays/communication.htm" target="_blank"&gt;simplify and improve communication&lt;/a&gt;,&amp;#160; flexibility with distributed teams gave me access to the right talent, wherever it may be. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Key Challenges      &lt;br /&gt;&lt;/strong&gt;These are some of the most common challenges I faced:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Trust &lt;/li&gt;    &lt;li&gt;Time zone differences &lt;/li&gt;    &lt;li&gt;Sharing state &lt;/li&gt;    &lt;li&gt;Changes in direction that have a ripple effect &lt;/li&gt;    &lt;li&gt;Communication overhead &lt;/li&gt;    &lt;li&gt;Keeping everybody on the same page &lt;/li&gt;    &lt;li&gt;Sharing knowledge across the team &lt;/li&gt;    &lt;li&gt;Partitioning work for enough autonomy but to keep checks and balances &lt;/li&gt;    &lt;li&gt;Lack of a whiteboard &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Distance didn’t matter as much as differences in time zones.&amp;#160; If the time zone differences were too much, it meant&amp;#160; a lot more information, knowledge and state had to be packaged up and handed over.&amp;#160; However, when you leverage time zone differences, the experience can feel like you carry the baton forward, or, it’s like “The Elves and the Shoemaker,” where you make progress around the clock.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Success Patterns for Distributed Teams&lt;/strong&gt;     &lt;br /&gt;The following success patterns helped improve distributed team effectiveness:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Forming, storming, norming and performing&lt;/strong&gt;.&amp;#160;&amp;#160; The &lt;a href="http://en.wikipedia.org/wiki/Forming,_storming,_norming_and_performing" target="_blank"&gt;forming, storming, norming and performing&lt;/a&gt; lens helps remind everybody to expect that things smooth out over time.&amp;#160; It’s a simple maturity model for explaining how a team gels. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Proxy / On Point&lt;/strong&gt;.&amp;#160; One of the most helpful patterns for cross-site communication is to have somebody act as the proxy or person on point to funnel key communication.&amp;#160; This is especially important when their are major time zone differences.&amp;#160; The additional patterns, such as the show and tell, and the Monday iterations and daily stand-ups, keep this from being a single point of failure.&amp;#160; Instead, it’s a focal point with some accountability when key information needs to be shared across time zones. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Rhythm of results.&amp;#160; Daily, Weekly, and Monthly Results&lt;/strong&gt;.&amp;#160;&amp;#160; While the team might ship every two weeks, thinking in terms of daily, weekly, and monthly results helps set the right mindset.&amp;#160; It creates a bias for action, and it helps get the kinks out of execution. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Monday Vision, Daily Outcomes, and Friday Reflection&lt;/strong&gt;.&amp;#160;&amp;#160; This is a simple, high-level pattern to drive results each week.&amp;#160;&amp;#160; The approach is to identify 3 key outcomes for the week, as well as 3 key outcomes each day, and to use Friday for learning and reflecting.&amp;#160; &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Stories&lt;/strong&gt;.&amp;#160; By focusing on stories, it makes it easy for everybody on the team to think in terms of end-to-end stories over, features or discipline-focused activities.&amp;#160; It’s a great way to balance the customer, technical and business perspectives, as well as help the team converge around common goals. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Monday Iteration plans&lt;/strong&gt;.&amp;#160; Doing iteration plans on Mondays helps set the goals for the week, as well as include everybody’s input.&amp;#160; We keep these to 30 minutes or less.&amp;#160; The outcome is the prioritized set of stories for the week. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Daily stand-ups&lt;/strong&gt;.&amp;#160;&amp;#160;&amp;#160; Everybody calls in and we go around the team asking 3 questions: 1) what did you get done? 2) what are you getting done today? and 3) where do you need help?&amp;#160; We keep these to 10 minutes or less.&amp;#160; It sets the pace and prevents getting side-tracked. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Invoke a teammate&lt;/strong&gt;.&amp;#160; One goal up front is to make it easy for everybody on the team to reach whoever they need in an ad-hoc way.&amp;#160; Everybody identifies their preferred email, phone number, Skype account, and instant message information, as well as their main working hours. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Show and Tell&lt;/strong&gt;.&amp;#160; I use weekly show and tells as a forcing function.&amp;#160; It gives people on the team a chance to show off their work.&amp;#160; More importantly it’s a simple way to dog food results as well as use the team as a sounding board.&amp;#160; It’s one thing to build something, it’s another to show it to other people and get honest feedback. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Wiki Knowledge Bases (KBs.)&lt;/strong&gt;&amp;#160;&amp;#160; Using Wikis helps simplify sharing information.&amp;#160; It keeps people from over-engineering and it’s easy to keep updated. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Experience Step-Throughs&lt;/strong&gt;.&amp;#160;&amp;#160; These are simply short slide decks that mock up the experience.&amp;#160; Each deck walks through one story or scenario visually.&amp;#160; We test the experience with customers, and then we walk through as a team, from a technical perspective.&amp;#160; We do this for high-risk stories.&amp;#160;&amp;#160; See &lt;a href="http://blogs.msdn.com/jmeier/archive/2009/09/15/experience-driven-development.aspx"&gt;Experience-Driven Development&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/jmeier/archive/2006/12/01/be-the-software.aspx"&gt;Experience Step-Throughs&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Distributed pairing&lt;/strong&gt;.&amp;#160;&amp;#160; I’ve found the fastest way to hand over information is to pair people up.&amp;#160; Pairing can also help people get unblocked or keep pace.&amp;#160; It’s not always obvious who pairs up well, so we test different combinations to find what works best for people.&amp;#160; Sometimes it helps to compliment skills.&amp;#160; For example, one person might be great technically, while another might be great with customer experience. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Mentoring and buddies&lt;/strong&gt;.&amp;#160;&amp;#160; Helping new people on the team ramp up is a priority.&amp;#160; I’ve found the most effective way is to have people pair on things together.&amp;#160; For metaphors, we call it either “co-pilot” or a “student-driver” model. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Email Triage&lt;/strong&gt;.&amp;#160; As simple as it sounds, it’s been helpful to include “triage” in the title of some emails.&amp;#160; This tells the team that this email thread may be a drill-down or discussion on a topic.&amp;#160; It’s also a quick way for anybody on the team to ask for help, since they may not know who on the team has the answer. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;One mail&lt;/strong&gt;.&amp;#160;&amp;#160; This is a simple burn down list.&amp;#160; Whenever we’re pushing for a key milestone, it’s helpful to summarize the open work that everybody can see and comment on in a shared way.&amp;#160; To do so, we simply send out an email that lists the current open work to the team and everybody chimes in.&amp;#160; It helps everybody see a tangible finish line. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Team project site&lt;/strong&gt;.&amp;#160;&amp;#160; It’s important that the team has one place to look for all the shared information.&amp;#160; The most important information here is the schedule, the deliverables, status, and any key information related to either the deliverables or the project. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;.&amp;#160;&amp;#160; I’m a fan of sharing lessons learned on the team.&amp;#160; To bootstrap these, we usually just start an email thread and dump our lessons learned.&amp;#160; We then port the lessons into the Wiki for easy reference.&amp;#160; We list the lessons as one-liners in the form of “do’s” and “don’ts&amp;quot;.”&amp;#160; It’s a tickler list that provides a backdrop for richer conversations, dialogues, and discussions. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Checklists&lt;/strong&gt;.&amp;#160; Checklists for common tasks have been the best and simplest way to share information across the team.&amp;#160;&amp;#160; They help reduce mistakes and carry lessons forward. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Best Practices Repository&lt;/strong&gt;.&amp;#160;&amp;#160; We store our best practices for each project in a project-level repository.&amp;#160; At the end of the project, we port the best practices to a shared repository across projects.&amp;#160; This way each project is focused on “best practices,” and these are very specific and detailed.&amp;#160; The all up best practices are more generalized to be useful across projects, and as a starting point for new projects. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Reduce friction in the process&lt;/strong&gt;.&amp;#160;&amp;#160; This is a shared goal on the team to get the kinks out of any sticking points in any of the processes.&amp;#160; We try to innovate in the process to save cost or time or improve effectiveness.&amp;#160; This helps us avoid death by a 1000 paper cuts. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Video nuggets&lt;/strong&gt;.&amp;#160;&amp;#160; We’ve found that sharing short-videos can help share knowledge on the team very quickly.&amp;#160; These are throw-away videos, but they help capture a snapshot whenever somebody does research in a particular area. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;No single pattern is a silver bullet.&amp;#160; Instead, it’s the composition of these patterns and practices that help improve distributed team communication and overall effectiveness.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tools of the Trade&lt;/strong&gt;     &lt;br /&gt;The following are some common tools of the trade:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Emai&lt;/strong&gt;l.&amp;#160; This is helpful for sharing technical details, state, and general asynchronous communication. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Conference calls&lt;/strong&gt;.&amp;#160; This is important for Monday iterations, daily stand-ups, Show and Tells, and any other team meetings. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Microsoft Shared view&lt;/strong&gt;.&amp;#160; This is helpful for distributed pairing as well as Show and Tells, so that everybody can see a shared desktop. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Slides&lt;/strong&gt;.&amp;#160; Slideware is a great way to share visuals and consolidate key information or to demo ideas and concepts. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Mind Maps&lt;/strong&gt;.&amp;#160;&amp;#160; Mind maps are a great way to pair and map out what the team knows about a given topic.&amp;#160; We’ve also found them useful for creating Work Breakdown Structures, as a team.&amp;#160; This way everybody gets to see the big picture&amp;#160; as a simple map. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Instant Messenger&lt;/strong&gt;.&amp;#160; This is especially helpful for simply knowing when people on the team are around and for ad-hoc synch ups. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Skype&lt;/strong&gt;.&amp;#160;&amp;#160; This has gradually replaced setting up conference calls.&amp;#160; In fact, we’ve started having better luck with Skype than conference calls in terms of clarity in some cases. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Groove&lt;/strong&gt;.&amp;#160; This has been our simplest way to share files instead of email.&amp;#160; There are some tricks to learn, but we’ve successfully shared projects of with thousands of files and hundreds of MBs. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;What about you?&amp;#160; … What have been your best lessons learned when it comes to distributed teamwork?&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9927115" width="1" height="1"&gt;</description></item></channel></rss>