<?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>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>0</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>15</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><item><title>Now Available: patterns &amp; practices Application Architecture Book</title><link>http://blogs.msdn.com/jmeier/archive/2009/11/05/now-available-patterns-practices-application-architecture-book.aspx</link><pubDate>Thu, 05 Nov 2009 18:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9918149</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9918149.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9918149</wfw:commentRss><description>&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/NowAvailablepatternspracticesApplication_9A5D/AAG2FrontCover-Small_2.png" mce_href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/NowAvailablepatternspracticesApplication_9A5D/AAG2FrontCover-Small_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=AAG2FrontCover-Small border=0 alt=AAG2FrontCover-Small align=right src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/NowAvailablepatternspracticesApplication_9A5D/AAG2FrontCover-Small_thumb.png" width=184 height=225 mce_src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/NowAvailablepatternspracticesApplication_9A5D/AAG2FrontCover-Small_thumb.png"&gt;&lt;/A&gt; The Microsoft Application Architecture Guide, 2nd edition, is &lt;A href="http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-Patterns-Practices/dp/073562710X" target=_blank mce_href="http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-Patterns-Practices/dp/073562710X"&gt;now available on Amazon&lt;/A&gt; and should be available on the shelf at your local bookstores soon.&amp;nbsp; The PDF was downloaded ~180,000 times.&amp;nbsp; This is the Microsoft platform playbook for application architecture.&amp;nbsp; You can think of it as a set of blueprints, and as your personal mentor for building common types of applications on the Microsoft platform:&amp;nbsp; mobile, RIA, services, and Web applications.&lt;/P&gt;
&lt;P&gt;The backbone of the guide is an information model for the application architecture space.&amp;nbsp; It’s a durable and evolvable map to give you a firm foundation of principles, patterns, and practices that you can overlay the latest technologies.&amp;nbsp; It’s your “tome of know-how.”&amp;nbsp; While it’s not a step-by-step for building specific applications, it is a pragmatic guide for designing your architecture, with quality attributes, key software principles, common patterns, and architectural styles in mind.&amp;nbsp; It’s holistic and focused on the key engineering decisions where you face your highest risks and most important choices.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Key Features of the Book &lt;BR&gt;&lt;/STRONG&gt;The book has several compelling features for slicing and dicing the application architecture body of knowledge:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Canonical Frame.&amp;nbsp; &lt;/STRONG&gt;This&lt;STRONG&gt; &lt;/STRONG&gt;describes at a meta-level, the tiers and layers that an architect should consider. Each tier/layer will be described in terms of its focus, function, capabilities, common design patterns and technologies.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Application Types&lt;/STRONG&gt;.&amp;nbsp; These are canonical application archetypes to illustrate common application types: Mobile, Rich Client, RIA, Services, and Web applications.&amp;nbsp; Each archetype is described in terms of the target scenarios, technologies, patterns and infrastructure it contains. Each archetype is mapped to the canonical app frame. They are illustrative of common application types and not comprehensive or definitive.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Quality attributes&lt;/STRONG&gt;.&amp;nbsp; This is a set of qualities and capabilities that shape your application architecture: performance, security, scalability, manageability, deployment, communication, etc.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Cross-cutting concerns&lt;/STRONG&gt;.&amp;nbsp; This is a common set of categories for hot spots for key engineering decisions: Authentication, Authorization, Caching, Communication, Configuration Management, Exception Management, Logging and Instrumentation, State Management, and Validation.&lt;/LI&gt;
&lt;LI&gt;Step-by-Step Design Approach.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Principles, patterns, and practices&lt;/STRONG&gt;.&amp;nbsp;&amp;nbsp; Using the application types, canonical frame, and cross-cutting concerns as backdrops, the guide provides an overlay of relevant principles, patterns, and practices.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Technologies and capabilities&lt;/STRONG&gt;.&amp;nbsp; The guide provides an overview and description of the Microsoft custom application development platform and the main technologies and capabilities within it.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Contents at a Glance &lt;BR&gt;&lt;/STRONG&gt;The full &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;Microsoft Application Architecture Guide is available for free on MSDN&lt;/A&gt; in HTML.&amp;nbsp; This is the contents of the guide at a glance:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658126.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658126.aspx"&gt;Foreword by S. Somasegar&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658097.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658097.aspx"&gt;Foreword by Scott Guthrie&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658082.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658082.aspx"&gt;Preface by David Hill&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Chapters&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658098.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658098.aspx"&gt;Chapter 1: What is Software Architecture?&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658124.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658124.aspx"&gt;Chapter 2: Key Principles of Software Architecture&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658117.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658117.aspx"&gt;Chapter 3: Architectural Patterns and Styles&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658084.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658084.aspx"&gt;Chapter 4: A Technique for Architecture and Design&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658109.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658109.aspx"&gt;Chapter 5: Layered Application Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658081.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658081.aspx"&gt;Chapter 6: Presentation Layer Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658103.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658103.aspx"&gt;Chapter 7: Business Layer Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658127.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658127.aspx"&gt;Chapter 8: Data Layer Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658090.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658090.aspx"&gt;Chapter 9: Service Layer Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658121.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658121.aspx"&gt;Chapter 10: Component Guidelines&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658100.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658100.aspx"&gt;Chapter 11: Designing Presentation Components&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658102.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658102.aspx"&gt;Chapter 12: Designing Business Components&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658106.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658106.aspx"&gt;Chapter 13: Designing Business Entities&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658122.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658122.aspx"&gt;Chapter 14: Designing Workflow Components&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658119.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658119.aspx"&gt;Chapter 15: Designing Data Components&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658094.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658094.aspx"&gt;Chapter 16: Quality Attributes&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658105.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658105.aspx"&gt;Chapter 17: Crosscutting Concerns&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658118.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658118.aspx"&gt;Chapter 18: Communication and Messaging&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658120.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658120.aspx"&gt;Chapter 19: Physical Tiers and Deployment&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658104.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658104.aspx"&gt;Chapter 20: Choosing an Application Type&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658099.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658099.aspx"&gt;Chapter 21: Designing Web Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658087.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658087.aspx"&gt;Chapter 22: Designing Rich Client Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658083.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658083.aspx"&gt;Chapter 23: Designing Rich Internet Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658108.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658108.aspx"&gt;Chapter 24: Designing Mobile Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658114.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658114.aspx"&gt;Chapter 25: Designing Service Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658110.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658110.aspx"&gt;Chapter 26: Designing Hosted and Cloud Services&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658085.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658085.aspx"&gt;Chapter 27: Designing Office Business Applications&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658091.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658091.aspx"&gt;Chapter 28: Designing SharePoint LOB Applications&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Appendices&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658101.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658101.aspx"&gt;Appendix A: The Microsoft Application Platform&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658088.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658088.aspx"&gt;Appendix B: Presentation Technology Matrix&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658113.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658113.aspx"&gt;Appendix C: Data Access Technology Matrix&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658095.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658095.aspx"&gt;Appendix D: Integration Technology Matrix&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658123.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658123.aspx"&gt;Appendix E: Workflow Technology Matrix&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658115.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658115.aspx"&gt;Appendix F: patterns &amp;amp; practices Enterprise Library&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/ee658089.aspx" target=_blank mce_href="http://msdn.microsoft.com/en-us/library/ee658089.aspx"&gt;Appendix G: patterns &amp;amp; practices Pattern Catalog&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;The Team &lt;BR&gt;&lt;/STRONG&gt;Here is the team that brought you the guide:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;Core Dev Team&lt;/STRONG&gt;: J.D. Meier, Alex Homer, David Hill, Jason Taylor, Prashant Bansode, Lonnie Wall, Rob Boucher Jr, Akshay Bogawat&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Test Team&lt;/STRONG&gt; - Rohit Sharma, Praveen Rangarajan, Kashinath TR, Vijaya Jankiraman&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Edit Team&lt;/STRONG&gt; - Dennis Rea&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;External Contributors/Reviewers&lt;/STRONG&gt; - Adwait Ullal; Andy Eunson; Brian Sletten; Christian Weyer; David Guimbellot; David Ing; David Weller; Derek Greer; Eduardo Jezierski; Evan Hoff; Gajapathi Kannan; Jeremy D. Miller; John Kordyback; Keith Pleas; Kent Corley; Mark Baker; Paul Ballard; Peter Oehlert; Norman Headlam; Ryan Plant; Sam Gentile; Sidney G Pinney; Ted Neward; Udi Dahan&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;Microsoft Contributors / Reviewers&lt;/STRONG&gt; - Ade Miller; Amit Chopra; Anna Liu; Anoop Gupta; Bob Brumfield; Brad Abrams; Brian Cawelti; Bhushan Nene; Burley Kawasaki; Carl Perry; Chris Keyser; Chris Tavares; Clint Edmonson; Dan Reagan; David Hill; Denny Dayton; Diego Dagum; Dmitri Martynov; Dmitri Ossipov; Don Smith; Dragos Manolescu; Elisa Flasko; Eric Fleck; Erwin van der Valk; Faisal Mohamood; Francis Cheung; Gary Lewis; Glenn Block; Gregory Leake; Ian Ellison-Taylor; Ilia Fortunov; J.R. Arredondo; John deVadoss; Joseph Hofstader; Koby Avital; Loke Uei Tan; Luke Nyswonger; Manish Prabhu; Meghan Perez; Mehran Nikoo; Michael Puleio; Mike Francis; Mike Walker; Mubarak Elamin; Nick Malik; Nobuyuki Akama; Ofer Ashkenazi; Pablo Castro; Pat Helland; Phil Haack; Rabi Satter; Reed Robison; Rob Tiffany; Ryno Rijnsburger; Scott Hanselman; Seema Ramchandani; Serena Yeoh; Simon Calvert; Srinath Vasireddy; Tom Hollander; Wojtek Kozaczynski&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Application Architecture Knowledge Base &lt;BR&gt;&lt;/STRONG&gt;The guide was developed in conjunction with our &lt;A href="http://apparch.codeplex.com/" target=_blank mce_href="http://apparch.codeplex.com/"&gt;Application Architecture Guide v2.0 Knowledge Base Project&lt;/A&gt;. The knowledge base project was used to inform and steer the guide during its development. The Application Architecture Knowledge Base includes a large amount of material that expands on specific topics in the main guide. It also includes draft material from the main guide that is targeted and packaged for more specific audiences, such as the Pocket Guide series.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=17700" target=_blank mce_href="http://apparch.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=17700"&gt;Overview Slides&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Video:%20Train%20the%20Trainer%20-%20Application%20Architecture%20Guide%202.0&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Video:%20Train%20the%20Trainer%20-%20Application%20Architecture%20Guide%202.0&amp;amp;referringTitle=Home"&gt;Train the Trainer&lt;/A&gt; (Video)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Pocket%20Guides&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Pocket%20Guides&amp;amp;referringTitle=Home"&gt;Pocket Guides&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Video%20Index&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Video%20Index&amp;amp;referringTitle=Home"&gt;Videos&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Slide%20Index&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Slide%20Index&amp;amp;referringTitle=Home"&gt;Slides&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/wikipage?title=Visio%20Index&amp;amp;referringTitle=Home" target=_blank mce_href="http://apparch.codeplex.com/wikipage?title=Visio%20Index&amp;amp;referringTitle=Home"&gt;Figures (Visios)&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;STRONG&gt;Key Links at a Glance &lt;BR&gt;&lt;/STRONG&gt;Here are the key links at a glance:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&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;Microsoft Application Architecture Guide&lt;/A&gt; (MSDN)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-Patterns-Practices/dp/073562710X" target=_blank mce_href="http://www.amazon.com/Microsoft%C2%AE-Application-Architecture-Patterns-Practices/dp/073562710X"&gt;Microsoft Application Architecture Guide&lt;/A&gt; (Amazon)&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://apparch.codeplex.com/" target=_blank mce_href="http://apparch.codeplex.com/"&gt;Application Architecture Knowledge Base&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9918149" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Architecture/default.aspx">Architecture</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/AppArch/default.aspx">AppArch</category></item><item><title>10 Years at patterns &amp; practices</title><link>http://blogs.msdn.com/jmeier/archive/2009/10/02/10-years-at-patterns-practices.aspx</link><pubDate>Fri, 02 Oct 2009 21:56:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9902522</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9902522.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9902522</wfw:commentRss><description>&lt;p&gt;I never imagined I would invest 10 years on the patterns &amp;amp; practices team at Microsoft.&amp;#160; Life is short and I always imagined I would spend it across so many more adventures.&amp;#160; What surprised me is how much you can grow yourself, and grow the job in the process.&amp;#160; While I sometimes wonder about the path not taken, there’s no doubt I’ve built a deep set of capabilities, achievements, and experiences as a direct result of investing my time in patterns &amp;amp; practices.&amp;#160; I’ve shared some of my best &lt;a href="http://shapingsoftware.com/2008/12/09/lessons-learned-in-patterns-practices/" target="_blank"&gt;lessons learned at patterns &amp;amp; practices&lt;/a&gt;, as well as my &lt;a href="http://sourcesofinsight.com/2009/07/24/proven-practices-for-individual-contributors/" target="_blank"&gt;proven practices for individual contributors&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;I think my biggest take away lesson is follow your heart, follow the growth, and invest in yourself (mind, heart, body, emotions, career, financial, relationships, and fun.)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Why patterns &amp;amp; practices?&lt;/strong&gt;     &lt;br /&gt;There are lots of reasons why I chose patterns &amp;amp; practices.&amp;#160; At the end of the day, it was the people, the values, and the mission. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Our Mission      &lt;br /&gt;&lt;/strong&gt;While we’ve had various flavors of the mission, I like to think of it as …. “Customer success on the Microsoft platform” … or … “Proven practices for the platform.”&amp;#160; I had the toughest time explaining to my Aunt what I do, until finally I said, “I help customers put the legos together.”&amp;#160; She then said, “ahhh, I get it.”&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Goals&lt;/strong&gt;     &lt;br /&gt;In patterns &amp;amp; practices, the goals are simple:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Simplify the customer experience of building quality solutions on the Microsoft platform. &lt;/li&gt;    &lt;li&gt;Improve the customer value of Microsoft products and technologies through customer connection and solution engineering. &lt;/li&gt;    &lt;li&gt;Grow the professional knowledge and capability of the Microsoft development community. &lt;/li&gt;    &lt;li&gt;Help customers and partners build their LOB (line-of-business) applications and services faster and more predictably than any platform in the world. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Values&lt;/strong&gt;     &lt;br /&gt;In patterns &amp;amp; practices, we value:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Continuous learning, innovation and improvement - We have a bias toward action (over more planning) and customer engagement and feedback (over more analysis.) &lt;/li&gt;    &lt;li&gt;Open, collaborative, relationships with customers, Microsoft field, partners, and Microsoft teams. &lt;/li&gt;    &lt;li&gt;Execution - we take strategic bets, but we hold ourselves accountable for creating value, shipping early and often, and delivering results that have impact with customers and in Microsoft. &lt;/li&gt;    &lt;li&gt;Explicit, transparent, and direct communication with customers and with our team and others in our company. &lt;/li&gt;    &lt;li&gt;Quality over scope - no guidance is better than bad guidance. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Principles      &lt;br /&gt;&lt;/strong&gt;We use the following principles to guide our work:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Start with the end in mind; think about end to end scenarios and how the products we produce fit in the solution architecture and into the patterns &amp;amp; practices catalog. &lt;/li&gt;    &lt;li&gt;Help the customer succeed with their intent - the results they want to achieve, not just what they are trying to do. &lt;/li&gt;    &lt;li&gt;Find the minimal solution required for a good result and ship it. &lt;/li&gt;    &lt;li&gt;Our tools platforms are assets that expand the types of guidance we can express - use all of what they provide where it naturally fits the scenario. &lt;/li&gt;    &lt;li&gt;Constructive tension between customer needs and Microsoft product and business strategy is expected - when we do our job well, this tension is healthy. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Capabilities, Achievements, and Experience      &lt;br /&gt;&lt;/strong&gt;How do you measure the impact of the time you spend down a given career path?&amp;#160; I’ve been looking for an effective lens, and I think it boils down to capabilities, achievements, and experience.&amp;#160;&amp;#160; It’s the simplest way that I can organize and reflect on where I am, based on where I’ve been.&amp;#160;&amp;#160; Capabilities are simply my skills.&amp;#160; They are the things I’ve learned how to do, from soft skills to technical abilities.&amp;#160; Achievements are my results.&amp;#160; This includes my impact on Microsoft, the software industry, and customers.&amp;#160; I lump my books, patents I filed, and the methodologies I’ve baked into the platform and tools here.&amp;#160; In terms of experience, I think of the job roles and activities I’ve had along the way.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Key Themes      &lt;br /&gt;&lt;/strong&gt;I think&amp;#160; I can boil my impact and results down into 3 key themes:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;Project management&lt;/strong&gt;.&amp;#160; I drive projects from pitch to ship.&amp;#160; I’ve built dream teams that go on amazing adventures to change the world.&amp;#160; I’ve consistently shipped projects on time and on budget year over year.&amp;#160; I’ve mentored many project managers and PMs at Microsoft to share the best of the best of what I’ve learned about shipping, execution, impact and results in patterns &amp;amp; practices.&amp;#160; I’ve had unique experiences here, especially since we adopted Agile practices early on, and I’ve lead distributed teams around the world since 2001.&amp;#160; I’ve learned a lot in terms of managing innovation, delivering incremental value, fixing time, while flexing scope, and &lt;a href="http://blogs.msdn.com/jmeier/archive/2009/09/15/experience-driven-development.aspx"&gt;experience-driven development&lt;/a&gt; (my latest thinking on software development.)&amp;#160; I think my biggest achievement here was helping shape the patterns &amp;amp; practices catalog, the programs, and the execution.&amp;#160; See &lt;a href="http://blogs.msdn.com/jmeier/archive/2009/02/06/writing-books-on-time-and-on-budget.aspx"&gt;Writing Books on Time and On Budget&lt;/a&gt;. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Software engineering&lt;/strong&gt;.&amp;#160;&amp;#160; I’ve invested the bulk of my time in application life cycle management, process improvement, quality attributes (security, performance, … etc), and application architecture.&amp;#160; Most of my talks and writings have been focused on security, performance, and software architecture, but I’ve done a lot more behind the scenes.&amp;#160; One of the big things I’ve focused on at Microsoft, is “solution engineering”, which is really about problem solving, while satisficing the user, business, and technology perspectives.&amp;#160; I think my biggest achievements here were baking security and performance into the life cycle, and into Visual Studio Team Foundation Server. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Effectiveness&lt;/strong&gt;.&amp;#160; I’m a fan of continuous improvement.&amp;#160; I’m not a productivity junkie though.&amp;#160; I’m all about impact and results.&amp;#160; I’ve learned from the best of the best around Microsoft.&amp;#160; I’ve hunted and gathered patterns and practices for effectiveness over the span of several years.&amp;#160; More importantly, I’ve bounced the ideas and techniques against reality to see what sticks.&amp;#160; In the last few years, I’ve regularly carried 8 mentees.&amp;#160; I’ve given talks to our X-Box team on productivity and results systems.&amp;#160; Effectiveness is an art and science, and I’m trying to bridge the gap between state of the art and state of the practice.&amp;#160; See &lt;a href="http://blogs.msdn.com/jmeier/archive/2007/04/09/7-habbits-of-effective-program-managers.aspx"&gt;7 Habits of Highly Effective PMs&lt;/a&gt; and &lt;a href="http://blogs.msdn.com/jmeier/archive/2008/10/13/effectiveness-post-roundup.aspx"&gt;Effectiveness Post Roundup&lt;/a&gt;. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Years at a Glance     &lt;br /&gt;&lt;/strong&gt;I think browsing by years is a healthy reality check against impact over time.&amp;#160; Looking back is the simplest way for me to respond to the question, “if I had it to do over again, what would I do differently?”&amp;#160; Where there answer is “nothing” – those are the sweet spots.&amp;#160; Where the answer is “everything” – those are the lessons :)&lt;/p&gt;  &lt;table border="1"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;th width="82"&gt;Year&lt;/th&gt;        &lt;th width="374"&gt;Results&lt;/th&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2009&lt;/em&gt; &lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Application Architecture Guide 2.0 &lt;/li&gt;         &lt;/ul&gt; Projects           &lt;ul&gt;           &lt;li&gt;Azure Security Guidance Project &lt;/li&gt;            &lt;li&gt;Core Systems Information Model &lt;/li&gt;            &lt;li&gt;Cloud Architecture Scenarios &lt;/li&gt;            &lt;li&gt;Customer-Connected Engineering &lt;/li&gt;            &lt;li&gt;Productivity coach for the Xbox team. &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2008&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Improving Web Services Security &lt;/li&gt;         &lt;/ul&gt; Projects           &lt;ul&gt;           &lt;li&gt;Line-of-Business (LOB) Frame &lt;/li&gt;            &lt;li&gt;Catalog Sweep &lt;/li&gt;            &lt;li&gt;Visual Studio Add-In for Guidance Explorer &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2007&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Performance Testing Guidance for Web Applications &lt;/li&gt;            &lt;li&gt;Team Development with Visual Studio Team Foundation Server &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2006&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;         &lt;ul&gt;           &lt;li&gt;8 patents filed (Security, performance, and info models for software life cycles and application life cycle management.) &lt;/li&gt;         &lt;/ul&gt; Projects           &lt;ul&gt;           &lt;li&gt;ASP.NET Security RI (Reference Implementation) &lt;/li&gt;            &lt;li&gt;Competitive Assessment for Security Engineering &lt;/li&gt;            &lt;li&gt;Defending Your Code &lt;/li&gt;            &lt;li&gt;Guidance Explorer &lt;/li&gt;            &lt;li&gt;PDL (Performance Development Life Cycle) &lt;/li&gt;            &lt;li&gt;Practices Checker &lt;/li&gt;            &lt;li&gt;Scenario Evaluation Framework &lt;/li&gt;            &lt;li&gt;Security Case Studies &lt;/li&gt;            &lt;li&gt;Security Code Examples &lt;/li&gt;            &lt;li&gt;Security Toolbar &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2005&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Security Engineering Explained &lt;/li&gt;         &lt;/ul&gt; Projects           &lt;ul&gt;           &lt;li&gt;Security Engineering in VSTS &lt;/li&gt;            &lt;li&gt;Threat Modeling Web Applications &lt;/li&gt;            &lt;li&gt;Whidbey Security Guidance &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2004&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Improving .NET Application Performance and Scalability &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2003&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Improving Web Application Security &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td width="82"&gt;&lt;em&gt;2002&lt;/em&gt;&lt;/td&gt;        &lt;td width="374"&gt;Books          &lt;ul&gt;           &lt;li&gt;Building Secure ASP.NET Applications &lt;/li&gt;         &lt;/ul&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;strong&gt;Books     &lt;br /&gt;&lt;/strong&gt;My books at a glance:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.codeplex.com/AppArchGuide" target="_blank"&gt;Application Architecture Guide 2.0&lt;/a&gt; (2009)&amp;#160; (The Microsoft Playbook for the Application Platform)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Building-Microsoft-ASP-NET-Applications-Pro-Developer/dp/0735618909" target="_blank"&gt;Building Secure ASP.NET Applications&lt;/a&gt; (2002)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Improving-Application-Performance-Scalability-Practices/dp/0735618518" target="_blank"&gt;Improving .NET Application Performance and Scalability&lt;/a&gt; (2004) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Improving-Web-Application-Security-Countermeasures/dp/0735618429" target="_blank"&gt;Improving Web Application Security: Threats and Countermeasures&lt;/a&gt; (2003) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/cc949034.aspx" target="_blank"&gt;Improving Web Services Security Guide&lt;/a&gt; (2008)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Performance-Testing-Guidance-Web-Applications/dp/0735625700"&gt;Performance Testing Guidance for Web Applications&lt;/a&gt; (2007)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998382.aspx" target="_blank"&gt;Security Engineering Explained&lt;/a&gt; (2005)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.amazon.com/Development-Visual-Studio-Foundation-Server/dp/0735625719" target="_blank"&gt;Team Development with Visual Studio Team Foundation Server&lt;/a&gt; (2007)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Pocket Guides     &lt;br /&gt;&lt;/strong&gt;My pocket guides at a glance:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Agile Architecture Method Pocket Guide&lt;/li&gt;    &lt;li&gt;Mobile Architecture Pocket Guide&lt;/li&gt;    &lt;li&gt;Performance Pocket Guide&lt;/li&gt;    &lt;li&gt;RIA Architecture Pocket Guide&lt;/li&gt;    &lt;li&gt;Rich Client Architecture Pocket Guide&lt;/li&gt;    &lt;li&gt;Security Pocket Guide&lt;/li&gt;    &lt;li&gt;Service Architecture Pocket Guide&lt;/li&gt;    &lt;li&gt;Web Architecture Pocket Guide&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;strong&gt;Projects     &lt;br /&gt;&lt;/strong&gt;My projects at a glance:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Application Architecture Guide 2.0 – A guide, knowledge base, information model and methodologies for the Microsoft platform.&lt;/li&gt;    &lt;li&gt;ASP.NET Security Reference Implementation - Sample application for ASP.NET 2.0.&lt;/li&gt;    &lt;li&gt;Building Secure ASP.NET Applications – A guide for designing authentication and authorization and end-to-end applications scenarios.&lt;/li&gt;    &lt;li&gt;Catalog Sweep – Information model for organizing the complete patterns &amp;amp; practices catalog of code and content assets.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://shapingsoftware.com/2009/05/19/customer-connected-engineering/" target="_blank"&gt;Customer Connected Engineering&lt;/a&gt; – Methodology for engaging customers throughout the life cycle (“patterns &amp;amp; practices secret sauce.”)&lt;/li&gt;    &lt;li&gt;Defending Your Code – An online knowledge base for software security.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/guidanceExplorer" target="_blank"&gt;Guidance Explorer&lt;/a&gt; – An online knowledge base for prescriptive guidance (&amp;quot;ITunes for knowledge.&amp;quot;)&lt;/li&gt;    &lt;li&gt;Improving .NET Application Performance and Scalability – A guide and methodology for baking performance into the life cycle.&lt;/li&gt;    &lt;li&gt;Improving Web Application Security – A guide for threats, attacks, vulnerabilities and countermeasures for LOB applications.&lt;/li&gt;    &lt;li&gt;Improving Web Services Security – A guide for threats, attacks, vulnerabilities and countermeasures for Web services.&lt;/li&gt;    &lt;li&gt;Performance Testing Guidance for Web Applications – A guide and testing methodology for testing Web application performance.&lt;/li&gt;    &lt;li&gt;PDL (Performance Development Life Cycle) – Methodology, activities and artifacts for baking performance into the life cycle.&lt;/li&gt;    &lt;li&gt;Practices Checker – An application that checks software against patterns &amp;amp; practices recommendations.&lt;/li&gt;    &lt;li&gt;Scenario Evaluation Framework – Assessment technique for design, implementation and deployment “building codes.”&lt;/li&gt;    &lt;li&gt;Security Case Studies – A model and examples for sharing business impact from patterns &amp;amp; practices security guidance.&lt;/li&gt;    &lt;li&gt;Security Code Examples – 60 security code examples in VB.NET / C#.&lt;/li&gt;    &lt;li&gt;Security Engineering Explained – A guide and methodology for baking security into the life cycle.&lt;/li&gt;    &lt;li&gt;Security Engineering in VSTS – Baked security engineering into VSTS / MSF.&lt;/li&gt;    &lt;li&gt;Security Information Model – A unified model for Microsoft’s security guidance.&lt;/li&gt;    &lt;li&gt;Security Toolbar – A toolbar for browsing patterns &amp;amp; practices guidance from Visual Studio.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms978516.aspx" target="_blank"&gt;Threat Modeling Web Applications&lt;/a&gt; – A technique to identify relevant threats and vulnerabilities for your scenario to help you shape your application's security design. &lt;/li&gt;    &lt;li&gt;Visual Studio Add-In for Guidance Explorer – Find, create, and share prescriptive guidance inside Visual Studio.&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998408.aspx" target="_blank"&gt;Whidbey Security Guidance&lt;/a&gt; – A collection of guidelines, checklists, and step-by-step how tos for improving software security based on the .NET Framework 2.0.&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Where do we go from here?&amp;#160; You write your future a page at a time.&amp;#160; If there’s one thing I’ve learned, it’s continue to reinvent yourself, reinvent your job, and make the most of what you’ve got.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;My Related Posts&lt;/strong&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/02/09/people-i-ve-worked-with-on-past-projects.aspx"&gt;People I’ve Worked with On Past Projects&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://blogs.msdn.com/jmeier/archive/2009/02/10/my-projects-on-msdn.aspx"&gt;My Projects on MSDN&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9902522" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/patterns+and+practices/default.aspx">patterns and practices</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Effectiveness/default.aspx">Effectiveness</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Work+Tips/default.aspx">Work Tips</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Lessons+Learned/default.aspx">Lessons Learned</category></item><item><title>Security Mental Model for Azure</title><link>http://blogs.msdn.com/jmeier/archive/2009/09/17/security-mental-model-for-azure.aspx</link><pubDate>Thu, 17 Sep 2009 02:04:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9896100</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9896100.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9896100</wfw:commentRss><description>&lt;p&gt;We’ve been exploring Azure on the patterns &amp;amp; practices team for potential security guidance.&amp;#160;&amp;#160; To get our heads around it, we’ve had to create a simple view for our team that we could quickly whiteboard or drill into.&amp;#160; We wanted a way to easily compare with our previous security guidance.&amp;#160; Here’s what we ended up with … &lt;/p&gt;  &lt;p&gt;Today’s application security mental model …&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/SecurityMentalModelforAzure_E1FB/SecurityMentalModel_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SecurityMentalModel" border="0" alt="SecurityMentalModel" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/SecurityMentalModelforAzure_E1FB/SecurityMentalModel_thumb.png" width="404" height="355" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Compare that to our evolving security mental model for Azure …&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/SecurityMentalModelforAzure_E1FB/SecurityMentalModelForAzure_2.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SecurityMentalModelForAzure" border="0" alt="SecurityMentalModelForAzure" src="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/SecurityMentalModelforAzure_E1FB/SecurityMentalModelForAzure_thumb.png" width="404" height="348" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;   &lt;p&gt;&lt;a href="http://blogs.msdn.com/blogfiles/jmeier/WindowsLiveWriter/SecurityMentalModelforAzure_E1FB/SecurityMentalModel_2.png"&gt;&lt;/a&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; The key thing to note is that on Azure you have a managed infrastructure, but you still have to address application security issues, as you would in today’s on-premise scenario.&amp;#160; There are obviously more details to the story, but I’ll elaborate on those another day.&amp;#160; For now, the key is to simply notice how you can carry forward your application security skills to the cloud as a new deployment channel.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9896100" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Security/default.aspx">Security</category></item><item><title>Experience-Driven Development</title><link>http://blogs.msdn.com/jmeier/archive/2009/09/15/experience-driven-development.aspx</link><pubDate>Tue, 15 Sep 2009 08:46:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9895258</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9895258.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9895258</wfw:commentRss><description>&lt;p&gt;Features don’t necessarily aggregate up to “experiences” and I would argue that today’s winning approach is … &lt;/p&gt;  &lt;p&gt;… Experience-Driven Development &lt;/p&gt;  &lt;p&gt;… Where experience means user’s can perform their goals successfully… the software makes them feel good and succeed at their goals.&amp;#160; It’s an integration of scenarios + experiences … and persona-based scenarios with goals. &lt;/p&gt;  &lt;p&gt;This shifts the focus to lighting up experiences over just shipping features or scenarios.&amp;#160; It also means a focus on “&lt;a href="http://blogs.msdn.com/jmeier/archive/2006/12/01/be-the-software.aspx"&gt;Experience Step-Throughs&lt;/a&gt;” to model and prioritize what you ship.&amp;#160; It seems like today’s software success is about shipping the vital few experiences that make an impact.&amp;#160; I know it seems like a subtle shift, but I still come across too many glitches that get in the way of great software … … I think we need “experience-first” … or more “experience-driven.” &lt;/p&gt;  &lt;p&gt;Experiences are the differentiator ... you can have scenario parity or feature parity, yet miss the boat on experience.&amp;#160; It's beyond user stories and scenarios with acceptance tests (though that's a good start.)&amp;#160; It's about measuring efficiency and effectiveness of the user experience. &lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9895258" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Software+Engineering/default.aspx">Software Engineering</category></item><item><title>The Power of Patterns and Practices</title><link>http://blogs.msdn.com/jmeier/archive/2009/09/14/the-power-of-patterns-and-practices.aspx</link><pubDate>Mon, 14 Sep 2009 09:55:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9894845</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9894845.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9894845</wfw:commentRss><description>&lt;p&gt;I wrote a post, &lt;a href="http://sourcesofinsight.com/2009/09/13/the-power-of-patterns-and-practices/" target="_blank"&gt;The Power of Patterns and Practices&lt;/a&gt;, on &lt;a href="http://sourcesofinsight.com" target="_blank"&gt;Sources of Insight&lt;/a&gt; to summarize some of the benefits of using patterns and practices as a way to organize and share knowledge.&amp;#160; For simplicity, I think of patterns as a way to share problem and solution pairs in context.&amp;#160; I think of practices as a way to share methods or techniques.&amp;#160;&amp;#160; When you combine them, you effectively have an efficient way to share strategies and approaches for success in a given domain.&amp;#160; &lt;/p&gt;  &lt;p&gt;While sharing patterns and practices has been effective in software, I think other industries can gain from finding ways to more effectively share patterns and practices.&amp;#160;&amp;#160; &lt;a href="http://en.wikipedia.org/wiki/Christopher_Alexander" target="_blank"&gt;Christopher Alexander&lt;/a&gt;, father of the pattern language movement, set a great example by creating a catalog of patterns for towns, buildings, and construction in the architecture space.&amp;#160; Along those lines, Michael Michalko, a former Disney imagineer, put together an amazing catalog of patterns and practices for creative thinking, in his book, THINKERTOYS.&amp;#160; The meta-point is that when you frame and name things, you simplify sharing knowledge in a meaningful and scalable way.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9894845" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Effectiveness/default.aspx">Effectiveness</category></item><item><title>Sources of Insight is One Year Old</title><link>http://blogs.msdn.com/jmeier/archive/2009/09/01/sources-of-insight-is-one-year-old.aspx</link><pubDate>Tue, 01 Sep 2009 11:20:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9889742</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9889742.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9889742</wfw:commentRss><description>&lt;p&gt;It was a year ago today that I wrote my first post on &lt;a href="http://sourcesofinsight.com" target="_blank"&gt;Sources of Insight&lt;/a&gt;, where I focus on patterns and practices for effectiveness and skilled living.&amp;#160;&amp;#160; I wrote up my learnings and highlights in my post, &lt;a href="http://sourcesofinsight.com/2009/09/01/sources-of-insight-is-one-year-old/" target="_blank"&gt;Sources of Insight is One Year Old&lt;/a&gt;.&amp;#160; My goal with Sources of Insight is to scale myself and to share my lessons learned in effectiveness more broadly.&amp;#160; The key theme on Sources of Insight is, “stand on the shoulders of giants!” and I draw from books, people, and quotes , as well as my own experience leading projects, building teams, and writing prescriptive guidance at Microsoft.&amp;#160; &lt;/p&gt;  &lt;p&gt;I’m a big believer in skills as a way to level the playing field and give everybody a chance at their best life.&amp;#160; Sources of Insight is my main clearing house for insight and action for work and life.&amp;#160; This way, I can focus my MSDN blog more on my adventures at Microsoft, including my project information, and technical insights.&amp;#160; I mentor a lot of people at work, so Sources of Insight is also a way for me to consolidate and share knowledge, while turning it into reusable nuggets.&amp;#160; I like to think of it as gems of insight, a post at a time.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9889742" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Effectiveness/default.aspx">Effectiveness</category></item><item><title>Time Management Quotes</title><link>http://blogs.msdn.com/jmeier/archive/2009/08/24/time-management-quotes.aspx</link><pubDate>Mon, 24 Aug 2009 12:21:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9882498</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>12</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9882498.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9882498</wfw:commentRss><description>&lt;p&gt;Time management is a key skill for work and life.&amp;#160; I’ve posted my collection of &lt;a href="http://sourcesofinsight.com/2009/08/24/time-management-quotes/" target="_blank"&gt;Time Management Quotes&lt;/a&gt; on &lt;a href="http://sourcesofinsight.com" target="_blank"&gt;Sources of Insight&lt;/a&gt;.&amp;#160;&amp;#160; While organizing my collection of quotes, I got clarity on a handful of lessons for time management:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Time is what you make of it.&amp;#160; &lt;/li&gt;    &lt;li&gt;You don’t have time, you make it.&amp;#160; &lt;/li&gt;    &lt;li&gt;It’s your most valuable resource.&amp;#160; &lt;/li&gt;    &lt;li&gt;Invest time.&amp;#160; Investing in your time is investing in your life.&amp;#160; &lt;/li&gt;    &lt;li&gt;Don’t dwell on the train you missed.&amp;#160; Catch the next train.&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;Time changes what’s important. You can’t buy time.&amp;#160; &lt;/li&gt;    &lt;li&gt;Time is all we have.&amp;#160;&amp;#160; &lt;/li&gt;    &lt;li&gt;Time is a teacher. &lt;/li&gt;    &lt;li&gt;Time is a judge.&amp;#160; &lt;/li&gt;    &lt;li&gt;Time is a healer.&amp;#160; &lt;/li&gt;    &lt;li&gt;Time is a friend.&lt;/li&gt; &lt;/ul&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9882498" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Effectiveness/default.aspx">Effectiveness</category></item><item><title>Cloud Security Frame</title><link>http://blogs.msdn.com/jmeier/archive/2009/08/20/cloud-security-frame.aspx</link><pubDate>Thu, 20 Aug 2009 03:45:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9876144</guid><dc:creator>J.D. Meier</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/jmeier/comments/9876144.aspx</comments><wfw:commentRss>http://blogs.msdn.com/jmeier/commentrss.aspx?PostID=9876144</wfw:commentRss><description>&lt;p&gt;I posted a draft of our &lt;a href="http://shapingsoftware.com/2009/08/20/cloud-security-frame/" target="_blank"&gt;Cloud Security Frame&lt;/a&gt; at &lt;a href="http://shapingsoftware.com/" target="_blank"&gt;Shaping Software&lt;/a&gt;.&amp;#160; This frame is especially important because we’re using it to help us map out the Cloud security space for our patterns &amp;amp; practices Cloud Security Guidance project.&amp;#160; It’s helps us scope our project.&amp;#160; The frame is basically a set of Hot Spots.&amp;#160; We use the Hot Spots to find, organize, and share principles, patterns, and practices.&amp;#160; We also use the Hot Spots to find pain points and opportunity or to organize key engineering decisions.&amp;#160; Here is our current set of Hot Spots:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;em&gt;Auditing and Logging&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Authentication&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Authorization&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Communication&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Configuration Management&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Cryptography&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Exception Management&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Sensitive Data&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Session Management&lt;/em&gt;&lt;/li&gt;    &lt;li&gt;&lt;em&gt;Validation&lt;/em&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;In this case, since it’s a security frame, we’re using the Hot Spots to organize threats, attacks, vulnerabilities and countermeasures.&amp;#160; This helps make the information more actionable and relevant.&amp;#160; We’re sharing this early and often so that you can give feedback and help us shape it as we go.&lt;/p&gt;  &lt;p&gt;If you’re familiar with any of the following guides, this Hot Spot approach should look familiar:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://www.codeplex.com/AppArchGuide" target="_blank"&gt;App Arch Guide 2.0&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://www.codeplex.com/WCFSecurityGuide" target="_blank"&gt;WCF Security Guide&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms998530.aspx" target="_blank"&gt;Improving .NET Application Performance and Scalability&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms994921.aspx" target="_blank"&gt;Improving Web Application Security: Threats and Countermeasures&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Check out our evolving &lt;a href="http://shapingsoftware.com/2009/08/20/cloud-security-frame/" target="_blank"&gt;Cloud Security Frame&lt;/a&gt; and provide your feedback in the comments.&lt;/p&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9876144" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/jmeier/archive/tags/Security/default.aspx">Security</category><category domain="http://blogs.msdn.com/jmeier/archive/tags/Cloud/default.aspx">Cloud</category></item></channel></rss>