﻿<?xml version="1.0" encoding="UTF-8"?>
<!--RSS generated by Windows SharePoint Services V3 RSS Generator on 9/8/2010 10:30:04 PM-->
<?xml-stylesheet type="text/xsl" href="/Blogs/AQ/_layouts/RssXslt.aspx?List=71ced1e4-d1b5-4ce4-9cb7-209f38df315a" version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Aamir Qureshi's Blog: Agile Posts</title>
    <link>http://www.agileconcepts.com/Blogs/AQ/Lists/Posts/AllPosts.aspx</link>
    <description>RSS feed for the Agile Posts list.</description>
    <copyright>Agile Concepts 2009 - All Rights Reserved</copyright>
    <managingEditor>Aamir Qureshi</managingEditor>
    <webMaster>Aamir Qureshi</webMaster>
    <lastBuildDate>Thu, 09 Sep 2010 02:30:04 GMT</lastBuildDate>
    <generator>Windows SharePoint Services V3 RSS Generator</generator>
    <ttl>60</ttl>
    <image>
      <title>Aamir Qureshi's Blog: Agile Posts</title>
      <url>/Blogs/AQ/_layouts/images/homepage.gif</url>
      <link>http://www.agileconcepts.com/Blogs/AQ/Lists/Posts/AllPosts.aspx</link>
    </image>
    <item>
      <title>SharePoint QA/Code Testing – Six failure point</title>
      <link>http://www.agileconcepts.com/Blogs/AQ/Lists/Posts/ViewPost.aspx?ID=43</link>
      <description><![CDATA[<div><b>Body:</b> <div class=ExternalClassEFFD0A6C9AE14AAD93E5142B0660125F>
<p style="margin:0in 0in 0pt 0.25in" class=MsoNormal><span style="font-size:8pt">Six most common failure points;</span></p>
<p style="margin:0in 0in 0pt 0.25in" class=MsoNormal><span style="font-size:8pt"></span> </p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpFirst><span style="font-size:8pt"><span>1.<span style="font:7pt 'Times New Roman'">     </span></span></span><span style="font-size:8pt"><strong>Development Environment</strong>: Developer's machines are first configured by the developer, then the developer writes a solution to mimic those settings. You then install the solution in a clean environment where the developer has now access.<span>  </span>The developer will &quot;fix&quot; an issue, and you won't be able to duplicate the problem.</span></p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpFirst><span style="font-size:8pt"></span> </p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpMiddle><span style="font-size:8pt"><span>2.<span style="font:7pt 'Times New Roman'">     </span></span></span><span style="font-size:8pt"><strong>SharePoint solutions are not </strong><u><strong>safe</strong>:</u><span>  </span>The box administrator will install the solution (and feature) using a name and not a GUID.<span>  </span>This means there is no way to <u>version</u> solutions.<span>  </span>Now let's say a solution contained a DLL that was installed by some other solution, the last DLL will win.<span>  </span>IT also means that if the box admin removes the first solution, SharePoint will remove the DLL that both applications are using.<span>  </span>In a nut shell, even though we write code that is signed and safe - SharePoint doesn't adhere to this model when it comes to a solution.</span></p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpMiddle><span style="font-size:8pt"></span> </p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpMiddle><span style="font-size:8pt"><span>3.<span style="font:7pt 'Times New Roman'">     </span></span></span><span style="font-size:8pt"><strong>The human element</strong>:<span>  </span>There are numerous ways to deploy solutions.<span>  </span>You'll do best by simplifying the process and deploy the same way every single time.<span>  </span>Any documentation at all is a failure point.<span>  </span>Having to assign tasks to multiple individuals is a failure point.<span>  </span>Installation documentation should really come down to &quot;run install&quot; and not much else.<span>  </span>Operations folks are intelligent people, however their time is best suited to keeping the portal working and not understanding the nuances between installing this feature vs. another one.</span></p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpMiddle><span style="font-size:8pt"></span> </p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpMiddle><span style="font-size:8pt"><span>4.<span style="font:7pt 'Times New Roman'">     </span></span></span><span style="font-size:8pt"><strong>Rushing</strong>:<span>  </span>This is really the human element again.<span>  </span>A developer will make a very minor change (like the name of a web part) and say, &quot;build it again.<span>  </span>I fixed a typo&quot;.<span>  </span>The PM is pushing to get into the test environment in an hour, so the tester asks, &quot;all you changed was some text?&quot;.<span>  </span>The developer says &quot;yes&quot;, so the green light is given but the install fails.<span>  </span>Why because the developer remembered to change the manifest to point to the new web part name, but he forgot to change it in the feature receiver, or whatever...<span>  </span>Could be a million things.<span>  </span>Simple changes can be more complicated then they look.</span></p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpMiddle><span style="font-size:8pt"></span> </p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpMiddle><span style="font-size:8pt"><span>5.<span style="font:7pt 'Times New Roman'">     </span></span></span><span style="font-size:8pt"><strong>Solution files are fragile</strong>:<span>  </span>A change in the code, or even to the structure of the web site can keep a solution from deploying properly. There is no developer tool showing what the solution is going to do.<span>  </span>The only thing developers can do is test it out. It can be very tough to know if the latest version of the solution is working or not, especially since developers rarely wipe their boxes clean in between each install.<span>  </span>It is really test's responsibility to verify that the solution works (In an upgrade situation, fresh install, or in the production environment as it is configured today).</span></p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpMiddle><span style="font-size:8pt"></span> </p>
<p style="text-indent:-0.25in;margin:0in 0in 0pt 0.5in" class=MsoListParagraphCxSpLast><span style="font-size:8pt"><span>6.<span style="font:7pt 'Times New Roman'">     </span></span></span><span style="font-size:8pt"><strong>Multiple Web Front Ends (WFE)</strong>:<span>  </span>Your environment hosted will contain multiple WFEs, it is not uncommon that the code or deployment process will fail when multiple WFEs are in a farm. Ensure you do at least one pass against a farm configuration with two WFEs</span></p><span style="font-size:8pt">
<p style="margin:0in 0in 0pt" class=MsoNormal><font size=2></font> </p>
<p style="margin:0in 0in 0pt" class=MsoNormal><font color="#808080" size=1>Curtsey of unknown original source </font></p></span></div></div>
<div><b>Tags:</b> Best Practices;Deployment;Development;Error Troubleshooting;Governance;Migration Upgrade;Organizational Behavior;Software Updates</div>
<div><b>Published:</b> 3/8/2010 10:03 PM</div>
]]></description>
      <author>Aamir M. Qureshi</author>
      <category>Best Practices;Deployment;Development;Error Troubleshooting;Governance;Migration Upgrade;Organizational Behavior;Software Updates</category>
      <pubDate>Tue, 09 Mar 2010 03:07:21 GMT</pubDate>
      <guid isPermaLink="true">http://www.agileconcepts.com/Blogs/AQ/Lists/Posts/ViewPost.aspx?ID=43</guid>
    </item>
  </channel>
</rss>