Processs http://rickgaribay.net/category/3.aspx Processs en-US Rick G. Garibay rickgaribay@hotmail.com Subtext Version 1.9.5.176 On Sprint Duration http://rickgaribay.net/archive/2013/09/10/on-sprint-duration.aspx <p><font size="2">I recently had a good internal discussion on 2 week versus 3 week sprints getting ready to kick off a new project for a client.</font></p> <p><font size="2">This is a debate that's been happening in the agile community for well over a decade, and while there is now broad consensus 10 years later that 4 weeks is almost always highly undesirable, the thing to remember is that the quality, caliber and discipline of the team is absolutely essential regardless of sprint duration.</font></p> <p> <br /><strong><font size="2">I Just Want to Dance!</font></strong></p> <p><font size="2">The most common argument against two week sprints is that the planning ceremonies occupy too much time and effectively reduce the team's delivery time from 10 days to less than 8. This is true for severely under-performing teams. High performing teams should be able to land demo and retro in one day and planning in as little as half a day. If the only time a team communicates is during these ceremonies, the time will drag on even further. </font></p> <p><font size="2">Performing teams communicate and practice dress rehearsals of demos, have a backlog groomed and ready to go and in some cases, might even have stories already decomposed and ready to go (signaling strong alignment with business prioritization).  <br /></font></p> <p><strong><font size="2">Deployment Happens</font></strong></p> <p><font size="2">The other common argument is that deployment time cuts further into delivery time, and now that 8 days is more like 7 days because it takes a day to deploy. This is true of teams that are practitioners of </font><a href="http://en.wikipedia.org/wiki/Cargo_cult_science"><font size="2">cargo cult agile development</font></a><font size="2">. If you don't have unit tests and automated builds in place, you _will_ feel pain each and every sprint. <br /></font></p> <p><strong><font size="2">Snake Oil</font></strong></p> <p><font size="2">One solution to this dilemma that sometimes comes up is to start with say 3 week sprints and then, when the team has "earned" 2 week sprints, reduce the sprint time accordingly. This is an anti-pattern for the simple reason that you can't improve what you can't measure and if you go around changing sprint duration, velocity becomes corrupt. This means that your ability to predict future velocity is severely impeded which affects budget, staffing and obviously has schedule implications. <br /></font></p> <p><strong><font size="2">Why Two Week Sprints Work</font></strong></p> <p><font size="2">Two week sprints are highly advantageous when you have a high degree of risk and delivering new innovation because they provide tighter intervals with which to adapt and adjust. While 3 week sprints can be successful, most often they are merely masking the lack of efficiency of the team and providing a fig leaf to hide behind- in my experience in almost every case, you will find that productive, heads down time turns out to still be just under 2 weeks!</font></p> <p><font size="2">When building a team, you should settle for no less than A-Team players that are going to kick ass and take names from day one. If you do the heavily lifting to invest in building the right team, the sprint duration won't matter nearly as much, but if you are not committed to this from day zero, no amount of sprint duration optimization will save you from failure.</font></p> <p><font size="2"></font></p><img src="http://rickgaribay.net/aggbug/358.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2013/09/10/on-sprint-duration.aspx Wed, 11 Sep 2013 00:21:18 GMT http://rickgaribay.net/archive/2013/09/10/on-sprint-duration.aspx#feedback http://rickgaribay.net/comments/commentRss/358.aspx http://rickgaribay.net/services/trackbacks/358.aspx Visual Studio 2010 Ultimate Event Content Download http://rickgaribay.net/archive/2010/03/13/visual-studio-2010-ultimate-event-content-download.aspx <p>Thanks to all who came out to the event in Phoenix, Salt Lake City &amp; Las Vegas. We had a great turnout at all events with great questions and discussions.</p> <p>Remember that the conversation continues on <a target="_blank" href="http://twitter.com/#search?q=%23vs2010phx">twitter</a>. <a target="_blank" href="http://twitter.com/#search?q=%23vs2010slc"><img style="BORDER-RIGHT-WIDTH: 0px; DISPLAY: inline; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN-LEFT: 0px; BORDER-LEFT-WIDTH: 0px; MARGIN-RIGHT: 0px" title="image" border="0" alt="image" align="right" width="240" height="162" src="http://rickgaribay.net/Images/CustomContent/VisualStudio2010UltimateEventSaltLakeCit_8195/image_4.png" /></a> </p> <p>If you attended the event and have a question or comment for any of the presenters, use the following hashtags: </p> <ul> <li>Phoenix: #vs2010phx </li> <li>Salt Lake City: #vs2010slc </li> <li>Las Vegas: #vs2010vegas</li> </ul> <p align="center">Below are the presentations from all four sessions in each city:   </p> <p> </p> <table border="0" cellspacing="0" cellpadding="2" width="912"> <tbody> <tr> <td valign="top" width="190">Phoenix</td> <td valign="top" width="421">A Lap Around Visual Studio 2010</td> <td valign="top" width="473">Rick G. Garibay</td> <td valign="top" width="146"><iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/Lap%20Around%20VS%202010%20Garibay.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> <tr> <td valign="top" width="190">Phoenix</td> <td valign="top" width="421">Agile Management with TFS</td> <td valign="top" width="473"><a target="_blank" href="http://blogs.neudesic.com/blogs/brendon_birdoes/default.aspx">Brendon Birdoes</a></td> <td valign="top" width="146"><iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/TFS%202010%20Agile%20Management%20Brendon.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe>*</td> </tr> <tr> <td valign="top" width="190">Phoenix</td> <td valign="top" width="421">No More "No Repro"</td> <td valign="top" width="473"><a target="_blank" href="http://blogs.neudesic.com/blogs/brendon_birdoes/default.aspx">Brendon Birdoes</a></td> <td valign="top" width="146"><iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/No%20More%20No%20Repro%20Brendon.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe>*</td> </tr> <tr> <td valign="top" width="190">Phoenix</td> <td valign="top" width="421">Architecture for Everyone</td> <td valign="top" width="473">Rick G. Garibay</td> <td valign="top" width="146"><iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/Architecture%20for%20Everyone%20Garibay.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> <tr> <td valign="top" width="190">Salt Lake City</td> <td valign="top" width="421">A Lap Around Visual Studio 2010</td> <td valign="top" width="473">Rick G. Garibay</td> <td valign="top" width="146"><iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/Lap%20Around%20VS%202010%20Garibay.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> <tr> <td valign="top" width="190">Salt Lake City</td> <td valign="top" width="421">Agile Management with TFS</td> <td valign="top" width="473">Jeff Leite</td> <td valign="top" width="146">*<iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/TFS%202010%20Agile%20Project%20Management.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> <tr> <td valign="top" width="190">Salt Lake City</td> <td valign="top" width="421">No More "No Repro"</td> <td valign="top" width="473">Jeff Leite</td> <td valign="top" width="146">*<iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/No%20More%20No%20Repro.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> <tr> <td valign="top" width="190">Salt Lake City</td> <td valign="top" width="421">Architecture for Everyone</td> <td valign="top" width="473">Rick G. Garibay</td> <td valign="top" width="146"><iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/Architecture%20for%20Everyone%20Garibay.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> <tr> <td valign="top" width="190">Las Vegas</td> <td valign="top" width="421">A Lap Around Visual Studio 2010</td> <td valign="top" width="473">Rick G. Garibay</td> <td valign="top" width="146"><iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/Lap%20Around%20VS%202010%20Garibay.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> <tr> <td valign="top" width="190">Las Vegas</td> <td valign="top" width="421">Agile Management with TFS</td> <td valign="top" width="473">Mickey Williams</td> <td valign="top" width="146">*<iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/TFS%202010%20Agile%20Project%20Management.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> <tr> <td valign="top" width="190">Las Vegas</td> <td valign="top" width="421">No More "No Repro"</td> <td valign="top" width="473">Mickey Williams</td> <td valign="top" width="146">*<iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/No%20More%20No%20Repro.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> <tr> <td valign="top" width="190">Las Vegas</td> <td valign="top" width="421">Architecture for Everyone</td> <td valign="top" width="473">Rick G. Garibay</td> <td valign="top" width="146"><iframe style="PADDING-BOTTOM: 0px; BACKGROUND-COLOR: #fcfcfc; PADDING-LEFT: 0px; WIDTH: 250px; PADDING-RIGHT: 0px; HEIGHT: 59px; PADDING-TOP: 0px" title="Preview" marginheight="0" src="http://cid-df930ee6f91132fd.skydrive.live.com/embedrowdetail.aspx/Public/Talks/VS%202010%20Ultimate/Architecture%20for%20Everyone%20Garibay.pptx" frameborder="0" marginwidth="0" scrolling="no"></iframe></td> </tr> </tbody> </table> <p>* Note that content for all venues is very similar but may vary from presenter to presenter. <strike>All content for both venues will be available soon so please check back shortly.</strike></p><img src="http://rickgaribay.net/aggbug/275.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2010/03/13/visual-studio-2010-ultimate-event-content-download.aspx Sun, 14 Mar 2010 01:45:01 GMT http://rickgaribay.net/archive/2010/03/13/visual-studio-2010-ultimate-event-content-download.aspx#feedback http://rickgaribay.net/comments/commentRss/275.aspx http://rickgaribay.net/services/trackbacks/275.aspx The &ldquo;Ultimate&rdquo; Event: Visual Studio 2010 &amp; Team Foundation Server 2010 http://rickgaribay.net/archive/2010/02/08/the-ldquoultimaterdquo-event-visual-studio-2010-amp-team-foundation-server.aspx <p><font color="#ff0000"><strong>New date added in Las Vegas in celebration of the Visual Studio 2010 and .NET 4 Launch!</strong><font color="#000000"> I will be joined by Mickey Williams, VP Technology Platform Group, </font><a title="Neudesic is a Microsoft National Systems Integrator and Gold Certified Partner with a proven track record of providing reliable, effective solutions based on Microsoft’s technology platform." href="http://http://www.neudesic.com" target="_blank"><font color="#000000">Neudesic</font></a><font color="#000000">.</font><strong> Register now by clicking on event link below.</strong></font></p> <p>Join us for a sneak peek of Microsoft® Visual Studio® 2010, which will be a landmark release of the premier development toolset for Windows®, Web and Cloud development. <a href="http://rickgaribay.net/Images/CustomContent/TheUltimateEventVisualStudio2010TeamFoun_C8F5/c8946faafb1c46b98f1cfb6942b1881a1.jpg"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px" title="c8946faa-fb1c-46b9-8f1c-fb6942b1881a[1]" border="0" alt="c8946faa-fb1c-46b9-8f1c-fb6942b1881a[1]" align="right" src="http://rickgaribay.net/Images/CustomContent/TheUltimateEventVisualStudio2010TeamFoun_C8F5/c8946faafb1c46b98f1cfb6942b1881a1_thumb.jpg" width="240" height="94" /></a></p> <p>I will be speaking at the Phoenix and Salt Lake City events. Below is more info and a complete list of dates.</p> <p>The <a href="http://blogs.msdn.com/slange/archive/2010/01/21/the-ultimate-event-visual-studio-2010-team-foundation-server-2010.aspx" target="_blank">Ultimate Event</a> is your exclusive opportunity to hear about Visual Studio 2010 from experts before the product is launched this year. Microsoft has made significant investments to and improvements of Modeling and Testing/QA tools in Visual Studio 2010. At this event you’ll get a comprehensive overview of Visual Studio 2010 and Team Foundation Server 2010, which is the Application Lifecycle Management (ALM) core of Visual Studio. We’ll present enhancements in version control, reporting, project management and build management.  <br /></p> <p>Spend the day with us to learn how to take software development to the next level with Visual Studio 2010! </p> <p>4/14 Las Vegas Schedule:</p> <table border="1" cellspacing="0" cellpadding="2" width="528"><tbody> <tr> <td valign="top" width="156"> <p align="center"><strong>Time</strong></p> </td> <td valign="top" width="228"> <p align="center"><strong>Topic</strong></p> </td> <td valign="top" width="142"> <p align="center"><strong>Speaker</strong></p> </td> </tr> <tr> <td valign="top" width="156">8:30 AM-9:00 AM</td> <td valign="top" width="228">Registration, Welcome</td> <td valign="top" width="142"> </td> </tr> <tr> <td valign="top" width="156">9:00 AM-10:30 AM</td> <td valign="top" width="228">Lap Around VS 2010</td> <td valign="top" width="142">Rick G. Garibay</td> </tr> <tr> <td valign="top" width="156">10:45 AM-12:00 PM</td> <td valign="top" width="228">Agile Management with TFS</td> <td valign="top" width="142">Mickey Williams</td> </tr> <tr> <td valign="top" width="156">12:00 PM-12:30 PM</td> <td valign="top" width="228">Lunch</td> <td valign="top" width="142"> </td> </tr> <tr> <td valign="top" width="156">12:30 PM-1:45 PM</td> <td valign="top" width="228">No More "No Repro" </td> <td valign="top" width="142">Mickey Williams</td> </tr> <tr> <td valign="top" width="156">2:00 PM-3:15 PM</td> <td valign="top" width="228">Architecture for Everyone</td> <td valign="top" width="142">Rick G. Garibay</td> </tr> </tbody></table> <p>  <strong>Dates:</strong> Register now using the link below, space is limited.</p> <table border="0" cellpadding="0" width="322"><tbody> <tr> <td width="70"><b>Date</b> </td> <td width="145"><b>Location</b> </td> <td width="105"><b>Event ID</b> </td> </tr> <tr> <td width="70"> <p>3/2/10</p> </td> <td width="145"> <p>Bellevue, WA</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439179&amp;Culture=en-US">1032439179</a></p> </td> </tr> <tr> <td width="70"> <p>3/2/10</p> </td> <td width="145"> <p>San Diego, CA</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439178&amp;Culture=en-US">1032439178</a></p> </td> </tr> <tr> <td width="70"> <p>3/4/10</p> </td> <td width="145"> <p>Los Angeles, CA</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439180&amp;Culture=en-US">1032439180</a></p> </td> </tr> <tr> <td width="70"> <p>3/9/10</p> </td> <td width="145"> <p>Mountain View, CA</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439176&amp;Culture=en-US">1032439176</a></p> </td> </tr> <tr> <td width="70"> <p>3/9/10</p> </td> <td width="145"> <p>Irvine, CA</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439181&amp;Culture=en-US">1032439181</a></p> </td> </tr> <tr bgcolor="#c0c0c0"> <td width="70"> <p>3/10/10</p> </td> <td width="145"> <p>Phoenix, AZ</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439183&amp;Culture=en-US">1032439183</a></p> </td> </tr> <tr bgcolor="#c0c0c0"> <td width="70"> <p>3/11/10</p> </td> <td width="145"> <p>Salt Lake City, UT</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439996&amp;Culture=en-US">1032439996</a></p> </td> </tr> <tr> <td width="70"> <p>3/11/10</p> </td> <td width="145"> <p>Portland, OR</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439182&amp;Culture=en-US">1032439182</a></p> </td> </tr> <tr> <td width="70"> <p>3/16/10</p> </td> <td width="145"> <p>Denver, CO</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439184&amp;Culture=en-US">1032439184</a></p> </td> </tr> <tr> <td width="70"> <p>3/16/10</p> </td> <td width="145"> <p>San Francisco, CA</p> </td> <td width="105"> <p><a href="http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032439177&amp;Culture=en-US">1032439177</a></p> </td> </tr> <tr bgcolor="#ff0000"> <td width="70"><strong>4/14/10</strong></td> <td width="145"><strong>Las Vegas, NV</strong></td> <td width="105"><a href="https://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-US&amp;EventID=1032447728"><strong>1032447728</strong></a></td> </tr> </tbody></table> <p>  Hope to see you there!</p><img src="http://rickgaribay.net/aggbug/271.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2010/02/08/the-ldquoultimaterdquo-event-visual-studio-2010-amp-team-foundation-server.aspx Mon, 08 Feb 2010 21:17:12 GMT http://rickgaribay.net/archive/2010/02/08/the-ldquoultimaterdquo-event-visual-studio-2010-amp-team-foundation-server.aspx#feedback 1 http://rickgaribay.net/comments/commentRss/271.aspx http://rickgaribay.net/services/trackbacks/271.aspx A Pragmatic Team TDD Covenant http://rickgaribay.net/archive/2009/09/22/a-pragmatic-team-tdd-covenant.aspx <h1><font size="4">“As a team, we commit to test-first development, preferring unit tests over integration tests, and reluctantly accepting integration tests over no tests at all. As such, we write just enough integration tests to provide end to end smoke testing and no more.”</font></h1> <p> </p> <p>In distinguishing between unit tests and integration tests, we honor the following foundational practices to which we largely credit <a target="_blank" href="http://www.agiledata.org/essays/tdd.html">Kent Beck</a>, <a target="_blank" href="http://xunitpatterns.com/Unit%20Test%20Rulz.html">Michael Feathers</a>, and <a target="_blank" href="http://www.butunclebob.com/ArticleS.UncleBob.TheThreeRulesOfTdd">Bob Martin</a>.</p> <ol> <li>You are not allowed to write any production code unless it is to make a failing unit test pass.</li> <li>You are not allowed to write any more of a unit test than is sufficient to fail; and compilation failures are failures.</li> <li>You are not allowed to write any more production code than is sufficient to pass the one failing unit test.</li> <li>A test is not a unit test (but is instead an integration test) if:</li> </ol> <ul> <ul> <li>it talks to the database </li> <li>it communicates across the network</li> <li>it touches the file system</li> <li>it can’t run at the same time as any of your other unit tests</li> <li>you have to do special things to your environment (such as editing config files) to run it.</li> </ul> </ul> <p>       5. Above all else, be pragmatic and use your judgment. </p><img src="http://rickgaribay.net/aggbug/261.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2009/09/22/a-pragmatic-team-tdd-covenant.aspx Tue, 22 Sep 2009 19:24:27 GMT http://rickgaribay.net/archive/2009/09/22/a-pragmatic-team-tdd-covenant.aspx#feedback 3 http://rickgaribay.net/comments/commentRss/261.aspx http://rickgaribay.net/services/trackbacks/261.aspx Take Me with You! Ensuring Team Build Brings Dependencies Along for the Ride http://rickgaribay.net/archive/2009/08/27/take-me-with-you-ensuring-team-build-brings-dependencies-along.aspx <p>As part of an automated build at a client, we currently have over 150 unit tests that run as part of each automated build. Some of the tests are also integration tests which serve to automatically smoke test the freshly compiled application code.</p> <p>One of our apps makes use of an XML file that allows the ability to dynamically change behavior of a component without requiring an app domain recycle. A static method uses a FileWatcher to detect a change and applies the configuration changes at runtime accordingly. But I digress…</p> <p>When Team Build executes your unit tests, it creates a special directory on the build agent called TestResults.The TestResults folder includes a .trx file that captures the build results in XML along with a folder for each build/run which isolates all required test assemblies and other dependant assemblies for execution. The App.config file will automatically be copied over and renamed to AssemblyName.dll.config. This is fine and dandy, but what about other dependencies like the XML file?</p> <p>The answer is different depending on whether you are running your tests locally from Visual Studio or if Team Build is running your tests as part of an automated build, but you must be familiar with both techniques to accomplish a consistent and repeatable means for taking the XML file along for the ride under both scenarios which you will undoubtedly need to understand because chances are you are (or at least should be) running all unit tests locally before checking into source control, right? Right?</p> <p><strong>Local Dependencies</strong></p> <p>When running and debugging unit tests using Visual Studio and a just-in-time test runners like TestDriven.NET that have an external dependency such as an XML file, you must ensure the dependency is in the binary root relative to the executing assembly. This is also true when using other unit testing frameworks like NUnit, which I talk about <a href="http://rickgaribay.net/archive/2007/03/21/Making-Configuration-Files-Available-to-NUnit.aspx">here</a>.</p> <p>Right click the resource in the test project, click properties and set “Copy to Output Directory” to “Copy Always”:</p> <p><a href="http://rickgaribay.net/Images/CustomContent/TakeMewithYouEnsuringMSBuildBringsDepend_E003/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" width="240" height="94" src="http://rickgaribay.net/Images/CustomContent/TakeMewithYouEnsuringMSBuildBringsDepend_E003/image_thumb.png" /></a> </p> <p>This will ensure that the dependency is copied to the bin directory just as other dependencies like DLLs and App.Config/Web.Config are automatically.</p> <p>At this point, the XML file can be referenced in the root of the bin which is relative to the executing assembly.</p> <p><strong></strong></p> <p><strong>Team Build Dependencies</strong></p> <p>As I mentioned earlier, when Team Build executes unit tests, it moves all required assemblies and assembly dependencies to a TestResults folder. While this includes App.config and Web.config files, other dependencies are not copied regardless of whether you specify “Copy to Output Directory” to “Copy Always” as shown above. This makes sense, because when Team Build runs, the unit test project is no longer located with the rest of the source- instead it is copied to the TestResults folder and prepped for execution.</p> <p>There are two ways to address this.</p> <p>The first option is to mark each test method with a <a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.deploymentitemattribute(VS.80).aspx">DeploymentItem</a> attribute. This is documented <a target="_blank" href="http://msdn.microsoft.com/en-us/library/microsoft.visualstudio.testtools.unittesting.deploymentitemattribute(VS.80).aspx">here</a>, so I won’t go into much into it. The basic usage is to mark you test method with the DeploymentItem attribute, providing a parameter with the path and filename of the dependency:</p> <!-- code formatted by http://manoli.net/csharpformat/ --><style type="text/css"><![CDATA[ .csharpcode, .csharpcode pre { font-size: small; color: black; font-family: consolas, "Courier New", courier, monospace; background-color: #ffffff; /*white-space: pre;*/ } .csharpcode pre { margin: 0em; } .csharpcode .rem { color: #008000; } .csharpcode .kwrd { color: #0000ff; } .csharpcode .str { color: #006080; } .csharpcode .op { color: #0000c0; } .csharpcode .preproc { color: #cc6633; } .csharpcode .asp { background-color: #ffff00; } .csharpcode .html { color: #800000; } .csharpcode .attr { color: #ff0000; } .csharpcode .alt { background-color: #f4f4f4; width: 100%; margin: 0em; } .csharpcode .lnum { color: #606060; }]]></style> <div class="csharpcode"> <pre class="alt"><span class="lnum"> 1: </span>[TestMethod]</pre> <pre><span class="lnum"> 2: </span> [DeploymentItem(<span class="str">"../../MyExternalDependency.xml"</span>)]</pre> <pre class="alt"><span class="lnum"> 3: </span> <span class="kwrd">public</span> <span class="kwrd">void</span> FooShouldReturnBar()</pre> <pre><span class="lnum"> 4: </span> { </pre> <pre class="alt"><span class="lnum"> 5: </span> </pre> <pre><span class="lnum"> 6: </span> <span class="rem">//...</span></pre> <pre class="alt"><span class="lnum"> 7: </span> </pre> <pre><span class="lnum"> 8: </span> }</pre> </div> <p>When the assembly that includes the test class loads, the attribute is reflected and the dependent file is copied to the TestResults folder. You can also add the attribute at the test class level and it will have the same effect.</p> <p>The draw back of this approach is that it requires that you apply this attribute to the test class and it is really quite noisy because it is only used when running tests with Team Build or the Test List Editor.</p> <p>To keep things cleaner, I prefer to make these dependencies configuration driven. So, similarly to setting the “Copy to Output Directory” to “Copy Always” for just-in-time testing, you can determine dependencies that should be copied to the TestResults folder using a global configuration setting that will apply to all tests: Test Run Configuration.</p> <p>Go to Test, “Edit Test Run Configuration” and click on the configuration file as shown below:</p> <p> </p> <p><a href="http://rickgaribay.net/Images/CustomContent/TakeMewithYouEnsuringMSBuildBringsDepend_E003/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" width="240" height="113" src="http://rickgaribay.net/Images/CustomContent/TakeMewithYouEnsuringMSBuildBringsDepend_E003/image_thumb_3.png" /></a> </p> <p>Now, click on the Deployment option on the left, ensure “Enable Deployment” is checked, and either click “Add File” to add a specific file, or “Add Directory” to include the entire contents of a directory:</p> <p> </p> <p><a href="http://rickgaribay.net/Images/CustomContent/TakeMewithYouEnsuringMSBuildBringsDepend_E003/image_4.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" width="240" height="170" src="http://rickgaribay.net/Images/CustomContent/TakeMewithYouEnsuringMSBuildBringsDepend_E003/image_thumb_4.png" /></a> </p> <p> </p> <p>The localtestrun.testrunconfig file will be configured with the dependencies specified and this file will be consulted just prior to kicking off a test run to ensure that all dependencies are copied to the TestResults folder.</p> <p>That’s really all there is to it. Thanks to <a target="_blank" href="http://blogs.neudesic.com/blogs/brendon_birdoes/default.aspx">Brendon Birdoes</a> for turning <a target="_blank" href="http://www.rickgaribay.net/contact.aspx">me</a> on to the DeploymentItem attribute which I was not familiar with.</p><img src="http://rickgaribay.net/aggbug/258.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2009/08/27/take-me-with-you-ensuring-team-build-brings-dependencies-along.aspx Fri, 28 Aug 2009 03:05:14 GMT http://rickgaribay.net/archive/2009/08/27/take-me-with-you-ensuring-team-build-brings-dependencies-along.aspx#feedback http://rickgaribay.net/comments/commentRss/258.aspx http://rickgaribay.net/services/trackbacks/258.aspx Repeatable Builds will Set You Free http://rickgaribay.net/archive/2009/08/12/repeatable-builds-will-set-you-free.aspx <p>My current project for a leading commerical transportation company reminds me of some things I hold as true and self-evident...</p> <p>The reason builds need to be automated and repeatable is that an automated build is the *only* tangible, qualifiable version of the truth. There are just too many moving parts in software development projects and the build is your safety net to ensuring that there is a control state that puts all of the applications, components and services in balance at least once a day.</p> <p>As a development team, you need to stick to the truth and get back to the truth as quickly and effortlessly as possible because the real effort should be in delivering software, not drowning in the quagmire that is deployment and configuration. </p> <p>Take the time to set up your build from day one, and as you add logical applications, include a deployment step to a neutral integration environment. </p> <p>You will immediately realize the following benefits, literally over night:</p> <ul> <li>No more wasted time compiling, XCOPYing and dilly dallying with config files. Set it and forget it. </li> <li>The establishment of a regular rhythm  that promotes accountability, daily code check-ins, and a steady beat of the drum to keep the team in perfect sync. </li> <li>Full integration of the compilation process of all applications in your solution. No more “But I can compile locally…” </li> <li>Daily integration (if not more frequent) of each application with the environment. No more “But it works on my machine.” </li> <li>The ability to smoke test in a neutral environment that everyone agrees to. Huge moral booster because every day, if not more often, you know your software works. </li> <li>The ability to execute both isolate unit tests, and integration unit tests on a live, just deployed system. You can speak accurately as to the health and status of your project and each application within it. </li> </ul> <p>Time and time again, it is a repeatable build process that has made the difference between success and failure on so many projects I've worked on. I just don’t think you can afford to forgo it on any non-trivial project.</p><img src="http://rickgaribay.net/aggbug/254.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2009/08/12/repeatable-builds-will-set-you-free.aspx Wed, 12 Aug 2009 21:05:00 GMT http://rickgaribay.net/archive/2009/08/12/repeatable-builds-will-set-you-free.aspx#feedback http://rickgaribay.net/comments/commentRss/254.aspx http://rickgaribay.net/services/trackbacks/254.aspx Raising the Bar: Manifesto for Software Craftsmanship http://rickgaribay.net/archive/2009/07/25/manifesto-for-software-craftsmanship.aspx <p>When our founding fathers completed the Constitution in 1787, they distributed it to each state for review and acceptance. Many states rejected it. Those that did were asked to provide proposed revisions, amendments etc. They got back over 150 proposed revisions. Through discussion, clarification and compromise, these were narrowed down to 10 and make up what we know today as the Bill of Rights which were amended to the Constitution in 1791.</p> <p>In 2001, a small group of software luminaries set forth to radically change the face of software development. They encapsulated this new perspective in The <a href="http://agilemanifesto.org/" target="_blank">Manifesto for Agile Software Development</a>. <a href="http://rickgaribay.net/Images/CustomContent/ManifestoforSoftwareCraftsmanship_7E9A/image.png"><img title="image" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="240" alt="image" src="http://rickgaribay.net/Images/CustomContent/ManifestoforSoftwareCraftsmanship_7E9A/image_thumb.png" width="240" align="right" border="0" /></a></p> <p>Eight years later, after having applied the principles and values prescribed therein, these values have been tremendously successful at providing the software industry with similar benefits that Lean Manufacturing furnished for Toyota. Unfortunately, we’ve also learned that too many individuals and shops have given Agile Software Development a bad name by using it as a fig leaf to hide behind delivering crappy software and calling it agile, further setting back software engineering as a mature discipline.  </p> <p>As a result, our very own Bill of Rights has been born. The <a href="http://manifesto.softwarecraftsmanship.org/main" target="_blank">Manifesto for Software Craftsmanship</a> is founded on the original Manifesto but raises the bar to eliminate any ambiguity around the expectations of professional software engineers to not only produce working software, but ensuring it is well designed. Not merely reactively responding to change, but strategically partnering with the business to proactively add value while building a community of professionals that can teach and learn from one another.</p> <p>Do you believe in these values? Do you agree that as an industry we are still failing to add value and deliver high quality software? If so, I implore you to think about the values as a whole, and if you are so inclined, sign and commit to it: <a title="http://manifesto.softwarecraftsmanship.org/sign/new" href="http://manifesto.softwarecraftsmanship.org/sign/new">http://manifesto.softwarecraftsmanship.org/sign/new</a></p><img src="http://rickgaribay.net/aggbug/252.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2009/07/25/manifesto-for-software-craftsmanship.aspx Sat, 25 Jul 2009 16:01:43 GMT http://rickgaribay.net/archive/2009/07/25/manifesto-for-software-craftsmanship.aspx#feedback http://rickgaribay.net/comments/commentRss/252.aspx http://rickgaribay.net/services/trackbacks/252.aspx Free Public Class: A Day in the Life of Scrum with VSTS 2008 and TFS- 6/2 in Phoenix http://rickgaribay.net/archive/2009/05/31/free-public-class-a-day-in-the-life-of-scrum.aspx <p>I will be delivering my last free public class, "A Day in the Life of Scrum with Visual Studio Team System 2008 and Team Foundation Server" to Microsoft Phoenix next Tuesday, June 2nd.</p> <p>There are still a few seats available, so feel free to register (please see invitation below with <strong>Invitation Key 4DEAA2)</strong>. If you would be interested in a private class for your team or organization, please feel free to contact me for scheduling. </p> <p><a href="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image002.jpg"><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 5px; BORDER-RIGHT-WIDTH: 0px" height="80" alt="clip_image002" width="164" align="right" border="0" src="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image002_thumb.jpg" /></a></p> <p><em></em></p> <p><em>Please join <a href="http://www.microsoft.com/">Microsoft</a> and <a href="http://www.neudesic.com/">Neudesic</a> for a day in the life of Scrum with Visual Studio Team System 2008 and Team Foundation Server!  Agile methods are a set of development processes intended to create software in a lighter, faster, more people-centric way. Many development teams have adopted "agile" methodologies to manage change and to improve software quality. These methodologies promote continuous integration as a practice to build and test software products incrementally as new features are included, bugs are fixed, and code is refactored.</em></p> <p>If you missed the first series of Agile &amp; Scrum Essentials last fall; here’s your chance to attend the follow-on event where we’ll briefly revisit the basics of Agile and Scrum and provide a walkthrough of how to configure Visual Studio Team System 2008 and Team Foundation Server for Scrum. Participants will be familiarized with how key artifacts are managed within this popular process template for enacting Scrum in organizations.   </p> <p>Join us for this interactive event as we explore a “day in the life of a Sprint,” that will give you a practical perspective of how Scrum teams leverage Visual Studio Team System for end to end management of the planning, execution and control of Scrum projects. The day will end with an overview of what’s coming in Visual Studio Team System 2010!</p> <p><strong></strong></p> <p><strong></strong></p> <p><strong>Register </strong></p> <p>Welcome: 8:30 PM</p> <p>Seminar: 9:00 AM-4:30 PM</p> <p><a href="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/image.png"><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 5px; BORDER-RIGHT-WIDTH: 0px" height="64" alt="image" width="169" align="right" border="0" src="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/image_thumb.png" /></a><a href="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image004.jpg"></a></p> <p><a href="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image004.jpg"></a></p> <p><a href="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image004.jpg"><img style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 5px; BORDER-RIGHT-WIDTH: 0px" height="36" alt="clip_image004" width="220" align="right" border="0" src="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image004_thumb.jpg" /></a><strong>Phoenix, AZ</strong></p> <p><strong>June 2, 2009</strong></p> <p>Click <a href="http://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-US&amp;EventID=1032414516">here</a> to register or call 1.877.MSEVENT (1.877.673.8368) with invitation code: <a href="http://msevents.microsoft.com/cui/EventDetail.aspx?culture=en-US&amp;EventID=1032414516">4DEAA2</a>.</p> <p><a href="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image004.jpg"></a></p> <p><a href="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image004.jpg"></a></p> <p><strong></strong></p> <p> </p> <p><a href="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image004.jpg"></a></p> <p><a href="http://rickgaribay.net/Images/CustomContent/ADayintheLifeofScrumwithVisualStudioTeam_12917/clip_image004.jpg"> </a></p><img src="http://rickgaribay.net/aggbug/244.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2009/05/31/free-public-class-a-day-in-the-life-of-scrum.aspx Sun, 31 May 2009 20:49:56 GMT http://rickgaribay.net/archive/2009/05/31/free-public-class-a-day-in-the-life-of-scrum.aspx#feedback http://rickgaribay.net/comments/commentRss/244.aspx http://rickgaribay.net/services/trackbacks/244.aspx Phoenix Visual Studio Team System Big Event was BIG! http://rickgaribay.net/archive/2009/05/11/phoenix-visual-studio-team-system-big-event-was-big.aspx <p>Thanks to all who came out for the <a href="http://rickgaribay.net/archive/2009/04/13/phoenix-visual-studio-team-system-big-event-is-coming-to.aspx">Visual Studio Team System Big Event on Thursday, May 7th</a>! <a href="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/DSCN0480.jpg"><img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="100" alt="DSCN0480" src="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/DSCN0480_thumb.jpg" width="244" align="right" border="0" /></a>We had a great time with the Microsoft Developer Evangelist team, Microsoft Technical Specialists,  MVPs and influencers who at the end of the full day of action packed training left no doubt that Visual Studio Team System is <strong>BIG</strong>! </p> <p><a href="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/P5070484.jpg"><img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="184" alt="P5070484" src="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/P5070484_thumb.jpg" width="244" align="left" border="0" /></a>Dan Weinman, Senior Consultant at Neudesic kicked off with the keynote on  "<b>Development Best Practices &amp; How Microsoft Helps</b>" and set the stage for what the day full of training had in store. Dan talked about the various roles that VSTS supports and how each role comes together to enact process under a single tool that maximizes transparency and communication on Agile teams.  </p> <p>Next, Brendon Birdoes, Principal Consultant at Neudesic delivered a great talk on <a href="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/P5070488.jpg"><img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="184" alt="P5070488" src="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/P5070488_thumb.jpg" width="244" align="right" border="0" /></a>Test-Driven-Development with Visual Studio. Brendon covered unit testing, including test first development and showed off the refactoring capabilities right within the IDE  along with code coverage. Brendon talked about how important code coverage and quality assertions are to ensuring that your unit tests are as useful as possible in maintaining high degrees of quality within your software projects. </p> <p>Following the excellent session on TDD, Visual Studio Team System MVP Dave McKinstry delivered a session entitled ""It Works on My Machine!" Closing the Loop Between Development &amp; Testing" which discussed the close integration between testing tools in Visual Studio Team System and the code itself which minimizes the cost and complexity in task switching.</p> <p>We were then treated by another excellent talk by Rob Bagby, Developer Evangelist on "Treating Databases as First-Class Citizens in Development". In this session, Rob made clear that <a href="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/P5070489.jpg"><img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="184" alt="P5070489" src="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/P5070489_thumb.jpg" width="244" align="right" border="0" /></a>database work can no longer hide from unit testing and how the Database Project in Visual Studio Team System makes synchronizing DDL and DML objects seamless and eminently testable. </p> <p><a href="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/DSCN0481.jpg"><img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="184" alt="DSCN0481" src="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/DSCN0481_thumb.jpg" width="244" align="left" border="0" /></a>I was lucky enough to show off the new Visual Studio Team System 2010 Team Architect bits which include fully compliant UML 2.1 diagram support as well as assembly, namespace, class and method visualization using the VSTS 2010 Architecture Explorer.  I talked about VSTS 2010 Team Architect being yet another clear signal of Microsoft's commitment to modeling which is, and will continue to manifest itself in technologies like Windows Workflow, BizTalk Server, Entity Framework, and Quadrant to name just a few. As a Connected Systems guy, VS2010 Team Architect is really going to go a long way in helping me and my teams visualize the problem domain and partition our big balls of mud into the right architecture.  </p> <p>Speaking of which, I think my favorite new modeling feature in Team Architect is the Layer Diagram which lets you define your layers and then validate them at build time! What this means is that<a href="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/DSCN0482.jpg"><img style="border-right: 0px; border-top: 0px; margin: 5px; border-left: 0px; border-bottom: 0px" height="184" alt="DSCN0482" src="http://rickgaribay.net/Images/CustomContent/PhoenixVisualStudioTeamSystemBigEventwas_EE11/DSCN0482_thumb.jpg" width="244" align="right" border="0" /></a> I can use a layer diagram to define separation of concerns and single responsibility principle and then make sure that team members are honoring the layer rules. It is just awesome to be able to map namespaces to a layer diagram, wire it up to the automated build and keep violations from every being delivered.</p> <p>The day winded up with a great talk by Steve Lange, Technical Specialist on how to get the most out of TFS. The session was aptly called "Bang for Your Buck" Getting the Most out of Team Foundation Server, and Steve gave away some great tips on things you can do with your investment in TFS that you may not have even known about. </p> <p>I want to thank Steve and Rob for inviting us to speak at this event. The room was full of great folks with lots of passion and great questions which is exactly what we like to see at these events. If you have any follow up questions that I wasn't able to get answered at the event, please don't hesitate to <a href="http://rickgaribay.net/contact.aspx">contact me</a>.</p><img src="http://rickgaribay.net/aggbug/241.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2009/05/11/phoenix-visual-studio-team-system-big-event-was-big.aspx Tue, 12 May 2009 00:29:16 GMT http://rickgaribay.net/archive/2009/05/11/phoenix-visual-studio-team-system-big-event-was-big.aspx#feedback http://rickgaribay.net/comments/commentRss/241.aspx http://rickgaribay.net/services/trackbacks/241.aspx Phoenix Visual Studio Team System Big Event is Coming to Phoenix on 5/7! http://rickgaribay.net/archive/2009/04/13/phoenix-visual-studio-team-system-big-event-is-coming-to.aspx <p>My friends <a href="http://blogs.msdn.com/slange" target="_blank">Steve Lange</a>, <a href="http://www.robbagby.com/" target="_blank">Rob Bagby</a> and Microsoft are hosting a <strong><u>FREE</u></strong> <b>event</b> which will help you discover how people, process and technology are key to helping your organization succeed in today’s environment. </p> <p>This all day seminar includes several sessions within <em>Architecture</em>, <em>Development &amp; Testing</em> and <em>Application Lifecycle Management </em>track<em>s.</em></p> <p>Dan Weinmann and Brendon Birdoes of <a href="http://neudesic.com" target="_blank">Neudesic</a> and I will be delivering content on each of the tracks along with members of the Microsoft Technical Specialist teamand other area VSTS MVPs and ALM practitioners.</p> <p>Here is a list of available sessions:</p> <ul> <li><strong>Test Driven Development: Improving .NET Application Performance &amp; Scalability</strong> <ul> <li>This session will demonstrate how to leverage Test Driven Development in Team System. We’ll highlight both writing unit tests up front as well as creating test stubs for existing code. </li> </ul> </li> <li><strong>"It Works on My Machine!" Closing the Loop Between Development &amp; Testing</strong> <ul> <li>In this session, we will examine the traditional barriers between the developer and tester; and how Team System can help remove those walls. </li> </ul> </li> <li><strong>Treating Databases as First-Class Citizens in Development</strong> <ul> <li>Team System Database Edition elevates database development to the same level as code development. See how Database Edition enables database change management, automation, comparison, and deployment. </li> </ul> </li> <li><strong><img title="vstsbigevent_character" height="213" alt="vstsbigevent_character" src="http://blogs.msdn.com/blogfiles/slange/WindowsLiveWriter/ItoldyouitwascomingTeamSystemBigEvent_EEE9/vstsbigevent_character_3.jpg" width="119" align="right" border="0" />Architecture without <b>Big</b> Design Up Front</strong> <ul> <li>Microsoft Visual Studio Team System 2010 Architecture Edition, introduces new UML designers, use cases, activity diagrams, sequence diagrams that can visualize existing code, layering to enforce dependency rules, and physical designers to visualize, analyze, and refactor your software. See how <b>VSTS</b> extends UML logical views into physical views of your code. Learn how to create relationships from these views to work items and project metrics, how to extend these designers, and how to programmatically transform models into patterns for other domains and disciplines. </li> </ul> </li> <li><strong>Development Best Practices &amp; How Microsoft Helps</strong> <ul> <li>Sometimes development teams get too bogged down with the details. Take a deep breath, step back, and re-acquaint yourself with a review of current development best practice trends, including continuous integration, automation, and requirements analysis; and see how Microsoft tools map to those practices. </li> </ul> </li> <li><strong>"Bang for Your Buck" Getting the Most out of Team Foundation Server</strong> <ul> <li>Today’s IT budgets are forcing teams to do as much as they can with as little as possible. Why not leverage Team Foundation Server to its full potential? In this session we’ll highlight some capabilities of TFS that you may or may not already know about to help you maximize productivity. </li> </ul> </li> </ul> <p>This event will not only provide you with best practices around development and testing, but will demonstrate key capabilities of both Visual Studio Team System 2008 and the upcoming 2010 release that you won't want to miss. It’s a day that promises to have something for everyone! </p> <p>Click <a href="http://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=74-21-6B-AF-11-28-B7-87-D5-BB-15-AE-35-CB-41-14&amp;Culture=en-US" target="_blank">here</a> to register with invitation code: <a href="http://msevents.microsoft.com/CUI/InviteOnly.aspx?EventID=74-21-6B-AF-11-28-B7-87-D5-BB-15-AE-35-CB-41-14&amp;Culture=en-US" target="_blank">90BC47</a></p> <p>If you have any problems registering, please <a href="http://rickgaribay.net/contact.aspx" target="_blank">drop me a note</a>.</p><img src="http://rickgaribay.net/aggbug/235.aspx" width="1" height="1" /> Rick G. Garibay http://rickgaribay.net/archive/2009/04/13/phoenix-visual-studio-team-system-big-event-is-coming-to.aspx Mon, 13 Apr 2009 18:24:58 GMT http://rickgaribay.net/archive/2009/04/13/phoenix-visual-studio-team-system-big-event-is-coming-to.aspx#feedback http://rickgaribay.net/comments/commentRss/235.aspx http://rickgaribay.net/services/trackbacks/235.aspx