<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" version="2.0">
  <channel>
    <title>Edward Bakker</title>
    <link>http://www.edwardbakker.nl/</link>
    <description>Guidance, automation and factories</description>
    <language>en-us</language>
    <copyright>Edward Bakker </copyright>
    <lastBuildDate>Wed, 17 Mar 2010 10:27:51 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 1.8.5223.2</generator>
    <managingEditor>ef.bakker@quicknet.nl</managingEditor>
    <webMaster>ef.bakker@quicknet.nl</webMaster>
    <item>
      <trackback:ping>http://www.edwardbakker.nl/Trackback.aspx?guid=f2a987c0-f079-45e4-be69-b380527642b3</trackback:ping>
      <pingback:server>http://www.edwardbakker.nl/pingback.aspx</pingback:server>
      <pingback:target>http://www.edwardbakker.nl/PermaLink,guid,f2a987c0-f079-45e4-be69-b380527642b3.aspx</pingback:target>
      <dc:creator>Edward Bakker (Edward Bakker)</dc:creator>
      <wfw:comment>http://www.edwardbakker.nl/CommentView,guid,f2a987c0-f079-45e4-be69-b380527642b3.aspx</wfw:comment>
      <wfw:commentRss>http://www.edwardbakker.nl/SyndicationService.asmx/GetEntryCommentsRss?guid=f2a987c0-f079-45e4-be69-b380527642b3</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      Recently, I noticed that the in last couple of months the amount of of time that I
      spend on cloud computing (Microsoft Azure in particular) is increasing quite rapidly.
      I am currently involved in a few initiatives/projects around Microsoft Azure and I
      suddenly realized that cloud computing has a positive impact on the way we think about
      Application Lifecycle Management (ALM). When we think about cloud computing from a
      project delivery or operations perspective (and not only from a technical perspective)
      there are absolutely interesting advantages that cloud computing can bring us.
   </p>
        <p>
          <strong>[For more information about the way we think about ALM and a better understanding
      of the image I am using below, have a look at </strong>
          <a href="http://www.edwardbakker.nl/PermaLink,guid,29c46be7-6722-4c3e-aefa-2b3bb3e03082.aspx">
            <strong>this
      post</strong>
          </a>
          <strong>]</strong>
        </p>
        <p>
      From a project delivery perspective, a cloud project has the advantage that we don’t
      have to buy the hardware and software that we need during for the development, testing
      and running the application in production (because we use the compute and storage
      power from the cloud). Of course we have to pay for using the Azure platform but these
      costs are likely less compared to buying bare metal and licenses for the complete
      lifecycle of the application. Another advantage of using a cloud platform is the time
      it takes to get our environment approved and up and running which potentially decreases
      the time to market of the application. If we have a look at the image below which
      represents the lifecycle of an application we can see that less hardware and an environment
      that doesn’t take long to get it up and running have a positive impact on the application
      lifecycle of the application. From a project delivery perspective lower costs (less
      hardware and licenses) for the project and a decreased time to market have a positive
      impact on the complete lifecycle of the application (represented by arrow 1 in the
      image below). 
   </p>
        <p>
      Further, one of the important goals of ALM (at least in our opinion) is increasing
      the added value of the application for the business user. Cloud computing enables
      some very interesting scenarios that potentially bring a lot of value to the business
      user. For example, the unlimited scalability of the platform (at relative low costs)
      makes it possible to deliver completely new (business) services for markets that couldn’t
      be reached that easily in the past. Also integration between companies, networks,
      applications, etc. becomes much easier with applications running in the cloud. The
      new scenarios that we can deliver by using cloud computing potentially add extra business
      value to the applications we are delivering and therefore have a positive impact on
      the complete lifecycle of the application (represented by arrow 2 in the image below).  
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/images/CloudandApplicationLifecycleManagement_B1E0/value1.png">
            <img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="value1" border="0" alt="value1" src="http://www.edwardbakker.nl/images/CloudandApplicationLifecycleManagement_B1E0/value1_thumb.png" width="643" height="424" />
          </a>
        </p>
        <p>
      From an operations perspective, the fact we have less hardware and software to maintain
      (back-up, monitoring, patching, etc.) also has a positive impact on the lifecycle
      of the application (represented by arrow 3 in the image below). 
   </p>
        <p>
      So, besides all the technical challenges of cloud computing that I am very interested
      in, I like to think of cloud computing as “just another delivery form” for our software
      development projects with a very interesting positive impact on the application lifecycle
      of the application that we deliver. 
   </p>
        <img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=f2a987c0-f079-45e4-be69-b380527642b3" />
      </body>
      <title>Cloud computing and Application Lifecycle Management</title>
      <guid>http://www.edwardbakker.nl/PermaLink,guid,f2a987c0-f079-45e4-be69-b380527642b3.aspx</guid>
      <link>http://www.edwardbakker.nl/PermaLink,guid,f2a987c0-f079-45e4-be69-b380527642b3.aspx</link>
      <pubDate>Wed, 17 Mar 2010 10:27:51 GMT</pubDate>
      <description>&lt;p&gt;
   Recently, I noticed that the in last couple of months the amount of of time that I
   spend on cloud computing (Microsoft Azure in particular) is increasing quite rapidly.
   I am currently involved in a few initiatives/projects around Microsoft Azure and I
   suddenly realized that cloud computing has a positive impact on the way we think about
   Application Lifecycle Management (ALM). When we think about cloud computing from a
   project delivery or operations perspective (and not only from a technical perspective)
   there are absolutely interesting advantages that cloud computing can bring us.
&lt;/p&gt;
&lt;p&gt;
   &lt;strong&gt;[For more information about the way we think about ALM and a better understanding
   of the image I am using below, have a look at &lt;/strong&gt;&lt;a href="http://www.edwardbakker.nl/PermaLink,guid,29c46be7-6722-4c3e-aefa-2b3bb3e03082.aspx"&gt;&lt;strong&gt;this
   post&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;]&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   From a project delivery perspective, a cloud project has the advantage that we don’t
   have to buy the hardware and software that we need during for the development, testing
   and running the application in production (because we use the compute and storage
   power from the cloud). Of course we have to pay for using the Azure platform but these
   costs are likely less compared to buying bare metal and licenses for the complete
   lifecycle of the application. Another advantage of using a cloud platform is the time
   it takes to get our environment approved and up and running which potentially decreases
   the time to market of the application. If we have a look at the image below which
   represents the lifecycle of an application we can see that less hardware and an environment
   that doesn’t take long to get it up and running have a positive impact on the application
   lifecycle of the application. From a project delivery perspective lower costs (less
   hardware and licenses) for the project and a decreased time to market have a positive
   impact on the complete lifecycle of the application (represented by arrow 1 in the
   image below). 
&lt;/p&gt;
&lt;p&gt;
   Further, one of the important goals of ALM (at least in our opinion) is increasing
   the added value of the application for the business user. Cloud computing enables
   some very interesting scenarios that potentially bring a lot of value to the business
   user. For example, the unlimited scalability of the platform (at relative low costs)
   makes it possible to deliver completely new (business) services for markets that couldn’t
   be reached that easily in the past. Also integration between companies, networks,
   applications, etc. becomes much easier with applications running in the cloud. The
   new scenarios that we can deliver by using cloud computing potentially add extra business
   value to the applications we are delivering and therefore have a positive impact on
   the complete lifecycle of the application (represented by arrow 2 in the image below).&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/images/CloudandApplicationLifecycleManagement_B1E0/value1.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="value1" border="0" alt="value1" src="http://www.edwardbakker.nl/images/CloudandApplicationLifecycleManagement_B1E0/value1_thumb.png" width="643" height="424"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
   From an operations perspective, the fact we have less hardware and software to maintain
   (back-up, monitoring, patching, etc.) also has a positive impact on the lifecycle
   of the application (represented by arrow 3 in the image below). 
&lt;/p&gt;
&lt;p&gt;
   So, besides all the technical challenges of cloud computing that I am very interested
   in, I like to think of cloud computing as “just another delivery form” for our software
   development projects with a very interesting positive impact on the application lifecycle
   of the application that we deliver. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=f2a987c0-f079-45e4-be69-b380527642b3" /&gt;</description>
      <comments>http://www.edwardbakker.nl/CommentView,guid,f2a987c0-f079-45e4-be69-b380527642b3.aspx</comments>
      <category>Application Lifecycle Managment;ALM;Cloud</category>
    </item>
    <item>
      <trackback:ping>http://www.edwardbakker.nl/Trackback.aspx?guid=64b3ba03-1f29-4dcf-bedb-d0f2e3c82efc</trackback:ping>
      <pingback:server>http://www.edwardbakker.nl/pingback.aspx</pingback:server>
      <pingback:target>http://www.edwardbakker.nl/PermaLink,guid,64b3ba03-1f29-4dcf-bedb-d0f2e3c82efc.aspx</pingback:target>
      <dc:creator>Edward Bakker (Edward Bakker)</dc:creator>
      <wfw:comment>http://www.edwardbakker.nl/CommentView,guid,64b3ba03-1f29-4dcf-bedb-d0f2e3c82efc.aspx</wfw:comment>
      <wfw:commentRss>http://www.edwardbakker.nl/SyndicationService.asmx/GetEntryCommentsRss?guid=64b3ba03-1f29-4dcf-bedb-d0f2e3c82efc</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      A few days ago Microsoft patterns &amp; practices released a (preview) set of Layer
      Diagrams for Visual Studio that comply with their <a href="http://msdn.microsoft.com/en-us/library/dd673617.aspx">Application
      Architecture Guide 2.0</a>. The diagrams are included in a simple VSIX package that
      can be <a href="http://visualstudiogallery.msdn.microsoft.com/en-us/237f823c-45b4-4f1f-b9e2-607fe66eaae7">downloaded</a> from
      the Visual Studio Gallery. The image below gives you some idea about what to expect
      from this package. The diagram also contains a link to the complete <a href="http://msdn.microsoft.com/en-us/library/ee658107.aspx">architectural
      guidance on MSDN</a>. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/images/LayerDiagramApplicationArchitectureGuide_74C3/layer.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="layer" border="0" alt="layer" src="http://www.edwardbakker.nl/images/LayerDiagramApplicationArchitectureGuide_74C3/layer_thumb.png" width="557" height="426" />
          </a>
        </p>
        <p>
      The layer package is a great start but there might be more opportunities for integrating
      architectural guidance in Visual Studio 2010. Right now, the package contains 5 layers
      diagrams so it shouldn’t be too difficult for an architect to decide which of the
      layer diagrams he should choose from the toolbox. But, what if we have additional
      layer diagrams or in addition to the diagrams we also have predefined <a href="http://www.edwardbakker.nl/PermaLink,guid,19de7161-769f-4b70-81b6-b435c0557093.aspx">architectural
      inspections</a> and/or validations that the architect can choose from? In that case
      we might need additional guidance to help the architect choose between the various
      diagrams, validations and inspections. Below you can see a screenshot of a prototype
      we did in this direction where we use a WPF form to ask the architect some questions.
      Additional questions pop up based on the selection the architect makes (clicking yes
      or no on the form) to help him decide what exactly he needs for his architecture.
      In the end, based on his selections, the the environment is prepared for him.
   </p>
        <p>
       <a href="http://www.edwardbakker.nl/images/LayerDiagramApplicationArchitectureGuide_74C3/InterAccessArchitecturalGuidanceProjectWizardScreenshot.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="InterAccess-Architectural-Guidance-Project-Wizard-Screenshot" border="0" alt="InterAccess-Architectural-Guidance-Project-Wizard-Screenshot" src="http://www.edwardbakker.nl/images/LayerDiagramApplicationArchitectureGuide_74C3/InterAccessArchitecturalGuidanceProjectWizardScreenshot_thumb.jpg" width="960" height="591" /></a></p>
        <p>
      This is just a prototype and not production ready but it might give you some ideas
      about how we think we should provide guidance. In the past couple of months <a href="http://www.clemensreijnen.nl/">Clemens</a> and
      I have done some work on these ideas  but we haven’t really finished it yet.
      Now Visual Studio 2010 becomes close to RTM it is time to finish this so expect some
      updates in this direction.
   </p>
        <p>
      Stay tuned!
   </p>
        <img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=64b3ba03-1f29-4dcf-bedb-d0f2e3c82efc" />
      </body>
      <title>Layer Diagrams: Application Architecture Guide</title>
      <guid>http://www.edwardbakker.nl/PermaLink,guid,64b3ba03-1f29-4dcf-bedb-d0f2e3c82efc.aspx</guid>
      <link>http://www.edwardbakker.nl/PermaLink,guid,64b3ba03-1f29-4dcf-bedb-d0f2e3c82efc.aspx</link>
      <pubDate>Mon, 15 Mar 2010 08:30:14 GMT</pubDate>
      <description>&lt;p&gt;
   A few days ago Microsoft patterns &amp;amp; practices released a (preview) set of Layer
   Diagrams for Visual Studio that comply with their &lt;a href="http://msdn.microsoft.com/en-us/library/dd673617.aspx"&gt;Application
   Architecture Guide 2.0&lt;/a&gt;. The diagrams are included in a simple VSIX package that
   can be &lt;a href="http://visualstudiogallery.msdn.microsoft.com/en-us/237f823c-45b4-4f1f-b9e2-607fe66eaae7"&gt;downloaded&lt;/a&gt; from
   the Visual Studio Gallery. The image below gives you some idea about what to expect
   from this package. The diagram also contains a link to the complete &lt;a href="http://msdn.microsoft.com/en-us/library/ee658107.aspx"&gt;architectural
   guidance on MSDN&lt;/a&gt;. 
&lt;/p&gt;
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/images/LayerDiagramApplicationArchitectureGuide_74C3/layer.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="layer" border="0" alt="layer" src="http://www.edwardbakker.nl/images/LayerDiagramApplicationArchitectureGuide_74C3/layer_thumb.png" width="557" height="426"&gt;&lt;/a&gt; 
&lt;/p&gt;
&lt;p&gt;
   The layer package is a great start but there might be more opportunities for integrating
   architectural guidance in Visual Studio 2010. Right now, the package contains 5 layers
   diagrams so it shouldn’t be too difficult for an architect to decide which of the
   layer diagrams he should choose from the toolbox. But, what if we have additional
   layer diagrams or in addition to the diagrams we also have predefined &lt;a href="http://www.edwardbakker.nl/PermaLink,guid,19de7161-769f-4b70-81b6-b435c0557093.aspx"&gt;architectural
   inspections&lt;/a&gt; and/or validations that the architect can choose from? In that case
   we might need additional guidance to help the architect choose between the various
   diagrams, validations and inspections. Below you can see a screenshot of a prototype
   we did in this direction where we use a WPF form to ask the architect some questions.
   Additional questions pop up based on the selection the architect makes (clicking yes
   or no on the form) to help him decide what exactly he needs for his architecture.
   In the end, based on his selections, the the environment is prepared for him.
&lt;/p&gt;
&lt;p&gt;
   &amp;nbsp;&lt;a href="http://www.edwardbakker.nl/images/LayerDiagramApplicationArchitectureGuide_74C3/InterAccessArchitecturalGuidanceProjectWizardScreenshot.jpg"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="InterAccess-Architectural-Guidance-Project-Wizard-Screenshot" border="0" alt="InterAccess-Architectural-Guidance-Project-Wizard-Screenshot" src="http://www.edwardbakker.nl/images/LayerDiagramApplicationArchitectureGuide_74C3/InterAccessArchitecturalGuidanceProjectWizardScreenshot_thumb.jpg" width="960" height="591"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;p&gt;
   This is just a prototype and not production ready but it might give you some ideas
   about how we think we should provide guidance. In the past couple of months &lt;a href="http://www.clemensreijnen.nl/"&gt;Clemens&lt;/a&gt; and
   I have done some work on these ideas&amp;nbsp; but we haven’t really finished it yet.
   Now Visual Studio 2010 becomes close to RTM it is time to finish this so expect some
   updates in this direction.
&lt;/p&gt;
&lt;p&gt;
   Stay tuned!
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=64b3ba03-1f29-4dcf-bedb-d0f2e3c82efc" /&gt;</description>
      <comments>http://www.edwardbakker.nl/CommentView,guid,64b3ba03-1f29-4dcf-bedb-d0f2e3c82efc.aspx</comments>
      <category>ALM;Architectural Guidance;Visual Studio 2010</category>
    </item>
    <item>
      <trackback:ping>http://www.edwardbakker.nl/Trackback.aspx?guid=29c46be7-6722-4c3e-aefa-2b3bb3e03082</trackback:ping>
      <pingback:server>http://www.edwardbakker.nl/pingback.aspx</pingback:server>
      <pingback:target>http://www.edwardbakker.nl/PermaLink,guid,29c46be7-6722-4c3e-aefa-2b3bb3e03082.aspx</pingback:target>
      <dc:creator>Edward Bakker (Edward Bakker)</dc:creator>
      <wfw:comment>http://www.edwardbakker.nl/CommentView,guid,29c46be7-6722-4c3e-aefa-2b3bb3e03082.aspx</wfw:comment>
      <wfw:commentRss>http://www.edwardbakker.nl/SyndicationService.asmx/GetEntryCommentsRss?guid=29c46be7-6722-4c3e-aefa-2b3bb3e03082</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      This is a translated version of an article that I wrote for <a href="www.release.nl">Software
      Release Magazine</a>.  
   </p>
        <p>
          <font size="4">Application Lifecycle Management</font>
        </p>
        <p>
      In the past ten years, the costs of IT projects dropped significantly. In addition,
      the number of projects that turned out to be successful, rose. Nevertheless, only
      forty percent of all IT projects succeeds. This means that it takes less time today
      for a project to fail. Application Lifecycle Management (ALM) may help improve the
      return on projects. An efficient deployment of ALM requires the right scope and focus<strong>.</strong></p>
        <p>
      Today, many organizations regard Application Lifecycle Management (ALM) as one of
      the answers to their bad performing IT departments. With ALM, they try to get more
      grip on software development by integrating, coordinating and controlling the various
      phases of development. ALM guides an organization from software development until
      software implementation and management. Very often, an organization will limit its
      focus to optimizing the developer’s work processes and the communication between developers
      and project managers. An ALM tool is rolled out and its features are used to manage
      the progress of the project as well as the quality of the code. Deploying an ALM tool
      in this way is a step in the right direction but in practice it is not a guarantee
      for success. Without the right focus, software development will remain a stand alone
      activity without any relation to other parts of the organization, including business
      and operations. Additionally, research shows that companies spend on average 30 percent
      of their available IT budget on newly built applications. This means that they neglect
      an area of 70 percent, where optimization is also possible. 
   </p>
        <p>
          <font size="4">More return by shift in focus</font>
        </p>
        <p>
      With the right scope and focus ALM has much to offer. Figure 1 shows a schematic view
      of the lifecycle of an application that is to be developed. In this view de x-axis
      represents the time and the y-axis the value/cost of the application. In this figure,
      the extended curve shows the lifecycle of the application from development until end-of-life.
      The figure provides insight in the different phases of an application’s lifecycle.
      It also enables for determining the impact of ALM. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image_thumb.png" width="660" height="434" />
          </a>
        </p>
        <p>
          <font size="1">Figure 1. The lifecycle of an application</font>
        </p>
        <p>
          <strong>
          </strong> 
   </p>
        <p>
          <strong>Reduce development costs</strong>
        </p>
        <p>
      The lifecycle of an application starts in the first phase of development. As of the
      start of the project, costs are made for design, programming and testing. At this
      time, the application offers no value. All development costs are therefore to be regarded
      as costs. Often, organizations focus on these costs when deploying ALM and optimizing
      the software development process. Figure 1 shows however, that the development phase
      only accounts for a small part for the full lifecycle of the application. 
   </p>
        <p>
          <strong>Time to market</strong>
        </p>
        <p>
      The figure also shows that the application will only add value to the organization
      when it has gone live. This means that the ALM activities need to be focused on getting
      the application (or a part of it) live as soon as possible. One of the ways to do
      this is using agile development methods, including iterative delivery. Shortening
      the time to market not only results in faster added value, it can also provide competitive
      advantage. In general, organizations that are first in addressing new needs or market
      changes profit the most from these developments. Organizations that are trend followers
      profit less; or even worse, they have to invest in order to stay in the market.   
   </p>
        <p>
          <strong>Added Value</strong>
        </p>
        <p>
      It is clear that an application will add value when it has gone live. Many organizations
      do no recognize this added value. ALM activities should focus on getting as much added
      value as possible. As the application is developed for the end-users , it is key to
      involve this group as much as possible in the development process. User involvement,
      support from the (executive) management, defining clear business goals and optimizing
      requirements are all equally important. 
   </p>
        <p>
      One of the ways to realize this is to optimize the communication between the user
      organization and IT and to create a common involvement for all stakeholders. In this
      way, stakeholders are better geared to state their demands. They are also better able
      to determine the consequences of their choices and to change priorities and requirements
      during the project, together with the project team. Here, it is also cost-effective
      to use short iterations, as changes in scope, priorities and requirements can easily
      be made. In this way, an organization can address new insights during the project,
      which may increase the added value of the application further. 
   </p>
        <p>
          <strong>Operational costs</strong>
        </p>
        <p>
      When developing the application it is advisable to acknowledge in an early stage the
      need for application management. By creating consensus on the requirements for the
      management department, operational management costs of the application can be reduced
      significantly. The focus on management is paramount in an ALM approach. 
   </p>
        <p>
          <strong>Extending the lifecycle</strong>
        </p>
        <p>
      By adding value and reducing costs, a developed application will provide return in
      the long run. By focusing on the value of an application and by constantly monitoring
      this aspect, an organization is better capable of determining the moment when value
      is replaced by costs. This early insight helps in deciding what to do with the application:
      adjust or phase out? 
   </p>
        <p>
          <strong>Phase out</strong>
        </p>
        <p>
      When an organization decides to abandon an application, the knowledge of the application
      will lead to less abandoning costs. This is definitely the case when an organization
      combines this knowledge with the optimizations, provided by ALM in the earlier development
      phase of the application. An example is the right documentation on the application
      interface to other systems. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image_3.png">
            <img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image_thumb_3.png" width="661" height="442" />
          </a>
        </p>
        <p>
          <font size="1">Figure 2. The new lifecycle of an application </font>
        </p>
        <p>
          <strong>The new lifecycle</strong>
        </p>
        <p>
      Figure 2 shows the new lifecycle of the application. This is the result of broadening
      the ALM focus as described earlier. The green field in the figure depicts the extra
      return of the application. This is possible by speeding up the go-live process, a
      longer life of the application and more added value for the user. The red areas in
      the figure represent the decreased development costs and the costs for abandonment. 
   </p>
        <p>
          <font size="4">Priorities of an organization</font>
        </p>
        <p>
      Figure 2 shows that the return on ALM increases when an organization not only focuses
      on the development phase, but also on the other phases of an application’s lifecycle.
      This optimization obviously pays off, but the question is how to relate this to the
      goals of today’s organizations. Many organizations focus on cost reduction, compliancy
      and risk management. How can ALM be related to these three priorities? 
   </p>
        <p>
          <strong>Cost reduction</strong>
        </p>
        <p>
      A too strong focus on cost reduction may well lead to an imbalance in this area, resulting
      in a paralyzed organization in terms of productivity. By continuously executing cost
      reducing measures, tools and communication channels are lost. In the end, this can
      affect the productivity of employees negatively. By combining cost savings and productivity
      improvements this issue can be addressed. 
   </p>
        <p>
      A combination of ALM activities with a so-called <i>high-performance workplace</i> can
      be the answer. The high performance workplace is a physical or virtual environment
      which is especially designed for knowledge and information workers. It supports them
      optimally in executing non-routine duties. In these duties, exploring, learning, innovating,
      collaborating and managing are key. 
   </p>
        <p>
      The current generation of ALM tools already pays attention to optimizing communication
      and collaboration between stakeholders in an IT project. This shows that the awareness
      on effective collaboration is growing. It also requires the focus to be placed on
      the process and the human aspect of collaboration. Important success factors are creating
      joint goals and making sure there is a shared vision of the truth. 
   </p>
        <p>
          <strong>Compliancy</strong>
        </p>
        <p>
      The current compliancy requirements demand a high level of control. In recent years,
      this control is expressed in continuous process optimization. The need for a process
      approach led to reduction of flexibility within an organization. It is becoming increasingly
      difficult to address market changes and needs without losing control. The focus on
      processes, tools and management also led to a situation in which up to twenty percent
      of project costs can be allocated to the developed software. The rest of the costs
      are related to project support and meeting internal and external requirements. The
      new generation ALM tools and corresponding methods, enable an organization to meet
      these strict compliancy requirements without affecting flexibility. These tools provide
      the necessary mechanisms and means of control to link requirements, quality metrics
      and the solution. This makes it much easier to prove that the solution meets all requirements.
      The full support of agile methods within the ALM tools ensures the required flexibility. 
   </p>
        <p>
          <strong>Risk management</strong>
        </p>
        <p>
      Experience from the past shows that risk is inherent to projects. However, the higher
      the risk, the higher the return, as optimists say. It is not necessary for organizations
      to exclude all risks. They need to assess risks continuously on the return they can
      provide. The collaboration in a project, the commitment from stakeholders and the
      combination of business and ICT knowledge enable the right assessment of risks. This
      may lead to a situation in which a risk that is regarded as unacceptable by individual
      members, is controllable or even desirable. 
   </p>
        <p>
          <font size="4">Conclusion </font>
        </p>
        <p>
      ALM is gaining in popularity. Many organizations take their first steps in this area
      and start to purchase ALM tools. Seemingly without thinking, they focus on the development
      phase. This is an excellent first step but still they should not stop here. By broadening
      their focus and incorporating the full lifecycle of an application in their approach,
      they are able to increase their return on ALM significantly. The broader approach
      offers more insight in the added value of the application. By combining ALM and a
      high performance workplace, and by putting the human aspect first, it is possible
      tot create an environment in which collaboration is optimized. The result is a software
      development process with predictable results and sufficient flexibility to contribute
      to the three main priorities of an organization: cost reduction, compliancy and risk
      management. 
   </p>
        <p>
        </p>
        <p>
          <a href="http://www.edwardbakker.nl">
          </a>
        </p>
        <img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=29c46be7-6722-4c3e-aefa-2b3bb3e03082" />
      </body>
      <title>More return on development with Application Lifecycle Management</title>
      <guid>http://www.edwardbakker.nl/PermaLink,guid,29c46be7-6722-4c3e-aefa-2b3bb3e03082.aspx</guid>
      <link>http://www.edwardbakker.nl/PermaLink,guid,29c46be7-6722-4c3e-aefa-2b3bb3e03082.aspx</link>
      <pubDate>Tue, 24 Nov 2009 14:58:09 GMT</pubDate>
      <description>&lt;p&gt;
   This is a translated version of an article that I wrote for &lt;a href="www.release.nl"&gt;Software
   Release Magazine&lt;/a&gt;.&amp;nbsp; 
&lt;/p&gt;
&lt;p&gt;
   &lt;font size="4"&gt;Application Lifecycle Management&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   In the past ten years, the costs of IT projects dropped significantly. In addition,
   the number of projects that turned out to be successful, rose. Nevertheless, only
   forty percent of all IT projects succeeds. This means that it takes less time today
   for a project to fail. Application Lifecycle Management (ALM) may help improve the
   return on projects. An efficient deployment of ALM requires the right scope and focus&lt;strong&gt;.&lt;/strong&gt;
&lt;/p&gt;
&lt;p&gt;
   Today, many organizations regard Application Lifecycle Management (ALM) as one of
   the answers to their bad performing IT departments. With ALM, they try to get more
   grip on software development by integrating, coordinating and controlling the various
   phases of development. ALM guides an organization from software development until
   software implementation and management. Very often, an organization will limit its
   focus to optimizing the developer’s work processes and the communication between developers
   and project managers. An ALM tool is rolled out and its features are used to manage
   the progress of the project as well as the quality of the code. Deploying an ALM tool
   in this way is a step in the right direction but in practice it is not a guarantee
   for success. Without the right focus, software development will remain a stand alone
   activity without any relation to other parts of the organization, including business
   and operations. Additionally, research shows that companies spend on average 30 percent
   of their available IT budget on newly built applications. This means that they neglect
   an area of 70 percent, where optimization is also possible. 
&lt;p&gt;
   &lt;font size="4"&gt;More return by shift in focus&lt;/font&gt; 
&lt;p&gt;
   With the right scope and focus ALM has much to offer. Figure 1 shows a schematic view
   of the lifecycle of an application that is to be developed. In this view de x-axis
   represents the time and the y-axis the value/cost of the application. In this figure,
   the extended curve shows the lifecycle of the application from development until end-of-life.
   The figure provides insight in the different phases of an application’s lifecycle.
   It also enables for determining the impact of ALM. 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image_thumb.png" width="660" height="434"&gt;&lt;/a&gt; 
&lt;p&gt;
   &lt;font size="1"&gt;Figure 1. The lifecycle of an application&lt;/font&gt;
&lt;/p&gt;
&lt;p&gt;
   &lt;strong&gt;&lt;/strong&gt;&amp;nbsp;
&lt;/p&gt;
&lt;p&gt;
   &lt;strong&gt;Reduce development costs&lt;/strong&gt; 
&lt;/p&gt;
&lt;p&gt;
   The lifecycle of an application starts in the first phase of development. As of the
   start of the project, costs are made for design, programming and testing. At this
   time, the application offers no value. All development costs are therefore to be regarded
   as costs. Often, organizations focus on these costs when deploying ALM and optimizing
   the software development process. Figure 1 shows however, that the development phase
   only accounts for a small part for the full lifecycle of the application. 
&lt;p&gt;
   &lt;strong&gt;Time to market&lt;/strong&gt; 
&lt;p&gt;
   The figure also shows that the application will only add value to the organization
   when it has gone live. This means that the ALM activities need to be focused on getting
   the application (or a part of it) live as soon as possible. One of the ways to do
   this is using agile development methods, including iterative delivery. Shortening
   the time to market not only results in faster added value, it can also provide competitive
   advantage. In general, organizations that are first in addressing new needs or market
   changes profit the most from these developments. Organizations that are trend followers
   profit less; or even worse, they have to invest in order to stay in the market.&amp;nbsp;&amp;nbsp; 
&lt;p&gt;
   &lt;strong&gt;Added Value&lt;/strong&gt; 
&lt;p&gt;
   It is clear that an application will add value when it has gone live. Many organizations
   do no recognize this added value. ALM activities should focus on getting as much added
   value as possible. As the application is developed for the end-users , it is key to
   involve this group as much as possible in the development process. User involvement,
   support from the (executive) management, defining clear business goals and optimizing
   requirements are all equally important. 
&lt;p&gt;
   One of the ways to realize this is to optimize the communication between the user
   organization and IT and to create a common involvement for all stakeholders. In this
   way, stakeholders are better geared to state their demands. They are also better able
   to determine the consequences of their choices and to change priorities and requirements
   during the project, together with the project team. Here, it is also cost-effective
   to use short iterations, as changes in scope, priorities and requirements can easily
   be made. In this way, an organization can address new insights during the project,
   which may increase the added value of the application further. 
&lt;p&gt;
   &lt;strong&gt;Operational costs&lt;/strong&gt; 
&lt;p&gt;
   When developing the application it is advisable to acknowledge in an early stage the
   need for application management. By creating consensus on the requirements for the
   management department, operational management costs of the application can be reduced
   significantly. The focus on management is paramount in an ALM approach. 
&lt;p&gt;
   &lt;strong&gt;Extending the lifecycle&lt;/strong&gt; 
&lt;p&gt;
   By adding value and reducing costs, a developed application will provide return in
   the long run. By focusing on the value of an application and by constantly monitoring
   this aspect, an organization is better capable of determining the moment when value
   is replaced by costs. This early insight helps in deciding what to do with the application:
   adjust or phase out? 
&lt;p&gt;
   &lt;strong&gt;Phase out&lt;/strong&gt; 
&lt;p&gt;
   When an organization decides to abandon an application, the knowledge of the application
   will lead to less abandoning costs. This is definitely the case when an organization
   combines this knowledge with the optimizations, provided by ALM in the earlier development
   phase of the application. An example is the right documentation on the application
   interface to other systems. 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image_3.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://www.edwardbakker.nl/content/binary/MorereturnondevelopmentwithApplicationLi_B8C2/image_thumb_3.png" width="661" height="442"&gt;&lt;/a&gt; 
&lt;p&gt;
   &lt;font size="1"&gt;Figure 2. The new lifecycle of an application &lt;/font&gt; 
&lt;p&gt;
   &lt;strong&gt;The new lifecycle&lt;/strong&gt; 
&lt;p&gt;
   Figure 2 shows the new lifecycle of the application. This is the result of broadening
   the ALM focus as described earlier. The green field in the figure depicts the extra
   return of the application. This is possible by speeding up the go-live process, a
   longer life of the application and more added value for the user. The red areas in
   the figure represent the decreased development costs and the costs for abandonment. 
&lt;p&gt;
   &lt;font size="4"&gt;Priorities of an organization&lt;/font&gt; 
&lt;p&gt;
   Figure 2 shows that the return on ALM increases when an organization not only focuses
   on the development phase, but also on the other phases of an application’s lifecycle.
   This optimization obviously pays off, but the question is how to relate this to the
   goals of today’s organizations. Many organizations focus on cost reduction, compliancy
   and risk management. How can ALM be related to these three priorities? 
&lt;p&gt;
   &lt;strong&gt;Cost reduction&lt;/strong&gt; 
&lt;p&gt;
   A too strong focus on cost reduction may well lead to an imbalance in this area, resulting
   in a paralyzed organization in terms of productivity. By continuously executing cost
   reducing measures, tools and communication channels are lost. In the end, this can
   affect the productivity of employees negatively. By combining cost savings and productivity
   improvements this issue can be addressed. 
&lt;p&gt;
   A combination of ALM activities with a so-called &lt;i&gt;high-performance workplace&lt;/i&gt; can
   be the answer. The high performance workplace is a physical or virtual environment
   which is especially designed for knowledge and information workers. It supports them
   optimally in executing non-routine duties. In these duties, exploring, learning, innovating,
   collaborating and managing are key. 
&lt;p&gt;
   The current generation of ALM tools already pays attention to optimizing communication
   and collaboration between stakeholders in an IT project. This shows that the awareness
   on effective collaboration is growing. It also requires the focus to be placed on
   the process and the human aspect of collaboration. Important success factors are creating
   joint goals and making sure there is a shared vision of the truth. 
&lt;p&gt;
   &lt;strong&gt;Compliancy&lt;/strong&gt; 
&lt;p&gt;
   The current compliancy requirements demand a high level of control. In recent years,
   this control is expressed in continuous process optimization. The need for a process
   approach led to reduction of flexibility within an organization. It is becoming increasingly
   difficult to address market changes and needs without losing control. The focus on
   processes, tools and management also led to a situation in which up to twenty percent
   of project costs can be allocated to the developed software. The rest of the costs
   are related to project support and meeting internal and external requirements. The
   new generation ALM tools and corresponding methods, enable an organization to meet
   these strict compliancy requirements without affecting flexibility. These tools provide
   the necessary mechanisms and means of control to link requirements, quality metrics
   and the solution. This makes it much easier to prove that the solution meets all requirements.
   The full support of agile methods within the ALM tools ensures the required flexibility. 
&lt;p&gt;
   &lt;strong&gt;Risk management&lt;/strong&gt; 
&lt;p&gt;
   Experience from the past shows that risk is inherent to projects. However, the higher
   the risk, the higher the return, as optimists say. It is not necessary for organizations
   to exclude all risks. They need to assess risks continuously on the return they can
   provide. The collaboration in a project, the commitment from stakeholders and the
   combination of business and ICT knowledge enable the right assessment of risks. This
   may lead to a situation in which a risk that is regarded as unacceptable by individual
   members, is controllable or even desirable. 
&lt;p&gt;
   &lt;font size="4"&gt;Conclusion &lt;/font&gt; 
&lt;p&gt;
   ALM is gaining in popularity. Many organizations take their first steps in this area
   and start to purchase ALM tools. Seemingly without thinking, they focus on the development
   phase. This is an excellent first step but still they should not stop here. By broadening
   their focus and incorporating the full lifecycle of an application in their approach,
   they are able to increase their return on ALM significantly. The broader approach
   offers more insight in the added value of the application. By combining ALM and a
   high performance workplace, and by putting the human aspect first, it is possible
   tot create an environment in which collaboration is optimized. The result is a software
   development process with predictable results and sufficient flexibility to contribute
   to the three main priorities of an organization: cost reduction, compliancy and risk
   management. 
&lt;p&gt;
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl"&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=29c46be7-6722-4c3e-aefa-2b3bb3e03082" /&gt;</description>
      <comments>http://www.edwardbakker.nl/CommentView,guid,29c46be7-6722-4c3e-aefa-2b3bb3e03082.aspx</comments>
      <category>ALM</category>
    </item>
    <item>
      <trackback:ping>http://www.edwardbakker.nl/Trackback.aspx?guid=7f9d68ae-76fd-4b71-a688-482b2e8cc883</trackback:ping>
      <pingback:server>http://www.edwardbakker.nl/pingback.aspx</pingback:server>
      <pingback:target>http://www.edwardbakker.nl/PermaLink,guid,7f9d68ae-76fd-4b71-a688-482b2e8cc883.aspx</pingback:target>
      <dc:creator>Edward Bakker (Edward Bakker)</dc:creator>
      <wfw:comment>http://www.edwardbakker.nl/CommentView,guid,7f9d68ae-76fd-4b71-a688-482b2e8cc883.aspx</wfw:comment>
      <wfw:commentRss>http://www.edwardbakker.nl/SyndicationService.asmx/GetEntryCommentsRss?guid=7f9d68ae-76fd-4b71-a688-482b2e8cc883</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      A few days ago I was asked by one of my colleagues why I am spending a lot of my time
      experimenting with Visual Studio Team System 2010 (Team Architect), <a href="http://www.codeplex.com/blueprints">Blueprints</a>, <a href="http://www.codeplex.com/AppArchGuide">App
      Arch Guide</a> and Application Lifecycle Management (ALM) in general. He noticed me
      ‘living’ in VSTS 2010 CTP for some time now and he was wondering if it isn’t a bit
      too early for this and what I did to convice to management to let me do this. My immediate
      answer to this question was ‘No, it is not to early!’ and I explained that we (<a href="http://www.interaccess.nl/nl/Pages/default.aspx">Inter
      Access</a>) expect VS 2010 to help us optimizing our Application Lifecycle Management
      practice. This answer was a bit too vague for my colleague and of course the next
      question was how will we benefit *exactly* from investing in VSTS 2010 and ALM. Will
      it make our life easier?, will it makes us better people?, will it improve quality?,
      will it save us time?, will it save us money? 
   </p>
        <p>
      Exactly these same questions popup when discussing ALM with customers. Apparently
      making the business case for ALM (and/or VSTS licenses) isn’t always easy. How come? 
   </p>
        <p>
      From our experiences we learned that currently most people and organizations are relating
      ALM to their development activities (Software Development Lifecycle). Therefore it
      is only logical that this is the area where people are trying to identify their benefits
      (costs savings) from ALM. But is this correct? Is this focus too limited?  Shouldn’t
      we focus on more than only development when it comes to cost savings? Especially if
      we keep in mind that, on average, only 30% of the IT budget is spend on new application
      development (the remainder is spend on maintenance/operations)! 
   </p>
        <p>
      How come most of us still only focus on development? Is it because we still focus
      too much on the tools instead of facilitating collaboration between ‘Business’ ‘Development’
      and ‘Operations’? 
   </p>
        <p>
      Everybody experienced in VSTS 2005 and/or VSTS 2008 will come to the conclusion that
      these tools mainly focus on the different roles within the development team (developer,
      architect, project management). Source control, unit testing and quality assurance
      features of these products provide us with a professional development environment
      and help us improving the overall quality of the products that we deliver. Work item
      management, a centralized store, reports, portals, etc. improve the collaboration
      within the development team and support project management in tracking progress, staying
      in control and managing risks adequately. All of this is great and potentially boost
      the performance of the development teams but experience learns that these benefits
      don’t come ‘out of the box’! Installing the tools doesn’t make the development team
      collaborate by default and most certainly doesn’t stimulate collaboration with the
      Business and Operations! 
   </p>
        <p>
      Now we know where most of us focus on for their ALM related activities, let see how
      this relates to the complete application lifecycle. For this we will use an the graph
      below were the x-axis represents time and the y-axix represents value and negative
      value displayed as costs. 
   </p>
        <p>
        </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image002.gif">
            <img title="clip_image002" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="312" alt="clip_image002" src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image002_thumb.gif" width="452" border="0" />
          </a>
        </p>
        <p>
      Obviously the lifecycle of the application starts with its development. During this
      phase we have to make costs to design, develop and test the application. At that time
      the application doesn’t bring us (actually the business) any value and the complete
      development phase of the project only costs money. From the moment the application
      (parts of it?) are installed into production the appliaction starts to generate value
      till the moment it needs to phase out where it starts to cost money again. 
   </p>
        <p>
      What we see is, that most organizations are focusing on reducing the developments
      costs and (sometimes) try to shorten the time to market. Btw. it doesn’t come as a
      surprise that these are exactly the areas where the current releases of Visual Studio
      Team System focus on. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/3.png">
            <img title="clip_image004" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="312" alt="clip_image004" src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image004.gif" width="452" border="0" />
          </a>
        </p>
        <p>
      Reducing costs and make the application add value earlier is good but if we have a
      look at the image above we can see that the application lifecycle doesn’t end at the
      moment the application goes into production (where lifecycle line crosses x axis).
      So, wouldn’t it be great if our ALM practices help us optimize (reduce costs and/or
      increase value) during the remainder of the application lifecycle also? 
   </p>
        <p>
      For example, one of the things we can do to increase the business value is to practice
      a proper User Experience design (see <a href="http://bloggingabout.net/blogs/andries/archive/2009/02/10/why-is-user-experience-design-important.aspx">this
      post</a> of my colleague <a href="http://bloggingabout.net/blogs/andries/default.aspx">Andries</a> for
      more info on this). By taking ‘Operations’ into account during the design and development
      phase of the application we can reduce operations costs during the remainder of the
      lifecycle. These things combined will result in an application that is more successful
      for a longer period of time (because it adds more value and costs less to maintain).
      Also, because we have done a good job developing the application, we know exactly
      what it does, where it is interfacing with (something VSTA 2010 will help with) and
      most importantly when it stops adding value which will help reducing the ‘phase out
      costs’ of the application. 
   </p>
        <p>
      Adding this to the graphical representation of our application lifecycle results in
      a graph that looks like this. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/7.png">
            <img title="clip_image006" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="314" alt="clip_image006" src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image006.gif" width="452" border="0" />
          </a>
        </p>
        <p>
      Based on this, we can now draw our new  application lifecycle which might looks
      something like this (dotted line is new lifecycle). 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/8.png">
            <img title="clip_image008" style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height="312" alt="clip_image008" src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image008.gif" width="452" border="0" />
          </a>
        </p>
        <p>
      The good news is that the green area between the ‘old’ and ‘new’ lifecycle is the
      area were we can make money by adding extra value. The red colored areas is the place
      where we can make money by reducing costs. Doesn’t that look great??? 
   </p>
        <p>
          <em>Please note that ‘Reduce operations costs’ might be misunderstood from this graph.
      We don’t mean less value but less costs. I didn’t know how to display this correctly
      :-) </em>
        </p>
        <p>
      Of course, all of these things don’t come by itself. We have to actually work for
      that to make that happen and we can’t do everything at once. In this post I am not
      going to detail all the steps that we can do to make that happen and where we can
      use the current or future tooling for. However, hopefully this last image makes it
      very clear that there are others areas, besides development, within the application
      lifecycle where we can either reduce costs or increase value. So, if anybody aks you
      why they should invest in ALM this image should give you a starting point for your
      discussion… 
   </p>
        <p>
      At least, it *did* help me explain why I should spend my time on ALM and experimenting
      with VSTS 2010, <a href="http://www.codeplex.com/blueprints">Blueprints</a> and <a href="http://www.codeplex.com/AppArchGuide">App
      Arch Guide</a> :-) 
   </p>
        <p>
        
   </p>
        <p>
       
   </p>
        <img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=7f9d68ae-76fd-4b71-a688-482b2e8cc883" />
      </body>
      <title>Making money with Application Lifecycle Management</title>
      <guid>http://www.edwardbakker.nl/PermaLink,guid,7f9d68ae-76fd-4b71-a688-482b2e8cc883.aspx</guid>
      <link>http://www.edwardbakker.nl/PermaLink,guid,7f9d68ae-76fd-4b71-a688-482b2e8cc883.aspx</link>
      <pubDate>Fri, 20 Feb 2009 21:26:33 GMT</pubDate>
      <description>&lt;p&gt;
   A few days ago I was asked by one of my colleagues why I am spending a lot of my time
   experimenting with Visual Studio Team System 2010 (Team Architect), &lt;a href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt;, &lt;a href="http://www.codeplex.com/AppArchGuide"&gt;App
   Arch Guide&lt;/a&gt; and Application Lifecycle Management (ALM) in general. He noticed me
   ‘living’ in VSTS 2010 CTP for some time now and he was wondering if it isn’t a bit
   too early for this and what I did to convice to management to let me do this. My immediate
   answer to this question was ‘No, it is not to early!’ and I explained that we (&lt;a href="http://www.interaccess.nl/nl/Pages/default.aspx"&gt;Inter
   Access&lt;/a&gt;) expect VS 2010 to help us optimizing our Application Lifecycle Management
   practice. This answer was a bit too vague for my colleague and of course the next
   question was how will we benefit *exactly* from investing in VSTS 2010 and ALM. Will
   it make our life easier?, will it makes us better people?, will it improve quality?,
   will it save us time?, will it save us money? 
&lt;p&gt;
   Exactly these same questions popup when discussing ALM with customers. Apparently
   making the business case for ALM (and/or VSTS licenses) isn’t always easy. How come? 
&lt;p&gt;
   From our experiences we learned that currently most people and organizations are relating
   ALM to their development activities (Software Development Lifecycle). Therefore it
   is only logical that this is the area where people are trying to identify their benefits
   (costs savings) from ALM. But is this correct? Is this focus too limited?&amp;nbsp; Shouldn’t
   we focus on more than only development when it comes to cost savings? Especially if
   we keep in mind that, on average, only 30% of the IT budget is spend on new application
   development (the remainder is spend on maintenance/operations)! 
&lt;p&gt;
   How come most of us still only focus on development? Is it because we still focus
   too much on the tools instead of facilitating collaboration between ‘Business’ ‘Development’
   and ‘Operations’? 
&lt;p&gt;
   Everybody experienced in VSTS 2005 and/or VSTS 2008 will come to the conclusion that
   these tools mainly focus on the different roles within the development team (developer,
   architect, project management). Source control, unit testing and quality assurance
   features of these products provide us with a professional development environment
   and help us improving the overall quality of the products that we deliver. Work item
   management, a centralized store, reports, portals, etc. improve the collaboration
   within the development team and support project management in tracking progress, staying
   in control and managing risks adequately. All of this is great and potentially boost
   the performance of the development teams but experience learns that these benefits
   don’t come ‘out of the box’! Installing the tools doesn’t make the development team
   collaborate by default and most certainly doesn’t stimulate collaboration with the
   Business and Operations! 
&lt;p&gt;
   Now we know where most of us focus on for their ALM related activities, let see how
   this relates to the complete application lifecycle. For this we will use an the graph
   below were the x-axis represents time and the y-axix represents value and negative
   value displayed as costs. 
&lt;p&gt;
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image002.gif"&gt;&lt;img title=clip_image002 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=312 alt=clip_image002 src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image002_thumb.gif" width=452 border=0&gt;&lt;/a&gt; 
&lt;p&gt;
   Obviously the lifecycle of the application starts with its development. During this
   phase we have to make costs to design, develop and test the application. At that time
   the application doesn’t bring us (actually the business) any value and the complete
   development phase of the project only costs money. From the moment the application
   (parts of it?) are installed into production the appliaction starts to generate value
   till the moment it needs to phase out where it starts to cost money again. 
&lt;p&gt;
   What we see is, that most organizations are focusing on reducing the developments
   costs and (sometimes) try to shorten the time to market. Btw. it doesn’t come as a
   surprise that these are exactly the areas where the current releases of Visual Studio
   Team System focus on. 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/3.png"&gt;&lt;img title=clip_image004 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=312 alt=clip_image004 src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image004.gif" width=452 border=0&gt;&lt;/a&gt; 
&lt;p&gt;
   Reducing costs and make the application add value earlier is good but if we have a
   look at the image above we can see that the application lifecycle doesn’t end at the
   moment the application goes into production (where lifecycle line crosses x axis).
   So, wouldn’t it be great if our ALM practices help us optimize (reduce costs and/or
   increase value) during the remainder of the application lifecycle also? 
&lt;p&gt;
   For example, one of the things we can do to increase the business value is to practice
   a proper User Experience design (see &lt;a href="http://bloggingabout.net/blogs/andries/archive/2009/02/10/why-is-user-experience-design-important.aspx"&gt;this
   post&lt;/a&gt; of my colleague &lt;a href="http://bloggingabout.net/blogs/andries/default.aspx"&gt;Andries&lt;/a&gt; for
   more info on this). By taking ‘Operations’ into account during the design and development
   phase of the application we can reduce operations costs during the remainder of the
   lifecycle. These things combined will result in an application that is more successful
   for a longer period of time (because it adds more value and costs less to maintain).
   Also, because we have done a good job developing the application, we know exactly
   what it does, where it is interfacing with (something VSTA 2010 will help with) and
   most importantly when it stops adding value which will help reducing the ‘phase out
   costs’ of the application. 
&lt;p&gt;
   Adding this to the graphical representation of our application lifecycle results in
   a graph that looks like this. 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/7.png"&gt;&lt;img title=clip_image006 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=314 alt=clip_image006 src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image006.gif" width=452 border=0&gt;&lt;/a&gt; 
&lt;p&gt;
   Based on this, we can now draw our new&amp;nbsp; application lifecycle which might looks
   something like this (dotted line is new lifecycle). 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/8.png"&gt;&lt;img title=clip_image008 style="BORDER-TOP-WIDTH: 0px; DISPLAY: inline; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=312 alt=clip_image008 src="http://www.edwardbakker.nl/content/binary/483b8e211fb0_F0F4/clip_image008.gif" width=452 border=0&gt;&lt;/a&gt; 
&lt;p&gt;
   The good news is that the green area between the ‘old’ and ‘new’ lifecycle is the
   area were we can make money by adding extra value. The red colored areas is the place
   where we can make money by reducing costs. Doesn’t that look great??? 
&lt;p&gt;
   &lt;em&gt;Please note that ‘Reduce operations costs’ might be misunderstood from this graph.
   We don’t mean less value but less costs. I didn’t know how to display this correctly
   :-) &lt;/em&gt; 
&lt;p&gt;
   Of course, all of these things don’t come by itself. We have to actually work for
   that to make that happen and we can’t do everything at once. In this post I am not
   going to detail all the steps that we can do to make that happen and where we can
   use the current or future tooling for. However, hopefully this last image makes it
   very clear that there are others areas, besides development, within the application
   lifecycle where we can either reduce costs or increase value. So, if anybody aks you
   why they should invest in ALM this image should give you a starting point for your
   discussion… 
&lt;p&gt;
   At least, it *did* help me explain why I should spend my time on ALM and experimenting
   with VSTS 2010, &lt;a href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt; and &lt;a href="http://www.codeplex.com/AppArchGuide"&gt;App
   Arch Guide&lt;/a&gt; :-) 
&lt;p&gt;
   &amp;nbsp; 
&lt;p&gt;
   &amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=7f9d68ae-76fd-4b71-a688-482b2e8cc883" /&gt;</description>
      <comments>http://www.edwardbakker.nl/CommentView,guid,7f9d68ae-76fd-4b71-a688-482b2e8cc883.aspx</comments>
      <category>ALM;Application Lifecycle Managment;VSTS 2010</category>
    </item>
    <item>
      <trackback:ping>http://www.edwardbakker.nl/Trackback.aspx?guid=e8551df6-102b-4477-bb38-69fddbef32a8</trackback:ping>
      <pingback:server>http://www.edwardbakker.nl/pingback.aspx</pingback:server>
      <pingback:target>http://www.edwardbakker.nl/PermaLink,guid,e8551df6-102b-4477-bb38-69fddbef32a8.aspx</pingback:target>
      <dc:creator>Edward Bakker (Edward Bakker)</dc:creator>
      <wfw:comment>http://www.edwardbakker.nl/CommentView,guid,e8551df6-102b-4477-bb38-69fddbef32a8.aspx</wfw:comment>
      <wfw:commentRss>http://www.edwardbakker.nl/SyndicationService.asmx/GetEntryCommentsRss?guid=e8551df6-102b-4477-bb38-69fddbef32a8</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      In a <a href="http://clemensreijnen.nl/post/The-VSTA-Layer-Diagram-and-the-P5eP-App-Arch-Guide-20.aspx">previous
      post</a> we already mentioned <a href="http://www.codeplex.com/blueprints">Blueprints</a> as
      a means for integrating architectural guidance from the <a href="http://www.codeplex.com/AppArchGuide">p&amp;p
      App Arch Guide</a> in the VS2010 IDE. Clemens already <a href="http://clemensreijnen.nl/post/Getting-App-Arch-Guid-Knowledge-in-VSTS2010-e28093-Part3-Create-Diagrams-from-Code.aspx">mentioned</a> how
      we can capture some of this knowledge in an item template and use the <a href="http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.templatewizard.iwizard(VS.80).aspx">IWizard</a> interface
      to populate the diagram. Now, let’s see how we can use Item Templates in a slightly
      different way and use them in a Blueprint to unfold a predefined architecture (Layering
      Diagram) in VS2010. 
   </p>
        <p>
      The first step is to capture the architectural guidance in a Layering Diagram that
      we can reuse. To do this we can we create a new Modeling project and add a Layering
      Diagram to this project. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/AddTemplate.png">
            <img title="AddTemplate" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="340" alt="AddTemplate" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/AddTemplate_thumb.png" width="558" border="0" />
          </a>
        </p>
        <p>
      In this diagram we can model all layers, dependencies, etc. to make it reflect our
      architectural guidance. Once we are done it might look something like this. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Predefined.png">
            <img title="Predefined" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="386" alt="Predefined" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Predefined_thumb.png" width="631" border="0" />
          </a>
        </p>
        <p>
      To make this diagram reusable we have to create an Item Template for it. Unfortunately
      VS2010 doesn’t let us select the layering diagram in the Export Template Wizard so
      we have to manually create an item template for our layering diagram. The easiest
      way to do this is to create an Item Template for another file type (i.e. C# class)
      and modify the ‘MyTemplate.vstempate’ file in the .zip file that VS2010 generates
      and add the two diagram files (.layer and .layer.diagram) to the .zip file. The modified
      MyTemplate.vstemplate file should look something like this. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/VSTemplate.png">
            <img title="VSTemplate" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="201" alt="VSTemplate" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/VSTemplate_thumb.png" width="989" border="0" />
          </a>
        </p>
        <p>
      Now we are done creating a reusable layering diagram we can integrate this with a
      Blueprint. (of course we can create more item templates for other architectures defined
      in the p&amp;p App Arch Guide) 
   </p>
        <p>
      In this post we will not explain how to create a Blueprint from scratch but this is
      pretty easy. Especially after watching the <a href="http://channel9.msdn.com/Niners/Michael%20Lehman/">How
      To videos</a>. Once we have created our Blueprint we can use a Workflow Foundation
      based workflow to actually add our predefined layering diagram to our solution. 
   </p>
        <p>
      To do this, we first have to add a Workflow Command to our Blueprint (<a href="http://channel9.msdn.com/posts/MichaelLehman/Authoring-Blueprints-Custom-Command-Extensions-using-Window-Workflow-WF/">screen
      cast</a> for more details) that will enable our Blueprint users add a layering diagram
      to their solution. The documentation that comes with the Blueprint Workflow Command
      provide us with the code we need to execute a workflow. However, this code assumes
      we are executing a ‘XOML only’ workflow. In our case we choose to use a codebehind
      for our workflow so therefor we use the ‘ExecuteWorkFlow’ method instead of the ‘ExecuteXomlWorkflow’
      method. The code in your command might look like this (added some hardcoded paths
      instead of calls to helper class to get the correct paths). 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Code.png">
            <img title="Code" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="197" alt="Code" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Code_thumb.png" width="1008" border="0" />
          </a>
        </p>
        <p>
      Now that we have the command in place we have to create the actual workflow that we
      execute from the command. After installing Blueprints we get a few extra activities
      that we can use in the workflows in our Blueprint. Below we can see how this workflow
      might look like. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Workflow.png">
            <img title="Workflow" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="667" alt="Workflow" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Workflow_thumb.png" width="418" border="0" />
          </a>
        </p>
        <p>
      The ‘ShowDialog’ activity in this workflow is a normal ‘Code’ activity that in this
      case shows the (very simple) dialog that is displayed below. This dialog lets the
      user select the architecture that will be used in his solution. 
   </p>
        <p>
          <a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Dialog.png">
            <img title="Dialog" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="231" alt="Dialog" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Dialog_thumb.png" width="417" border="0" />
          </a>
        </p>
        <p>
      Once the architecture is selected, the workflow continues with the ‘CheckProjectExists’
      activity. This Blueprint specific activity checks if the current solution contains
      a ‘Modeling project’ with the name ‘Architecture’ (I am sure you can come up with
      a better name ;)). If not, the project is created. After that the ‘AddLayeringTemplate’
      activity is executed to actually unfold the selected item template that will add the
      predefined layering diagram to our modeling project in our solution. 
   </p>
        <p>
      In this post we deliberately left out some implementation details that you might need
      to implement this yourself. However, hopefully it does explain the basic scenario
      of how to add some architectural guidance from <a href="http://www.codeplex.com/AppArchGuide">p&amp;p
      App Arch Guide</a> by using <a href="http://www.codeplex.com/blueprints">Blueprints</a> and
      VS2010 Layering diagrams. In future posts we will ellaborate on this scenario, share
      some more technical details and eventually might even end up with a working solution
      that we can share :-). <img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=e8551df6-102b-4477-bb38-69fddbef32a8" /></p>
      </body>
      <title>Integrating Blueprints, Layering Diagrams and Architecture Guide</title>
      <guid>http://www.edwardbakker.nl/PermaLink,guid,e8551df6-102b-4477-bb38-69fddbef32a8.aspx</guid>
      <link>http://www.edwardbakker.nl/PermaLink,guid,e8551df6-102b-4477-bb38-69fddbef32a8.aspx</link>
      <pubDate>Wed, 07 Jan 2009 13:20:17 GMT</pubDate>
      <description>&lt;p&gt;
   In a &lt;a href="http://clemensreijnen.nl/post/The-VSTA-Layer-Diagram-and-the-P5eP-App-Arch-Guide-20.aspx"&gt;previous
   post&lt;/a&gt; we already mentioned &lt;a href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt; as
   a means for integrating architectural guidance from the &lt;a href="http://www.codeplex.com/AppArchGuide"&gt;p&amp;amp;p
   App Arch Guide&lt;/a&gt; in the VS2010 IDE. Clemens already &lt;a href="http://clemensreijnen.nl/post/Getting-App-Arch-Guid-Knowledge-in-VSTS2010-e28093-Part3-Create-Diagrams-from-Code.aspx"&gt;mentioned&lt;/a&gt; how
   we can capture some of this knowledge in an item template and use the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.templatewizard.iwizard(VS.80).aspx"&gt;IWizard&lt;/a&gt; interface
   to populate the diagram. Now, let’s see how we can use Item Templates in a slightly
   different way and use them in a Blueprint to unfold a predefined architecture (Layering
   Diagram) in VS2010. 
&lt;p&gt;
   The first step is to capture the architectural guidance in a Layering Diagram that
   we can reuse. To do this we can we create a new Modeling project and add a Layering
   Diagram to this project. 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/AddTemplate.png"&gt;&lt;img title="AddTemplate" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="340" alt="AddTemplate" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/AddTemplate_thumb.png" width="558" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
   In this diagram we can model all layers, dependencies, etc. to make it reflect our
   architectural guidance. Once we are done it might look something like this. 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Predefined.png"&gt;&lt;img title="Predefined" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="386" alt="Predefined" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Predefined_thumb.png" width="631" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
   To make this diagram reusable we have to create an Item Template for it. Unfortunately
   VS2010 doesn’t let us select the layering diagram in the Export Template Wizard so
   we have to manually create an item template for our layering diagram. The easiest
   way to do this is to create an Item Template for another file type (i.e. C# class)
   and modify the ‘MyTemplate.vstempate’ file in the .zip file that VS2010 generates
   and add the two diagram files (.layer and .layer.diagram) to the .zip file. The modified
   MyTemplate.vstemplate file should look something like this. 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/VSTemplate.png"&gt;&lt;img title="VSTemplate" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="201" alt="VSTemplate" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/VSTemplate_thumb.png" width="989" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
   Now we are done creating a reusable layering diagram we can integrate this with a
   Blueprint. (of course we can create more item templates for other architectures defined
   in the p&amp;amp;p App Arch Guide) 
&lt;p&gt;
   In this post we will not explain how to create a Blueprint from scratch but this is
   pretty easy. Especially after watching the &lt;a href="http://channel9.msdn.com/Niners/Michael%20Lehman/"&gt;How
   To videos&lt;/a&gt;. Once we have created our Blueprint we can use a Workflow Foundation
   based workflow to actually add our predefined layering diagram to our solution. 
&lt;p&gt;
   To do this, we first have to add a Workflow Command to our Blueprint (&lt;a href="http://channel9.msdn.com/posts/MichaelLehman/Authoring-Blueprints-Custom-Command-Extensions-using-Window-Workflow-WF/"&gt;screen
   cast&lt;/a&gt; for more details) that will enable our Blueprint users add a layering diagram
   to their solution. The documentation that comes with the Blueprint Workflow Command
   provide us with the code we need to execute a workflow. However, this code assumes
   we are executing a ‘XOML only’ workflow. In our case we choose to use a codebehind
   for our workflow so therefor we use the ‘ExecuteWorkFlow’ method instead of the ‘ExecuteXomlWorkflow’
   method. The code in your command might look like this (added some hardcoded paths
   instead of calls to helper class to get the correct paths). 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Code.png"&gt;&lt;img title="Code" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="197" alt="Code" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Code_thumb.png" width="1008" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
   Now that we have the command in place we have to create the actual workflow that we
   execute from the command. After installing Blueprints we get a few extra activities
   that we can use in the workflows in our Blueprint. Below we can see how this workflow
   might look like. 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Workflow.png"&gt;&lt;img title="Workflow" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="667" alt="Workflow" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Workflow_thumb.png" width="418" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
   The ‘ShowDialog’ activity in this workflow is a normal ‘Code’ activity that in this
   case shows the (very simple) dialog that is displayed below. This dialog lets the
   user select the architecture that will be used in his solution. 
&lt;p&gt;
   &lt;a href="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Dialog.png"&gt;&lt;img title="Dialog" style="border-top-width: 0px; display: inline; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="231" alt="Dialog" src="http://www.edwardbakker.nl/content/binary/IntegratingBlueprintsLayeringDiagramsand_8F8A/Dialog_thumb.png" width="417" border="0"&gt;&lt;/a&gt; 
&lt;p&gt;
   Once the architecture is selected, the workflow continues with the ‘CheckProjectExists’
   activity. This Blueprint specific activity checks if the current solution contains
   a ‘Modeling project’ with the name ‘Architecture’ (I am sure you can come up with
   a better name ;)). If not, the project is created. After that the ‘AddLayeringTemplate’
   activity is executed to actually unfold the selected item template that will add the
   predefined layering diagram to our modeling project in our solution. 
&lt;p&gt;
   In this post we deliberately left out some implementation details that you might need
   to implement this yourself. However, hopefully it does explain the basic scenario
   of how to add some architectural guidance from &lt;a href="http://www.codeplex.com/AppArchGuide"&gt;p&amp;amp;p
   App Arch Guide&lt;/a&gt; by using &lt;a href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt; and
   VS2010 Layering diagrams. In future posts we will ellaborate on this scenario, share
   some more technical details and eventually might even end up with a working solution
   that we can share :-). &lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=e8551df6-102b-4477-bb38-69fddbef32a8" /&gt;</description>
      <comments>http://www.edwardbakker.nl/CommentView,guid,e8551df6-102b-4477-bb38-69fddbef32a8.aspx</comments>
      <category>Blueprints;ALM;Architectural Guidance</category>
    </item>
    <item>
      <trackback:ping>http://www.edwardbakker.nl/Trackback.aspx?guid=f9693cff-97a4-4e40-8eea-b944c3b62eef</trackback:ping>
      <pingback:server>http://www.edwardbakker.nl/pingback.aspx</pingback:server>
      <pingback:target>http://www.edwardbakker.nl/PermaLink,guid,f9693cff-97a4-4e40-8eea-b944c3b62eef.aspx</pingback:target>
      <dc:creator>Edward Bakker (Edward Bakker)</dc:creator>
      <wfw:comment>http://www.edwardbakker.nl/CommentView,guid,f9693cff-97a4-4e40-8eea-b944c3b62eef.aspx</wfw:comment>
      <wfw:commentRss>http://www.edwardbakker.nl/SyndicationService.asmx/GetEntryCommentsRss?guid=f9693cff-97a4-4e40-8eea-b944c3b62eef</wfw:commentRss>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
      For some (experimental) work that I am currently doing with <a href="http://clemensreijnen.nl/">Clemens</a> we
      needed a version of <a href="http://www.codeplex.com/blueprints">Blueprints</a> that
      installs on the current <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;displaylang=en">VS
      2010 CTP</a>. I am sure every developer already knows how to modify an .MSI package
      by using ‘Orca’ (part of Windows SDK) so I am not going to explain in detail how to
      do that. However, the good news is, that if we open the <a href="http://www.codeplex.com/blueprints/Release/ProjectReleases.aspx?ReleaseId=20784">Blueprints
      2.1.2 CTP</a> in Orca, replace every occurrence of ‘Visual Studio 9.0’ by ‘Visual
      Studio 10.0’ and save it again we are good to go. No other changes needed. The modified
      installer runs without issues on <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;displaylang=en">VS
      2010 CTP</a> and so far we haven’t found any problems with Blueprints on VS 2010. 
   </p>
        <p>
      If you are interested in the work we are doing, I suggest to go read an <a href="http://www.clemensreijnen.nl/post/The-VSTA-Layer-Diagram-and-the-P5eP-App-Arch-Guide-20.aspx">introductional
      post</a> that <a href="http://www.clemensreijnen.nl/">Clemens</a> just posted which
      describes some early ideas. Expect some more details in the next coming days, weeks,
      months on both <a href="http://www.clemensreijnen.nl/">Clemens</a> blog and/or this
      one. 
   </p>
        <img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=f9693cff-97a4-4e40-8eea-b944c3b62eef" />
      </body>
      <title>Blueprints: Visual Studio 2010 CTP</title>
      <guid>http://www.edwardbakker.nl/PermaLink,guid,f9693cff-97a4-4e40-8eea-b944c3b62eef.aspx</guid>
      <link>http://www.edwardbakker.nl/PermaLink,guid,f9693cff-97a4-4e40-8eea-b944c3b62eef.aspx</link>
      <pubDate>Tue, 23 Dec 2008 20:58:40 GMT</pubDate>
      <description>&lt;p&gt;
   For some (experimental) work that I am currently doing with &lt;a href="http://clemensreijnen.nl/"&gt;Clemens&lt;/a&gt; we
   needed a version of &lt;a href="http://www.codeplex.com/blueprints"&gt;Blueprints&lt;/a&gt; that
   installs on the current &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;amp;displaylang=en"&gt;VS
   2010 CTP&lt;/a&gt;. I am sure every developer already knows how to modify an .MSI package
   by using ‘Orca’ (part of Windows SDK) so I am not going to explain in detail how to
   do that. However, the good news is, that if we open the &lt;a href="http://www.codeplex.com/blueprints/Release/ProjectReleases.aspx?ReleaseId=20784"&gt;Blueprints
   2.1.2 CTP&lt;/a&gt; in Orca, replace every occurrence of ‘Visual Studio 9.0’ by ‘Visual
   Studio 10.0’ and save it again we are good to go. No other changes needed. The modified
   installer runs without issues on &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=922B4655-93D0-4476-BDA4-94CF5F8D4814&amp;amp;displaylang=en"&gt;VS
   2010 CTP&lt;/a&gt; and so far we haven’t found any problems with Blueprints on VS 2010. 
&lt;p&gt;
   If you are interested in the work we are doing, I suggest to go read an &lt;a href="http://www.clemensreijnen.nl/post/The-VSTA-Layer-Diagram-and-the-P5eP-App-Arch-Guide-20.aspx"&gt;introductional
   post&lt;/a&gt; that &lt;a href="http://www.clemensreijnen.nl/"&gt;Clemens&lt;/a&gt; just posted which
   describes some early ideas. Expect some more details in the next coming days, weeks,
   months on both &lt;a href="http://www.clemensreijnen.nl/"&gt;Clemens&lt;/a&gt; blog and/or this
   one. 
&lt;/p&gt;
&lt;img width="0" height="0" src="http://www.edwardbakker.nl/aggbug.ashx?id=f9693cff-97a4-4e40-8eea-b944c3b62eef" /&gt;</description>
      <comments>http://www.edwardbakker.nl/CommentView,guid,f9693cff-97a4-4e40-8eea-b944c3b62eef.aspx</comments>
      <category>Blueprints;VSTA;ALM</category>
    </item>
  </channel>
</rss>