<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4591457542771002109</id><updated>2011-09-10T07:31:48.918-07:00</updated><category term='StsAdmn'/><category term='TFS SharePoint ASP.Net'/><category term='TFS Operations'/><category term='TFS Process Template'/><title type='text'>Alex TFS</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>55</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-645009137797957618</id><published>2011-09-10T07:30:00.000-07:00</published><updated>2011-09-10T07:31:48.991-07:00</updated><title type='text'>Web Test Manager (from Sela International)</title><content type='html'>Here is a web-based solution that purports to be fully integrated with Team Web Access.  &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sela.co.il/alm/products_WTM.html"&gt;http://www.sela.co.il/alm/products_WTM.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sela.co.il/alm/downloadCenter.html"&gt;http://www.sela.co.il/alm/downloadCenter.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sela.co.il/alm/purchase.html"&gt;http://www.sela.co.il/alm/purchase.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=kNDWeTaXUUw"&gt;http://www.youtube.com/watch?v=kNDWeTaXUUw&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=FsUnO3ggVQA"&gt;http://www.youtube.com/watch?v=FsUnO3ggVQA&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-645009137797957618?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/645009137797957618/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2011/09/web-test-manager-from-sela.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/645009137797957618'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/645009137797957618'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2011/09/web-test-manager-from-sela.html' title='Web Test Manager (from Sela International)'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-1893966552168630525</id><published>2011-04-25T07:22:00.000-07:00</published><updated>2011-04-25T07:49:16.491-07:00</updated><title type='text'>Evaluating Application Lifecycle Management Products</title><content type='html'>By application lifecycle management (ALM) I mean all the technical/business processes that go into managing software applications end-to-end and all the interactions along the way with other applications, infrastructures, business processes, customers, partners, and vendors.  This includes infrastructure management, portfolio management, project management, resource management, demands/finances, processes, builds &amp; automated testing, testing management, deployment management, configuration &amp; version control. &lt;br /&gt;&lt;br /&gt;It’s always good to ask the proponents &amp; evaluators of ALM products/solutions the list of questions below in order to see whether they have a viable alternative to Microsoft Team Foundation Server (TFS). Question 21 in particular is vital because it shows the hidden costs (which are less than the costs of all integration being manual) on picking ALM solutions and how this process is primarily an exercise is looking for tight data integration between the ALM processes being built-in. It's a reminder to all of us that the whole term "Application Integration" is a misnomer. It's really "Data Integration" and its where most organizations seem to spend most of their IT dollars and more than they should because most people fail to understand this misnomer. &lt;br /&gt;&lt;br /&gt;Questions 20/21 are the #1 reason why I'm a big fan of TFS. The foundation for all of that is all built-in. If you look at the power of Network Isolation in Visual Studio Lab Management and how it tightly integrates with all the other processes/data in TFS, you'll see what I mean. You'll never look at the millions annually that many IT organizations spend making up for theses integration difficulties the same ever again. And frankly I refuse to accept that TFS is any sort of holy grail. If a more effective alternative (or collection of alternatives) comes along with better ROI then I'm all ears.    &lt;br /&gt;&lt;br /&gt;Here's the questions: &lt;br /&gt;&lt;br /&gt;1. How does the product/solution do project planning (including work breakdown, areas &amp; iterations)? &lt;br /&gt;&lt;br /&gt;2. How does the product/solution do applications' portfolio management? &lt;br /&gt;&lt;br /&gt;3. How does the product/solution do Human Resources Planning for projects/teams? This could include (or at least be integrated easily) information on managing demand/priorities and the financials for the projects/teams. &lt;br /&gt;&lt;br /&gt;4. How does the product/solution do infrastructure/machines planning/management? &lt;br /&gt;&lt;br /&gt;5. How does the product/solution do requirements analysis? &lt;br /&gt;&lt;br /&gt;6. How does the product/solution do testing management? &lt;br /&gt;&lt;br /&gt;7. How does the product/solution do automated testing? &lt;br /&gt;&lt;br /&gt;8. How does the product/solution do software architecture (i.e. UML, diagrams, etc.)? &lt;br /&gt;&lt;br /&gt;9. How does the product/solution do design (i.e. wireframes, mockups, etc.)? &lt;br /&gt;&lt;br /&gt;10. How does the product/solution do development/compiling software? &lt;br /&gt;&lt;br /&gt;11. How does the product/solution do documentation management?  &lt;br /&gt;&lt;br /&gt;12. How does the product/solution do version control on project artifacts (i.e. code, documentation, etc.)? &lt;br /&gt;&lt;br /&gt;13. How does the product/solution do bug tracking? &lt;br /&gt;&lt;br /&gt;14. How does the product/solution do risk management? &lt;br /&gt;&lt;br /&gt;15. How does the product/solution do task management? &lt;br /&gt;&lt;br /&gt;16. How does the product/solution do environments provisioning/decommissioning? &lt;br /&gt;&lt;br /&gt;17. How does the product/solution do environments' templates management? &lt;br /&gt;&lt;br /&gt;18. How does the product/solution do auditing/compliance from end-to-end? &lt;br /&gt;&lt;br /&gt;19. This is a 18-part question (i.e. on each of the 18 capabilities) - how do you customize the capability in case of a business need (i.e. changing vision, changing processes, reorganizations, mergers, acquisitions, etc.) and the need to integrate with processes not covered in the 17 capabilities listed? &lt;br /&gt;&lt;br /&gt;20. This is a 153-part question (i.e. half of 17*18 on each of the first 18 questions) - how do each of these capabilities integrate with each other? &lt;br /&gt;&lt;br /&gt;21. This is also a 153-part question - how can each of these integrations be customized if needed in case of a business need? &lt;br /&gt;&lt;br /&gt;22. This is a 6+ part question - How does the product/solution integrate with the organization’s current key users' tools - i.e. Office Excel, Office Project, Clipboard, Outlook, Visual Studio, Eclipse, etc.? &lt;br /&gt;&lt;br /&gt;23. This is a 5+ part question - How does the product/solution integrate with the organization’s current key server/infrastructure tools - i.e. VMWare, Hyper-V, Active Directory, SQL Server, SharePoint, etc.? &lt;br /&gt;&lt;br /&gt;24. How does the product/solution integrate with other product/solutions that the organization is using, thinking of using, partnering with other organizations where they need to integrate, or unplanned future integration needs? For example, DOORS, Rational, Google Apps, etc. or other types of systems (i.e. Oracle (PeopleSoft, Sun, Siebel), SAP, SalesForce.com, etc.), and cloud solutions like Service-Now &amp; Concur? &lt;br /&gt;&lt;br /&gt;25. What is the backup/recovery process for the product/solution? &lt;br /&gt;&lt;br /&gt;26. What does the potential migration path away from this product/solution to a future ALM product/solution look like?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-1893966552168630525?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/1893966552168630525/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2011/04/evaluating-application-lifecycle.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1893966552168630525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1893966552168630525'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2011/04/evaluating-application-lifecycle.html' title='Evaluating Application Lifecycle Management Products'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-6486373187641935874</id><published>2011-03-30T08:39:00.000-07:00</published><updated>2011-03-30T08:51:02.885-07:00</updated><title type='text'>Integrating with Microsoft Test Manager</title><content type='html'>A big reason why Microsoft is winning the war for minds in the IT industry is because of all the capabilities for integrating their tools with your world your way. Here's a list of 10 useful links to help you get going on integrating your organization's ALM processes with Microsoft Test Manager. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testmanagement.client.aspx&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;The Microsoft.TeamFoundation.TestManagement.Client namespace opens up all the key MTM functionality. &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd465178.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd465178.aspx&lt;/a&gt;  &lt;br /&gt;&lt;br /&gt;API Reference for Testing Tools for Visual Studio ALM&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd470570.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd470570.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Extending Visual Studio Application Lifecycle Management&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/magazine/cc507647.aspx"&gt;http://msdn.microsoft.com/en-us/magazine/cc507647.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Team Foundation Server Event Services&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb130306.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb130306.aspx&lt;/a&gt;&lt;br /&gt;Finding Bugs, Tasks, and Other Work Items by Using the Work Item Query Language and the Client Object Model for Team Foundation&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-US/library/bb130146(v=VS.100).aspx"&gt;http://msdn.microsoft.com/en-US/library/bb130146(v=VS.100).aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Extending Team Foundation 2010 using API &amp; Object Model &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.workitemtracking.client(v=VS.100).aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.workitemtracking.client(v=VS.100).aspx&lt;/a&gt;&lt;br /&gt;Microsoft.TeamFoundation.WorkItemTracking.Client Namespace&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testimpact.buildintegration.buildactivities.testlist_methods.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testimpact.buildintegration.buildactivities.testlist_methods.aspx&lt;/a&gt;&lt;br /&gt;Microsoft.TeamFoundation.TestImpact.BuildIntegration.BuildActivities.TestList Methods &lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testimpact.client.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.testimpact.client.aspx&lt;/a&gt;&lt;br /&gt;Microsoft.TeamFoundation.TestImpact.Client Namespace&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.client.tswaclienthyperlinkservice.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.client.tswaclienthyperlinkservice.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;A utility class to generate Team Web Access hyperlinks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-6486373187641935874?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/6486373187641935874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2011/03/integrating-with-microsoft-test-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6486373187641935874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6486373187641935874'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2011/03/integrating-with-microsoft-test-manager.html' title='Integrating with Microsoft Test Manager'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-8259838335606280966</id><published>2011-03-17T06:55:00.000-07:00</published><updated>2011-03-17T06:57:45.763-07:00</updated><title type='text'>Application Lifecycle Management 2010 Resources</title><content type='html'>&lt;a href="http://msdn.microsoft.com/en-us/library/bb385832.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb385832.aspx&lt;/a&gt;&lt;br /&gt;What's New for ALM in Visual Studio 2010 &lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd409436.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd409436.aspx&lt;/a&gt;&lt;br /&gt;UML Diagrams - Activities, Components, Class, Sequence, Use Case &lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ff657795.aspx"&gt;http://msdn.microsoft.com/en-us/library/ff657795.aspx&lt;/a&gt;&lt;br /&gt;Generating Code from UML Class Diagrams &lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd286726.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd286726.aspx&lt;/a&gt;&lt;br /&gt;Automated/Coded UI Tests - Manual-&gt;Automated, Record User Actions, UI Controls &amp; Validation, &lt;br /&gt;Data-Driven Testing, Link Test Cases &amp; Requirements, Running, Best Practices &lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/dd264915.aspx"&gt;http://msdn.microsoft.com/en-us/library/dd264915.aspx&lt;/a&gt;&lt;br /&gt; &lt;br /&gt;IntelliTrace - faster debugging, non-repros, support scenarios, collection levels, navigating events/calls/etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-8259838335606280966?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/8259838335606280966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2011/03/application-lifecycle-management-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8259838335606280966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8259838335606280966'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2011/03/application-lifecycle-management-2010.html' title='Application Lifecycle Management 2010 Resources'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-7313192710188734750</id><published>2011-02-23T08:45:00.000-08:00</published><updated>2011-02-23T10:13:52.686-08:00</updated><title type='text'>Life for IT Directors</title><content type='html'>Here's a fictional scenario of a meeting between a TFS Consultant and a IT Director.  &lt;br /&gt;&lt;br /&gt;TFS Consultant: Hi I'm Alex and I'm the TFS Consultant you hired to work for a brief engagement in your company.  &lt;br /&gt;IT Director: Hi please call me George. Oh yes you're the guy putting in the new version control system to replace SourceSafe. &lt;br /&gt;TFS Consultant: Yes that's the plan George. And while I implement the new Version Control would you like to look at implementing any of the other TFS functionality. &lt;br /&gt;IT Director: No thanks. Our processes work very well here. We'll just be using TFS for Version Control. &lt;br /&gt;(Knock on the door) &lt;br /&gt;Accounting Manager Tom: George, I need to get the expenditure numbers by project for year to date.&lt;br /&gt;IT Director: Excuse me Alex. I'd like to get this for you Tom but so far I've only gotten responses from 2 of the 8 project managers and even both of those are mostly  inaccurate because the developers aren't responding to the emails to go back to their timesheets and email in the numbers.  &lt;br /&gt;Accounting Manager Tom: Well we have to get this by Friday. &lt;br /&gt;IT Director: OK I'll tell the managers to stay late tonight and tomorrow so we can get this done. But please understand Tom that I lost my best PM last week who took a new job and left with the complaint that she had to stay too late too often and had problems with daycare. &lt;br /&gt;Accounting Manager Tom: I see but the CFO insists on this so we must get it done. &lt;br /&gt;IT Director: OK (Tom leave). Umm Alex where were we. &lt;br /&gt;TFS Consultant: We were discussing how I'm going to migrate the version control from SourceSafe to TFS so all your developers &amp; everyone else can have full insight into all the version control for builds &amp; reporting in the future. &lt;br /&gt;IT Director: That's correct. But I'm wondering what you mean by "full insight"?&lt;br /&gt;TFS Consultant: It means that TFS has more capabilites for reporting than SourceSafe ever had and that you can integrate Version Control tighter in with your IT processes such as resource planning, work tracking, timesheets, builds, environments configurations, testing, and process improvement. &lt;br /&gt;IT Director: That's all very interesting but lets make sure we stay focused on the version control migration. &lt;br /&gt;TFS Consultant: OK I will do this. Now once the configuration and migration are complete I can do some testing for you with the reports that'll take a few hours to make sure the Version Control is running smoothly. In the past I prepared a special Sarbanes-Oxley Compliance report that one IT organization found very useful for their auditors. &lt;br /&gt;IT Director: No that won't be necessary. Our processes are fine and we can't afford to do more than configuration and migration. &lt;br /&gt;(Knock at the Door)&lt;br /&gt;Project Manager Patty: Hi George I'm sorry to interrupt but I have something urgent. &lt;br /&gt;IT Director: Yes Patty. What's up? &lt;br /&gt;Project Manager Patty: The internal auditors just called me up yelling that we haven't gotten them the compliance report on our Transactions v2.4 change requests #122, 133, 141, 148 and 162. The problem is that I have no idea how I'm going to get all this information together. I've been working on this for 3 days but can't seem to get all the details pulled together. &lt;br /&gt;IT Director: Have you talked to the Build group to get the information on the days/servers used for the builds? &lt;br /&gt;Project Manager Patty: I talked to their manager Fred a week ago but he's out on vacation this week. The analyst who did it is Jeff but he's tied up doing some paperwork related to the IT resource planning system bug fixes for HR. And the other two analysts William and Susan don't know anything about this so I have to wait til Fred gets back next week. &lt;br /&gt;IT Director: How about talking to Kyle? He's our most experienced project manager. He might know some way to get behind the scenes to find out where the build paperwork is. &lt;br /&gt;Project Manager Patty: I tried getting some of Kyle's time. But he's tied up trying to get the new dev environment setup for the new IT timetracking project. Unfortunately as you know it takes months to get new environments configured around here. &lt;br /&gt;IT Director: That's true. Well why not talk to Mary? &lt;br /&gt;Project Manager Patty: I thought of that too. Unfortunately she's chasing down release paperwork for a few of her change requests that are going in. And I can't even get hold of Bob in the timetracking group so I can get access to the timesheets in order to get them and the SourceSafe history reports to the developers so they can stop their development work for a couple days and go through them to cross-reference their changes with what days &amp; timesheet line items they used for doing the work. &lt;br /&gt;IT Director: Well keep pushing on them because we need to get this done for auditing. And make sure to check with Rhonda to get the requirements and design documents out plus the Requirements Traceability Matrix so the developers do that cross-referencing documentation too. The external auditors yelled at me last time because the internal auditors didn't provide all the data that's necessary for SOX compliance. &lt;br /&gt;Project Manager Patty: Oh I forgot about that. I'll do that too. (She leaves). &lt;br /&gt;IT Director: Whew .... now where were we Alex? &lt;br /&gt;TFS Consultant: I was explaining how I'm going to implement TFS for Version Control and do your SourceSafe migration. &lt;br /&gt;IT Director: That's right.&lt;br /&gt;(Knock on Door) &lt;br /&gt;Project Manager Tim: Hi George, do you have a minute? &lt;br /&gt;IT Director: Sure but make it quick please. &lt;br /&gt;Project Manager Tim: I'm having a real problem with the 2 new Sr. developers we just hired. They don't want to use our timesheet system, maintain the RTM, contact the bug tracking team or requirements team to get userids for their systems, and they keep complaining about our lack of integrated processes in Visual Studio. &lt;br /&gt;IT Director: This isn't good. In filling the last 3 senior slots we looked at hundreds of resumes, interviewed almost 50 people, made 15 offers, 5 never showed, 7 turned us down, 1 starts next week, and these 2 aren't fitting in. &lt;br /&gt;Project Manager Tim: Yes George this is a problem. What do you suggest we do? &lt;br /&gt;IT Director: We should probably put out a new job opening advertisement and call some of the staffing companies. I need you Tim to stay late tonight and I want you to go tell Patty to come see me so we can put the auditors on hold for a week and get ready for another long round of interviewing. Next time we need to make sure we filter out up front to get good cultural fits here with people who will follow our processes. &lt;br /&gt;Project Manager Tim: OK George. And another thing I forgot to tell you is that Nancy my tester has turned in her notice. She's complained that she doesn't have any testing tools that work in our environment. &lt;br /&gt;IT Director: Oh yes she's the one who wanted Microsoft Test Manager. Yeah I heard something about it being used for managing manual and automated tests. She seemed bright. We paid 20K to a headhunter 3 months ago to get her. But another manager also told me she's complained about our buggy test mangement website and the fact that it doesn't integrate with our builds or anything else. But you and I both know Tim that its been useful for us. We've also invested over 500K into this thing so we're not going to replace it ever. And we're not going to spend hundreds of thousands more to integrate it in with everything else. Next time be sure we hire a tester who is fine with our disintegrated processes. &lt;br /&gt;Project Manager Tim: OK George. I'll get on these things right now. (Tim departs)&lt;br /&gt;IT Director: Sorry again Alex. But I'm glad you're still here because I wanted to know something about this TFS. Will it work with Visual Studio 2010 as well as SourceSafe does in Visual Studio 2008?&lt;br /&gt;TFS Consultant: Yes it will George. In Visual Studio you can manage all your TFS work items, builds, versioned items, lab builds, and link in to the portal &amp; reports &amp; other TFS data shared with the testers, managers, auditors, and users who access the data through Microsoft Project, Microsoft Excel, Outlook, or other products. For developers the version control works much the same as it does for SourceSafe. Of course you can establish policies for checkins to make sure that any code changes get correlated with requirements, bugs, tasks, user stories or other work items when being checked in so you can get end-to-end traceability on everything. &lt;br /&gt;IT Director: OK this is good to know. At least I won't have my developers quitting on me if Visual Studio 2010 doesn't connect with Version Control. Sometimes its so hard to get the developers to communicate with the rest of the world.  They won't tell their managers when they checkin source code or make changes. The build team has a terrible time getting all the correct artifacts and its an endless loop of circles getting them all to communicate. And the disconnect between the developers and the business analysts and the release management people is really getting bad. &lt;br /&gt;(Knock on Door)&lt;br /&gt;Infrastructure Manager Marcus: Hi George, we have a problem. Got a minute? &lt;br /&gt;IT Director: OK Marcus please make it quick. &lt;br /&gt;Infrastructure Manager Marcus: The team leads for the timetracking system and the new AP system are having an argument. Both of them claim that I had agreed to give them each 3 new servers this week. But we only have 3 servers total and won't have another 3 for 2 more weeks. I need your help refereeing this issue. &lt;br /&gt;IT Director: OK Marcus please send them over at 10am so we can resolve this. (Marcus leaves) &lt;br /&gt;IT Director: I'm curious Alex. How did you guys do servers assignments on your last gig? &lt;br /&gt;TFS Consultant: We used Visual Studio Lab Management in conjunction with System Center Virtual Machine Manager to manage the Hyper-V and VMWare hosts. Each TFS Project Collection would be assigned a group of hosts &amp; SAN libraries for provisioning &amp; managing virtual servers. &lt;br /&gt;IT Director: What does TFS do servers management? &lt;br /&gt;TFS Consultant: Yes in conjunction with the Lab capabilities of Microsoft Test Manager you can use System Center virtual machine templates and machines to create environment templates and then provision environments as you need. When an environment isn't being used you can shut it down in order to conserve memory on your VMWares and Hyper-Vs. And the best part of it all is that you can integrate it in with all your IT processes. &lt;br /&gt;IT Director: OK now you must be fooling me. There is no way to integrate server management in like that. &lt;br /&gt;TFS Consultant: In the past that's correct. TFS 2008 and all the other ALM products out there have no such capability. &lt;br /&gt;IT Director: So I assume you're going to tell me that TFS 2010 can do this. Maybe you'll tell me it can even do timesheets for everyone? &lt;br /&gt;TFS Consultant: On my last gig we actually did this. In TFS is a capability called Work Item Tracking. We used the Agile out of the box work item types of Task, Bug, Risk, User Story, and Test Case quite extensively. We built 2 new work item types called Time Period and Task Period for timesheets. The developers did all their time tracking in Visual Studio. Whenever they checked in code they'd have to associate their checkins with the tasks they were working on. And their timesheets would autopopulate with the system's best guess on how they spent their days according to their versioned items checkins and then they'd make adjustments each time period to submit a timesheet. For some groups they did time tracking by week, others did it semimonthly, others did it biweekly, and others on a monthly basis. All of their needs were fulfilled. &lt;br /&gt;IT Director: Hmmm this is interesting. But can TFS do resource planning? &lt;br /&gt;TFS Consultant: Sure. As new projects are prioritized your PM(s) can quickly access historical data in many types of reports and make estimates on when &amp; how much they'll need of the different resource types. In addition they can organize this by area/iteration. &lt;br /&gt;IT Director: But how does it do build management and release management? &lt;br /&gt;TFS Consultant: These capabilities are integral to TFS and you get full end-to-end traceability through the types of work items and the relations between work items with versioned items, builds, environments, and other links/artifacts. &lt;br /&gt;IT Director: Testing and Requirements too? &lt;br /&gt;TFS Consultant: Yes these capabilities are integral too. &lt;br /&gt;IT Director: How about providing all the full end-to-end traceability reports for the auditors, accounting and other groups throughout the company? &lt;br /&gt;TFS Consultant: With TFS you can do all this out of the box. &lt;br /&gt;IT Director: Wow this is amazing. But how do you handle situations where managers have different workflows and metrics they need to track? &lt;br /&gt;TFS Consultant: We can customize their process templates, work item types, workflows, and handle all those scenarios. &lt;br /&gt;IT Director: What if a manager doesn't want to use TFS? Most of our managers like to use Microsoft Project. &lt;br /&gt;TFS Consultant: Microsoft Project is an integral TFS tool. &lt;br /&gt;IT Director: What about Excel? &lt;br /&gt;TFS Consultant: Same. &lt;br /&gt;IT Director: What about our Java developers? They use Subversion and Maven for version control and builds. &lt;br /&gt;TFS Consultant: They could continue to do this. However a lot of Java developers have really found they prefer Team Explorer Everwhere as it allows all the .NET and Java developers to use the same platform for all their versioned items, work items, builds, and lab environments under the same foundation system. &lt;br /&gt;IT Director: This is fascinating. I'm going to talk to my managers this afternoon and setup a meeting for you to answer some questions my managers and I have on our processes and how TFS works. I'll take you right now to meet our SourceSafe administrator who you will be training to administer the new TFS once you've set it up. &lt;br /&gt;TFS Consultant: OK this sounds good. &lt;br /&gt;IT Director: Do you often find that other places look at TFS as just SourceSafe replacement? &lt;br /&gt;TFS Consultant: Yes I do. Most of them have very mature processes that have worked well in the past. However they've discovered that the pace of change and agility in the business world and its impact on IT is really causing lots of chaos. &lt;br /&gt;IT Director: Sure I can relate. Our processes have worked really well for us in the past. However we're seeing them disintegrate. Our new IT employees are hard to retain. And many of our best are going elsewhere. I can imagine that anyone coming in suggesting TFS Work Item Tracking is going to face some resistance because it requires a major cultural change. &lt;br /&gt;TFS Consultant: Sure I've seen this. They typically behave like blacksmiths getting introduced to jet aircraft who say "how are we supposed to put this big bulky aircraft on the horse's hoof". Then they do the equivalent of explaining to me the merits of horseshoes over jets for use on horses. They're absolutely correct IF they think they're in the equestrian industry. But they're dead if they don't catch on to the paradigm shift that's transforming the IT industry fast right now. It certainly isn't my job to sell you on TFS. But the honest truth George is that I haven't found any one platform that does all the end-to-end IT processes like TFS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-7313192710188734750?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/7313192710188734750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2011/02/life-for-it-directors.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7313192710188734750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7313192710188734750'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2011/02/life-for-it-directors.html' title='Life for IT Directors'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-8007773441327420598</id><published>2011-02-11T15:22:00.000-08:00</published><updated>2011-02-11T15:26:08.817-08:00</updated><title type='text'>DOORS-TFS Integration Tool</title><content type='html'>A lot of IT shops with very detailed/specific requirements use DOORS. Now that it integrates with TFS you'll see alot more TFS adoption in the future. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.aitgmbh.de/doors-rif-synchronisation.0.html?&amp;L=1"&gt;http://www.aitgmbh.de/doors-rif-synchronisation.0.html?&amp;L=1&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-8007773441327420598?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/8007773441327420598/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2011/02/doors-tfs-integration-tool.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8007773441327420598'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8007773441327420598'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2011/02/doors-tfs-integration-tool.html' title='DOORS-TFS Integration Tool'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-3188702432709435259</id><published>2010-11-06T11:25:00.000-07:00</published><updated>2010-11-06T11:34:35.765-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TFS SharePoint ASP.Net'/><title type='text'>CMAP Presentations</title><content type='html'>Today I gave presentations at the CMAP Code Camp in Columbia, Maryland. See &lt;a href="http://www.cmap-online.org/CodeCamp/Sessions.aspx"&gt;http://www.cmap-online.org/CodeCamp/Sessions.aspx&lt;/a&gt; for details on the camp. &lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.degaston.com/de1106.zip"&gt;http://www.degaston.com/de1106.zip&lt;/a&gt; for source code. &lt;br /&gt;&lt;br /&gt;1. Do Application Lifecycle Management Your Way Using Visual Studio Team System and Custom .NET Code&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.degaston.com/tfs1106.ppt"&gt;http://www.degaston.com/tfs1106.ppt&lt;/a&gt; for presentation.  &lt;br /&gt;&lt;br /&gt;IT developers face never ending productivity and progress interruptions due to the need to do status reporting, documentation, and a whole assortment of tasks. Likewise their managers face great challenges due to the disintegration of the project management, work item tracking, development, deployment/implementation, operations/maintenance, reporting and documentation processes. In order for teams to greatly reduce these interruptions, disintegration issues and truly integrate all key development and application lifecycle management (ALM) processes, Microsoft introduced Team Foundation Server (TFS) 2005 and its subsequent improved TFS 2008 and TFS 2010 versions. It’s what runs Codeplex.com, all of Microsoft’s key internal ALM processes for their flagship products, and it’s an integral part of Visual Studio and all MSDN developer subscriptions going forward. This session will focus on how developers/managers can extend TFS through configuration settings, process templates customization and building custom .NET solutions in order to adapt TFS to your organization/team internal processes.  &lt;br /&gt;&lt;br /&gt;2. Create a SharePoint Web Part Wrapper for ASP.Net User Controls &lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.degaston.com/sp1106.ppt"&gt;http://www.degaston.com/sp1106.ppt&lt;/a&gt; for presentation.  &lt;br /&gt;&lt;br /&gt;SharePoint is presently one of the most popular web application development platforms in the world and ASP.Net is central to its success. In the past SharePoint developers would build many custom web parts. Recently the trend has been towards using a container for ASP.Net user controls in order to simplify deployment, make the development/customization process easier, and quickly enable .NET developers to be effective SharePoint developers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-3188702432709435259?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/3188702432709435259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2010/11/cmap-presentations.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3188702432709435259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3188702432709435259'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2010/11/cmap-presentations.html' title='CMAP Presentations'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-1926269064873710497</id><published>2009-03-18T16:49:00.000-07:00</published><updated>2009-03-22T13:47:25.452-07:00</updated><title type='text'>Problems in changing username for TFS services</title><content type='html'>I changed the username that's running all the TFS services on the TFS Application Tier machine. I noticed the next day that certain information such as users in the Assigned To dropdown, Areas, Iterations, etc. were not getting updated in a timely manner. What's going on? It turns out its in the Integration services. At http://tinyurl.com/TfsRefreshNieDziala is a discussion on this topic. &lt;br /&gt;&lt;br /&gt;The following SQL on the TFS data tier will show whether or not the username on the TFS application tier has all 4 necessary subscriptions in place. &lt;br /&gt;&lt;br /&gt;select s.address, i.domain, i.account_name from TfsIntegration..tbl_subscription s &lt;br /&gt;left join TfsIntegration..tbl_security_identity_cache i on s.subscriber = i.sid&lt;br /&gt;where delivery_type = 2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In my case the results didn't work so I had to login to the application tier server as the username running the TFS services and run the following 5 DOS commands in sequence substituting my server name for "&lt;TFSServerName&gt;". &lt;br /&gt;&lt;br /&gt;cd C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools&lt;br /&gt;&lt;br /&gt;BisSubscribe.exe  /eventType DataChangedEvent /deliverytype Soap /address http://&lt;TFSServerName&gt;:8080/VersionControl/v1.0/Integration.asmx /server http://&lt;TFSServerName&gt;:8080&lt;br /&gt;&lt;br /&gt;BisSubscribe.exe  /eventType DataChangedEvent /deliverytype Soap /address http://&lt;TFSServerName&gt;:8080/WorkItemTracking/v1.0/SyncEventsListener.asmx  /server http://&lt;TFSServerName&gt;:8080&lt;br /&gt;&lt;br /&gt;BisSubscribe.exe  /eventType BuildCompletionEvent  /deliverytype soap /address http://&lt;TFSServerName&gt;:8080/WorkItemTracking/v1.0/Integration.asmx /server http://&lt;TFSServerName&gt;:8080&lt;br /&gt;&lt;br /&gt;BisSubscribe.exe  /eventType ProjectCreatedEvent  /deliverytype Soap /address http://&lt;TFSServerName&gt;:8080/Warehouse/v1.0/warehousecontroller.asmx /server http://&lt;TFSServerName&gt;:8080&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;On the 3rd one for a BuildCompletionEvent I got an error "requested value 'soap' was not found". When I dropped off the deliverytype parameter as follows it worked fine: &lt;br /&gt;BisSubscribe.exe  /eventType BuildCompletionEvent  /address http://&lt;TFSServerName&gt;:8080/WorkItemTracking/v1.0/Integration.asmx /server http://&lt;TFSServerName&gt;:8080&lt;br /&gt;&lt;br /&gt;So it appears to work properly now for the Assigned To dropdown. But the Areas dropdown is still not working properly. The Event viewer on the Application Tier server shows the TF51338 error. Solving this problem requires putting this username into the TFS Server's Service Accounts group. This can't be done in the TFS GUI like can be done for other server or team project groups in TFS. It requires the TFSSECURITY.exe command line utility. I went to a DOS window on the application tier server and typed in the following: &lt;br /&gt;&lt;br /&gt;cd C:\Program Files\Microsoft Visual Studio 2008 Team Foundation Server\Tools&lt;br /&gt;tfssecurity.exe /server:&lt;TFSServerName&gt; /g+ "[Server]\Service Accounts" n:&lt;DomainName&gt;\tfsservices&lt;br /&gt;&lt;br /&gt;Presto!! It worked :)  My updates to Areas/Iterations get updated realtime into the Areas and Iterations tree views in the Work Item GUI of Visual Studio or TSWA. As soon as I click "refresh" on the Team Project my list of users in my "Assigned To" dropdown gets filled in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-1926269064873710497?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/1926269064873710497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/03/problems-in-changing-username-for-tfs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1926269064873710497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1926269064873710497'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/03/problems-in-changing-username-for-tfs.html' title='Problems in changing username for TFS services'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-6855440805313527939</id><published>2009-03-16T14:53:00.000-07:00</published><updated>2009-03-16T15:01:35.352-07:00</updated><title type='text'>Tasks "at the bottom" in MS Project</title><content type='html'>Microsoft Project is a great tool for creating task/schedule hierarchies for project tasks. It well-integrates with TFS. Whenever you run a query to import work items it'll automatically filter out duplicates from your WIQL results. It provides a grid of non-duplicate work items meeting the WIQL criteria with the first column of checkboxes pre-checked. This way you can further filter out work items to bring into your project plan document. &lt;br /&gt;&lt;br /&gt;The problem is that all the new work items come in "at the bottom" of the MS Project plan. The solution can be found at http://office.microsoft.com/en-us/project/HA012111441033.aspx under the heading "Moving tasks". Here are the steps to follow: &lt;br /&gt;&lt;br /&gt;1. Remember to drag and drop, and do not cut and paste. &lt;br /&gt;2. For the task you wish to move, select the entire task row by clicking the gray row heading, which includes the task number. &lt;br /&gt;3. Point to the row heading until a four-headed arrow appears, and then drag the task to where you want it in the active view. &lt;br /&gt;4. A gray line along the row border indicates where the task will be inserted when you release the mouse button.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-6855440805313527939?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/6855440805313527939/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/03/tasks-at-bottom-in-ms-project.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6855440805313527939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6855440805313527939'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/03/tasks-at-bottom-in-ms-project.html' title='Tasks &quot;at the bottom&quot; in MS Project'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-8287271046984671453</id><published>2009-02-27T08:39:00.000-08:00</published><updated>2009-02-27T08:41:56.262-08:00</updated><title type='text'>Tips on TFS Security</title><content type='html'>1. During permissions testing .... always make sure that at least 2 of TFS admins are full admins on the TFS server and in the TFS security settings. &lt;br /&gt;&lt;br /&gt;2. Define the security groups you want for TFS. &lt;br /&gt;&lt;br /&gt;3. Create these groups as Windows groups on the server that's running TFS. &lt;br /&gt;&lt;br /&gt;4. Create corresponding TFS server groups for these Windows groups and assign one member (i.e. the Windows group) to each of these TFS server groups (see first 2 snapshots). &lt;br /&gt;&lt;br /&gt;5. Create team project security groups and by default assign TFS server groups as members of these groups (see 3rd snapshot). &lt;br /&gt;&lt;br /&gt;6. Assign security permissions by team project security group at the Team Project level or at the Area levels. &lt;br /&gt;&lt;br /&gt;7. On the Windows server, assign roles/permissions for SQL Server Reporting Services that correspond to the Windows Server groups you've created. &lt;br /&gt;&lt;br /&gt;8. On the Windows server, assign roles/permissions for Windows SharePoint Services that correspond to the Windows Server groups you've created. &lt;br /&gt;&lt;br /&gt;9. Remember to "keep it simple". Think of having a handful of Windows server groups that correspond 1:1 with TFS server groups that in turn correspond 1:1 with Team Project groups. Then in turn these Team Project groups have all the team project level and areas' security permissions based back on those Windows server groups as the standard. Anything else should be thought of as an exception. What this will do is handle the cascading of all permissions for SharePoint, SQL Server Reporting Services and TFS throughout all the services associated with TFS/SharePoint.  &lt;br /&gt;&lt;br /&gt;Warning: It can be disastrous to NOT "keep it simple". And keep in mind that this article assumes you are running a single server solution with all the databases and web front ends on the same Windows server.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-8287271046984671453?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/8287271046984671453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/02/tips-on-tfs-security.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8287271046984671453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8287271046984671453'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/02/tips-on-tfs-security.html' title='Tips on TFS Security'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-4060321523514441401</id><published>2009-02-25T08:06:00.000-08:00</published><updated>2009-02-25T08:13:48.732-08:00</updated><title type='text'>Questions every CEO should ask their CIO</title><content type='html'>What plaform do you use to provide real-time integration of all information on source code control, source changes, builds, tasks, bugs, issues, project plans, documentation, test scripts and metrics reporting? &lt;br /&gt;&lt;br /&gt;How are your project managers aware of all saved code changes in other projects that may regressively impact their projects? &lt;br /&gt;&lt;br /&gt;How many minutes would it take you to find out what specific code changes were made in relation to an invoice line item charged to a customer? &lt;br /&gt; &lt;br /&gt;How many minutes does it take your organization to start tracking new metrics and have reporting procedures in place at both the high-level project and low-level task detail levels? &lt;br /&gt;&lt;br /&gt;They should have a definitive answer or plan on the first two questions. And they should be able to say a very small number as the answer on the second two questions. If the answer isn't TFS then I'd like to know what it is.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-4060321523514441401?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/4060321523514441401/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/02/questions-every-ceo-should-ask-their.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4060321523514441401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4060321523514441401'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/02/questions-every-ceo-should-ask-their.html' title='Questions every CEO should ask their CIO'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-7149071605254911559</id><published>2009-02-25T07:27:00.000-08:00</published><updated>2009-02-25T07:57:17.561-08:00</updated><title type='text'>TFS Learning Curve for Project Managers</title><content type='html'>TFS often comes with a steep learning curve for project managers, CIO(s), CTO(s) and others in business and IT management. This is unnecessary if approached correctly. One word describes the key in overcoming this barrier. It's SharePoint. &lt;br /&gt;&lt;br /&gt;Show TFS and VSTS to developers, DBA(s) and other techies and you'll see them get excited and see the magic of having a one-stop place to do all their work in Visual Studio. Show VSTS to project managers and you'll often see blank stares and confusion as they imagine that this new tool is only going to give them more headaches and work to do. The facts are that TFS was designed with the intent of making life easier for the IT technical workers, especially those who have worked with Visual Studio. Its much like why Boeing and Airbus design cockpits with the needs of airplane pilots in mind rather than the realtime needs of their management back in the office building. During airplane takeoffs, landings and emergency crash landings the last thing a pilot needs is to be called out of the cockpit to file some status report that some office building manager deems as necessary to help them do their job. Well that's how techies often feel about their management. And that's why nearly all project teams and IT organizations struggle with communication. &lt;br /&gt;&lt;br /&gt;In my opinion the best way to get Project Managers up/running with TFS is to not tell them they're using TFS. Approach it as a SharePoint site deployment. Setup your Process Template to include the libraries in SharePoint they need to get the starting Project/Excel files they'll need to do their job, the Word templates for documentation/processes, process guidance, reports and organizational links. Get them very familiar with SharePoint. &lt;br /&gt;&lt;br /&gt;Once they know SharePoint well enough to be productive then show them how to use some of the tools they'll need to access TFS work items. Start with MS Excel by launching some of the Excel files in the SharePoint libraries that come out of the box in a Team Project site. Train them on how to use Excel with TFS work items. Then show them MS Project with TFS work items. Then show them the reports they can get. Finally introduce them to TSWA, Team Explorer and other tools that can help them see how work items integrate with version control files and builds.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-7149071605254911559?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/7149071605254911559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/02/tfs-learning-curve-for-project-managers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7149071605254911559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7149071605254911559'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/02/tfs-learning-curve-for-project-managers.html' title='TFS Learning Curve for Project Managers'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-2789777435524853207</id><published>2009-02-05T09:58:00.000-08:00</published><updated>2009-02-05T09:59:49.342-08:00</updated><title type='text'>Essay on Team Foundation Server Capabilities</title><content type='html'>Team Foundation Server (TFS) provides all the capabilities to fully manage the full software development lifecycle (SDLC). I've successfully implemented it in several environments and seen it perform well in meeting the needs of an IT organization. I've yet to run across any scenario for software development in a Windows-based environment (i.e. not counting Macs, Unix, etc.) where TFS couldn't be used effectively.&lt;br /&gt; &lt;br /&gt;Out-of-the-box TFS fully implements the CMMi-3 and Agile Scrum methodologies. Implementing it for an organization is just a matter of starting a new TFS Team Project, setting up a list of tasks in the TFS Work Items catalog to accomplish the organizational mandates and setting up organizational folders &amp; document templates in the team project SharePoint portal site that gets auto-generated when a new TFS team project is created. If an organization seeks to invest in automating the project launch/management process then one of the out-of-the-box TFS process templates can be customized/imported into TFS so that whenever a new team project is created that all the organizational mandates will be there (i.e. document templates, work items, workflow, control policies, reports, etc.). &lt;br /&gt;&lt;br /&gt;TFS is a back end for IT project workers using Visual Studio in the same way that MS Exchange is the back end for end users using Outlook for email. There are 4 primary editions of Microsoft Visual Studio Team Suite (VSTS) for developers, architects, testers and database modelers/administrators. Learning/using the TFS capabilities in Visual Studio is  quite intuitive for those already familiar with the Microsoft Visual Studio platform. In fact TFS was specifically built with Visual Studio users in mind. &lt;br /&gt;&lt;br /&gt;Some of the key TFS features are:  &lt;br /&gt;&lt;br /&gt;(1) Robust work items tracking is provided. Each work item has attributes (i.e. Fields, Columns) to store information such as Title, Description, Iteration, Area, Discipline, AssignedTo, Priority, Hours Completed, Hours Remaining, Start Date, End Date, Related Builds, Related Work Items, related Version Control Items, related Version Control Changesets, Hyperlinks, Attachments, etc. The attributes available depend on the work item type (WITs). For the Agile process template the WITs are QoS requirements, bugs, tasks, scenarios, and tests. The CMMi process template includes Requirements and Review WIT's. The Process Template Editor can be used to create/modify WIT templates in order to allow you to track almost anything in a work item and to setup workflow rules/procedures with the work items of these WIT's.&lt;br /&gt; &lt;br /&gt;(2) Robust version control using true client/server and web services technology. The TFS version control data is stored in SQL Server. Earlier version control systems such as SourceSafe and PVCS are much like dBase or ISAM files where data corruption, uncleared locks and other processing errors are more commonplace. That's because these legacy products have no true, reliable client/server processing. Performance is noticably improved in TFS over SourceSafe. Features such as shelving, changesets processing, branching, merging and reporting are quite effective/useful in TFS. &lt;br /&gt;&lt;br /&gt;(3)  SQL Server Reporting Services is used by TFS. There are about 2 dozen reports out-of-the-box that meet most project management needs. Reports can be created/modified to meet the needs for a specific project for the organizational purposes. A data warehouse that integrates all the version control, project management, work item tracking, attachments, builds, integration and reporting information is provided. Its cubes with measures/dimensions are auto-refreshed according to a configurable schedule. &lt;br /&gt;&lt;br /&gt;(4) Microsoft Excel and Microsoft Project integrate well with TFS. Its easily possible to add/edit work items in these tools for any TFS team project. Project plans can be generated in MS Project and imported into TFS. To Do lists can be created in MS Excel and imported into TFS. Or to do lists or checklists can be copied/pasted into Excel from some other program in order to create TFS work items.&lt;br /&gt; &lt;br /&gt;(5) A SharePoint portal site is created for each new TFS team project. In this portal a user on the team (or in the management &amp; project users communities) can participate with as limited/open collaboration functionality as needed. The documents/reports available through Visual Studio (or other front ends using TFS data) are available in this portal. All WSS 3.0 functionality/capabilities is available in each TFS team project portal site. &lt;br /&gt;  &lt;br /&gt;(6) TFS Build Management is versatile glue for marrying programming/testing, bugs/resolutions, development/maintenance and implementations together. As many build projects as needed can be created for a team project. Build parameters such as schedule, build machine, destination, source code snapshot, notifications and build errors handling can be made out-of-the-box. As work items for bugs, development tasks, tests, etc. are completed then builds where the bugs were found or resolved will be related.  &lt;br /&gt;&lt;br /&gt;(7) TFS is fully extensible. All features are available in .NET namespaces and/or server configuration utilities where customizations, extensions and integration with any application/process/workflow can be made. The market is starting to see many TFS third party tools being built for purposes such as timesheet entry, task time tracking, resource planning, status reporting, integration with CRM/ERP suites, integration with accounting systems (i.e. GL, AP, AR, OE, etc.), integration with system admin utilities, etc. are being performed. Developers building apps in platforms such as Java, Oracle, Mainframes, etc. can still use TFS thanks to the extensibility capabilities of the TFS core.&lt;br /&gt;  &lt;br /&gt;(8) Security can be handled at the server-level, team project level or area level. In each team project a hierarchy of areas can be created. It can be as simple as one node or as complex with N-generations of M+ nodes per generation or however complex the security needs are for a team project to restrict/grant access to read/edit information or grant/revoke rights at the server, team project or area level. Just a FYI that there is an Area attribute for each work item in TFS and only an end user with change rights on both the old Area and new Area can change a work item's Area. Also keep in mind that the rights assigned at root node levels trickle down to their children/leaf nodes. And at any server/project/area node the rights can be assigned to either a TFS user or a TFS group. A TFS group is a collection of Active Directory users and/or Active Directory groups that has been created at the server level or at the team project level. This security model can handle any realistic security requirement for all enterprise-wide SDLC processes. However an important thing to keep in mind is that the server-level administrators can get access to ALL data on the TFS server where they have server-level access. Its also important to remember that a VSTS user (or any Excel/Project/SharePoint/3rd party user of TFS) can use multiple/unlimited TFS servers at the same time without incurring extra per-seat costs for Visual Studio and CAL’s. &lt;br /&gt;&lt;br /&gt;(9) Perhaps the greatest feature of TFS is how well it integrates the core SDLC processes elements contained therein - work item tracking, version control, build management, reporting and external integration. One example on how well this works is the need to set a policy that developers will regularly report what tasks they're working on and what code is associated. In this case a policy can be established that a developer can only checkin changes by first associating work item(s) and entering changeset comments. In addition as every checkin/change is timestamped its possible to provide very robust/detailed time/effort reporting. Rules can also be put in place (out of the box for simple rules, customize for complex rules) to immediately notify certain users when certain events occur such as a user reporting a bug, a build not being successful, certain work items being marked as "done", critical path tasks not being done in time, certain versioned items being checked in or someone making a change to work items assigned to you.&lt;br /&gt;  &lt;br /&gt;If you have any other questions on TFS then please let me know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-2789777435524853207?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/2789777435524853207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/02/essay-on-team-foundation-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2789777435524853207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2789777435524853207'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/02/essay-on-team-foundation-server.html' title='Essay on Team Foundation Server Capabilities'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-766099320872443891</id><published>2009-01-28T10:08:00.000-08:00</published><updated>2009-01-28T10:15:18.626-08:00</updated><title type='text'>TFS Guide from Microsoft on CodePlex</title><content type='html'>I think &lt;a href="http://www.codeplex.com/TFSGuide"&gt;http://www.codeplex.com/TFSGuide&lt;/a&gt; is helpful as it provides very useful training/mentoring/resource information on Microsoft Team Foundation Server. &lt;br /&gt;&lt;br /&gt;Part I, Fundamentals&lt;br /&gt;    * Chapter 1 - Introducing the Team Environment&lt;br /&gt;    * Chapter 2 - Team Foundation Server Architecture&lt;br /&gt;Part II, Source Control&lt;br /&gt;    * Chapter 3 - Structuring Projects and Solutions in Source Control&lt;br /&gt;    * Chapter 4 - Structuring Projects and Solutions in Team Foundation Source Control&lt;br /&gt;    * Chapter 5 - Defining Your Branching and Merging Strategy&lt;br /&gt;    * Chapter 6 - Managing Source Control Dependencies in Visual Studio Team System&lt;br /&gt;Part III, Builds&lt;br /&gt;    * Chapter 7 - Team Build Explained&lt;br /&gt;    * Chapter 8 - Setting Up Continuous Integration with Team Build&lt;br /&gt;    * Chapter 9 - Setting Up Scheduled Builds with Team Build&lt;br /&gt;Part IV, Large Project Considerations&lt;br /&gt;    * Chapter 10 - Large Project Considerations&lt;br /&gt;Part V, Project Management&lt;br /&gt;    * Chapter 11 - Project Management Explained&lt;br /&gt;    * Chapter 12 - Work Items Explained&lt;br /&gt;Part VI, Process Templates&lt;br /&gt;    * Chapter 13 - Process Templates Explained&lt;br /&gt;    * Chapter 14 - MSF for Agile Software Development Projects&lt;br /&gt;Part VII, Reporting&lt;br /&gt;    * Chapter 15 - Reporting Explained&lt;br /&gt;Part VIII, Setting Up and Maintaining the Team Environment&lt;br /&gt;    * Chapter 16 - Team Foundation Server Deployment&lt;br /&gt;    * Chapter 17 - Providing Internet Access to Team Foundation Server&lt;br /&gt;Part IX, Visual Studio Team System 2008 Team Foundation Server&lt;br /&gt;    * Chapter 18 - What's New in Visual Studio Team System 2008 Team Foundation Server&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-766099320872443891?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/766099320872443891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/tfs-guide-from-microsoft-on-codeplex.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/766099320872443891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/766099320872443891'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/tfs-guide-from-microsoft-on-codeplex.html' title='TFS Guide from Microsoft on CodePlex'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-7008317300891755913</id><published>2009-01-26T07:14:00.002-08:00</published><updated>2009-01-26T07:15:38.764-08:00</updated><title type='text'>Setup TFS WorkSpaces for Developers</title><content type='html'>Read &lt;a href="http://blog.donnfelker.com/post/PowerShell-TFS-WorkSpace-Initialization-Script.aspx"&gt;http://blog.donnfelker.com/post/PowerShell-TFS-WorkSpace-Initialization-Script.aspx&lt;/a&gt;. Its a pain in the neck to teach everyone how to set up workspaces, show them how to get latest and hope they don't accidentally (or purposely) mess it up. I recommend reading this posting and downloading the script into your Custom TFS Tools Solution that you maintain in the Version Control tree for your organization's architecture/processes' TFS team project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-7008317300891755913?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/7008317300891755913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/setup-tfs-workspaces-for-developers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7008317300891755913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7008317300891755913'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/setup-tfs-workspaces-for-developers.html' title='Setup TFS WorkSpaces for Developers'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-7504371310865959345</id><published>2009-01-26T07:14:00.001-08:00</published><updated>2009-01-26T07:14:55.372-08:00</updated><title type='text'>Not yet ready for 64-bit</title><content type='html'>Read &lt;a href="http://ianfnelson.com/blog/64-bit-tfs"&gt;http://ianfnelson.com/blog/64-bit-tfs&lt;/a&gt;. Its a reminder that TFS is not really ready for 64-bit yet. But stay tuned that it will be, and that's when it'll roll out to tens of thousands on a single server farm and work tremendous magic in very very large enterprises that adopt it well. This article also reminds me why I was wise to shift gears recently towards supporting virtualization as the way to go for all future TFS implementations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-7504371310865959345?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/7504371310865959345/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/not-yet-ready-for-64-bit.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7504371310865959345'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7504371310865959345'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/not-yet-ready-for-64-bit.html' title='Not yet ready for 64-bit'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-1947518638916706287</id><published>2009-01-26T07:02:00.000-08:00</published><updated>2009-01-26T07:14:01.438-08:00</updated><title type='text'>TFS Branching Guide</title><content type='html'>Go read &lt;a href="http://www.codeplex.com/TFSBranchingGuideII/Release/ProjectReleases.aspx?ReleaseId=20785"&gt;http://www.codeplex.com/TFSBranchingGuideII&lt;/a&gt;. Nobody should use Branching on a VSTS/TFS project without reading up on the pain/lessons that others have gone through. There are 5 good PDF documents here that all by themselves would make an excellent brownbag:&lt;br /&gt;&lt;br /&gt;- Main 2.0.pdf&lt;br /&gt;- Scenarios 2.0.pdf&lt;br /&gt;- Q&amp;A 2.0.pdf&lt;br /&gt;- Labs - 2.0.zip&lt;br /&gt;- Drawings 2.0.zip&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-1947518638916706287?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/1947518638916706287/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/tfs-branching-guide.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1947518638916706287'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1947518638916706287'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/tfs-branching-guide.html' title='TFS Branching Guide'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-2244395332185854274</id><published>2009-01-21T10:03:00.000-08:00</published><updated>2009-01-21T10:12:51.132-08:00</updated><title type='text'>TFS Install Bug with SQL Server Files</title><content type='html'>Today I setup a server for TFS 2008. I first installed SQL Server. It put the Reporting Services data/log files in the C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data directory. Then I moved these files into the D:\TFSDATA\SQLDATA and D:\TFSDATA\SQLLOG directories on the D: drive and configured SQL Server to use these same directories as the default directories for data/logs. Then I installed TFS 2008 (including WSS). The installer put all the new databases’ data/log files in the C:\Program Files\Microsoft SQL Server\MSSQL.2\MSSQL\Data directory. Note to Microsoft: That’s what I call a bug. The workaround is simple. I just have to move those files from the folders on C: over to the default folders on D:.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-2244395332185854274?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/2244395332185854274/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/tfs-install-bug.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2244395332185854274'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2244395332185854274'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/tfs-install-bug.html' title='TFS Install Bug with SQL Server Files'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-7207101560339326716</id><published>2009-01-17T04:18:00.000-08:00</published><updated>2009-01-17T05:38:36.916-08:00</updated><title type='text'>Migrate VSS to TFS</title><content type='html'>Here's some steps to follow to learn about VSS to TFS migrations. &lt;br /&gt;&lt;br /&gt;1. I recommend watching the following Microsoft video: &lt;br /&gt;&lt;br /&gt;&lt;embed src="http://images.video.msn.com/flash/soapbox1_1.swf" width="432" height="364" id="s3btbg5l" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&amp;v=3aeb2749-e0c9-44f7-a33d-aa74205bb96d&amp;ifs=true&amp;fr=msnvideo&amp;mkt=en-GB"&gt;&lt;/embed&gt;&lt;noembed&gt;&lt;br/&gt;&lt;a href="http://video.msn.com/video.aspx?vid=3aeb2749-e0c9-44f7-a33d-aa74205bb96d" target="_new" title="How To - Migrate from VSS to Team Foundation Source Control"&gt;Video: How To - Migrate from VSS to Team Foundation Source Control&lt;/a&gt;&lt;/noembed&gt;&lt;br /&gt;&lt;br /&gt;2. Make sure you have installed TFS 2008 Service Pack 1 on your TFS server. See &lt;a href="http://blogs.msdn.com/tfs_migration/archive/2008/09/08/improved-vss-converter-available-with-tfs-sp1.aspx"&gt;http://blogs.msdn.com/tfs_migration/archive/2008/09/08/improved-vss-converter-available-with-tfs-sp1.aspx&lt;/a&gt; for information on VSSConverter improvements. &lt;br /&gt;&lt;br /&gt;3. Read &lt;a href="http://msdn.microsoft.com/en-us/library/ms400803(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms400803(VS.80).aspx&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/library/ms400685(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms400685(VS.80).aspx&lt;/a&gt; to learn about the Analyze and Migrate commands for VSSConverter. &lt;br /&gt;&lt;br /&gt;4. Read http://msdn.microsoft.com/en-us/library/ms181246(VS.80).aspx and do the five step process to prepare for migrations:  (a) Back up your Visual SourceSafe database. (b) Identify and resolve data integrity issues in your existing database using the Visual SourceSafe Analyze tool.  (c) Run the converter tool to identify potential sources of information loss. (d) Specify which Visual SourceSafe folders to migrate. (e) Create a user mapping file to map Visual SourceSafe users to Team Foundation users.&lt;br /&gt;&lt;br /&gt;5. Read &lt;a href="http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms181247(VS.80).aspx&lt;/a&gt; and do the two part process for migrations: (a) 7 steps to modify the settings file to create a migration file, (b) 5 steps for running the converter. There's actually a 6th step that's essential for developers using VSTS. See &lt;a href="http://msdn.microsoft.com/en-us/library/ms253188(VS.80).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms253188(VS.80).aspx&lt;/a&gt; for instructions on migrating source control bindings. &lt;br /&gt;&lt;br /&gt;6. Be sure to search the MSDN forums (see &lt;a href="http://tinyurl.com/vss-tfs-help or http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/threads"&gt;http://tinyurl.com/vss-tfs-help or http://social.msdn.microsoft.com/Forums/en-US/tfsversioncontrol/threads&lt;/a&gt;) for the latest discussion threads on VSS-&gt;TFS migrations. Also see &lt;a href="http://search.twitter.com/search?q=VSS+TFS"&gt;http://search.twitter.com/search?q=VSS+TFS&lt;/a&gt; to check out the latest gossip about doing VSS-&gt;TFS migrations. &lt;br /&gt;&lt;br /&gt;7. Be sure to &lt;a href="http://www.google.com/search?q=VSSConverter "&gt;google VSSConverter&lt;/a&gt; for further information on the migration tool. I did a search today that provided a few interesting links including &lt;a href="http://www.codeplex.com/VssConverterGui"&gt;http://www.codeplex.com/VssConverterGui&lt;/a&gt;.  &lt;br /&gt;&lt;br /&gt;8. If you really want total flexibility then learn about the &lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.teamfoundation.versioncontrol.client(VS.80).aspx"&gt;Microsoft.TeamFoundation.VersionControl.Client&lt;/a&gt; namespace that opens up possibilities such as &lt;a href="http://blogs.msdn.com/edhintz/archive/2006/02/03/524312.aspx"&gt;http://blogs.msdn.com/edhintz/archive/2006/02/03/524312.aspx&lt;/a&gt;, &lt;a href="http://www.codeproject.com/KB/DLL/MySidekicks.aspx"&gt;http://www.codeproject.com/KB/DLL/MySidekicks.aspx&lt;/a&gt;, &lt;a href="http://tf4mono.googlecode.com/svn/trunk/class/Microsoft.TeamFoundation.VersionControl.Client"&gt;http://tf4mono.googlecode.com/svn/trunk/class/Microsoft.TeamFoundation.VersionControl.Client&lt;/a&gt; and &lt;a href="http://www.sashasydoruk.com/2007/02/14/tfs-howto-get-a-list-of-users-and-pending-changes"&gt;http://www.sashasydoruk.com/2007/02/14/tfs-howto-get-a-list-of-users-and-pending-changes&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-7207101560339326716?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/7207101560339326716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/migrate-vss-to-tfs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7207101560339326716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7207101560339326716'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/migrate-vss-to-tfs.html' title='Migrate VSS to TFS'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-8425900425598168455</id><published>2009-01-17T04:07:00.000-08:00</published><updated>2009-01-17T04:11:17.901-08:00</updated><title type='text'>We Share Your Pain (WSYP)</title><content type='html'>Finally Microsoft will build pain-free software ;) This is funny.&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://images.video.msn.com/flash/soapbox1_1.swf" width="432" height="364" id="7crc0dtn" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" pluginspage="http://macromedia.com/go/getflashplayer" flashvars="c=v&amp;v=efc3d597-55c0-4eee-9e0a-30435cd8bce9&amp;ifs=true&amp;fr=msnvideo&amp;mkt=en-GB"&gt;&lt;/embed&gt;&lt;noembed&gt;&lt;br/&gt;&lt;a href="http://video.msn.com/video.aspx?vid=efc3d597-55c0-4eee-9e0a-30435cd8bce9" target="_new" title="Sharing software Customer pain"&gt;Video: Sharing software Customer pain&lt;/a&gt;&lt;/noembed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-8425900425598168455?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/8425900425598168455/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/push-pain-to-programmers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8425900425598168455'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8425900425598168455'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/push-pain-to-programmers.html' title='We Share Your Pain (WSYP)'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-3748061265342003439</id><published>2009-01-08T13:09:00.000-08:00</published><updated>2009-01-08T13:19:18.916-08:00</updated><title type='text'>Deleting Work Items in TFS</title><content type='html'>&lt;span style="color: rgb(0, 0, 0);"&gt;Many new TFS users are surprised to learn that deleting work items is not a piece of cake. Technically its possible to do. But its wisely kept from being straightforward. Making a Work Item be "deleted" means destroying history and that's not good for honesty/transparency. What's recommended is to modify the WIT template workflow to create a State called "Deleted". But if you must delete a work item there are a couple ways: &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;(1) Delete the work item in the database. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(163, 21, 21);font-size:85%;" &gt; &lt;p&gt;delete from dbo.WorkItemsLatest where ID = ?"&lt;/p&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-size:85%;" &gt; &lt;/span&gt;&lt;p style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;delete from dbo.WorkItemsAre where ID = ?"&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 0, 0);" align="left"&gt;&lt;span style="font-size:85%;"&gt;delete from dbo.WorkItemsWere where ID = ?"&lt;/span&gt;&lt;/p&gt; &lt;p style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:85%;"&gt;delete from dbo.WorkItemLongTexts where ID = ?"&lt;/span&gt;&lt;/p&gt; &lt;span style="color: rgb(163, 21, 21);font-size:85%;" &gt;delete from dbo.WorkItemFiles where ID =? "&lt;br /&gt;&lt;br /&gt;Warning: You need to also possibly delete rows in the Attachments database and the work item will still be in the data warehouse.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;(2)  Get the latest TFS Power Tools (see &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);font-family:Arial;font-size:85%;"  &gt;&lt;a title="http://msdn2.microsoft.com/en-us/tfs2008/bb980963.aspx" href="http://msdn2.microsoft.com/en-us/tfs2008/bb980963.aspx"&gt;http://msdn2.microsoft.com/en-us/tfs2008/bb980963.aspx&lt;/a&gt;) and use the &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"tfpt destroywitd" command. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;Warning: The work item will still be in the data warehouse as this only deletes them from the operational store. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-3748061265342003439?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/3748061265342003439/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/deleting-work-items-in-tfs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3748061265342003439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3748061265342003439'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/deleting-work-items-in-tfs.html' title='Deleting Work Items in TFS'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-4460541876982635919</id><published>2009-01-07T12:11:00.000-08:00</published><updated>2009-01-07T12:36:29.379-08:00</updated><title type='text'>Setup of TFS for Virtualization</title><content type='html'>I was reminded today that the first step in working with TFS is to get it setup. If I were to start from scratch I'd do so with "virtualization" and a single-server dedicated server solution. Whether to go with Hyper-V, VMWare, Virtual Server, etc. all depends on your IT shop. I feel this way primarily because of the importance of backup/recovery procedures being reliable and straight-forward.  The leading virtualization platforms have solid backup/recovery procedures in place that can be used effectively for TFS. I also recommend a one-server solution that's completely used for just TFS and its components and nothing else.  Whoever is managing the backups/recoveries for your web servers, email servers, data servers, etc. ought to be the same person(s) managing these same processes for your TFS server(s). &lt;br /&gt;&lt;br /&gt;See http://tinyurl.com/tfs2008hardware for the best timely article on TFS 2008 hardware recommendations. For most organizations running TFS it can be done with  a 50 GB hard disk space server instance using the 32-bit edition of TFS 2008, 32-bit edition of SQL Server 2005 and a 32-bit edition of Windows Server 2003 or Windows Server 2008 OS.  For virtualization during runtime it'll need to run with 2-3 GB of available RAM. I'd also plan for about  1 GB per month in hard disk growth. Now if the IT teams are putting up a lot of multimedia content as attachments then your space requirements will grow proportionally. &lt;br /&gt;&lt;br /&gt;Some other links to read include:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msmvps.com/blogs/vstsblog/archive/2009/01/06/hardware-recommendations-for-team-foundation-server-2008.aspx"&gt;http://msmvps.com/blogs/vstsblog/archive/2009/01/06/hardware-recommendations-for-team-foundation-server-2008.aspx&lt;br /&gt;&lt;/a&gt;&lt;a href="http://beyondthispoint.blogspot.com/2005/11/building-virtualized-team-foundation.html"&gt;http://beyondthispoint.blogspot.com/2005/11/building-virtualized-team-foundation.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.woodwardweb.com/technology/increasing_the.html"&gt;http://www.woodwardweb.com/technology/increasing_the.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://social.msdn.microsoft.com/forums/en-US/tfssetup/threads"&gt;http://social.msdn.microsoft.com/forums/en-US/tfssetup/threads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'd also like to suggest bookmarking this site at &lt;a href="http://www.tinyurl.com/TfsInfo"&gt;http://www.tinyurl.com/TfsInfo&lt;/a&gt; and &lt;a href="http://tinyurl.com/AlexReading"&gt;http://tinyurl.com/AlexReading&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-4460541876982635919?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/4460541876982635919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/setup-of-tfs-for-virtualization.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4460541876982635919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4460541876982635919'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/setup-of-tfs-for-virtualization.html' title='Setup of TFS for Virtualization'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-4768837458732497436</id><published>2009-01-06T12:30:00.000-08:00</published><updated>2009-01-06T12:40:42.150-08:00</updated><title type='text'>Building a SharePoint Custom List</title><content type='html'>Microsoft is quickly moving the world towards SharePoint for everything application-related including TFS. Don't be surprised to see me write about SharePoint-related matters here as they greatly impact the possibilities with TFS.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'd like to provide an article that covers how to create a basic custom site definition, how to create a basic custom list definition, and how to display that custom list on the default page at site creation. This knowledge is useful in TFS as SharePoint lists are great for collaboratively working with constituencies in setting priorities, gathering requirements, reporting bugs, reporting bad implementations and coming up with todo lists that are meaningful. Build your custom list templates right and you'll extend TFS functionality more properly.&lt;br /&gt;&lt;br /&gt;See &lt;span style="text-decoration: underline;"&gt;&lt;/span&gt;&lt;a href="http://www.heathersolomon.com/blog/articles/1300.aspx"&gt;http://www.heathersolomon.com/blog/articles/1300.aspx&lt;/a&gt; for the article.  And I'd highly recommend reading &lt;a href="http://msdn.microsoft.com/en-us/library/ms946721.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms946721.aspx&lt;/a&gt; to get some understanding of CAML as it relates to custom views.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-4768837458732497436?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/4768837458732497436/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/building-sharepoint-custom-list.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4768837458732497436'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4768837458732497436'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/building-sharepoint-custom-list.html' title='Building a SharePoint Custom List'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-1367605467389825458</id><published>2009-01-02T09:09:00.000-08:00</published><updated>2009-01-02T09:13:22.818-08:00</updated><title type='text'>Future Improvements on C# Code Commenting</title><content type='html'>Read &lt;a href="http://alex-tfs.blogspot.com/2009/01/best-practice-on-c-code-commenting.html"&gt;http://alex-tfs.blogspot.com/2009/01/best-practice-on-c-code-commenting.html&lt;/a&gt; to see a tutorial I wrote on what I consider to be the current "best practice" for C# Code Commenting.  I have a few suggestions on future improvements to this "Best Practice":&lt;br /&gt;&lt;br /&gt;(1) There should be a way to automate adding a post-build event for source code projects to have the Sandcastle CHM generated as part of the build.&lt;br /&gt;(2) Certainly other project documentation (such as project charters, requirements documents, design/architecture documents, TFS reports (i.e. builds, work items, changesets, etc.) and other artifacts can be integrated into the post-build event.&lt;br /&gt;(3) Certainly the whole post-build process done locally on auto-building the CHM file and including other artifacts can be included as part of the TFS Build process.&lt;br /&gt;(4) Certainly templates with the HP logo, SLM-labels, and other process needs can be integrated into the help-files generation process.&lt;br /&gt;(5) Considering that code comments are compiled into a XML file using a defined schema we can always customize the documentation however we want with XSLT, third party tools, etc.&lt;br /&gt;(6) As Sandcastle is "open source" and Visual Studio is quite extensible it should be possible to specify custom XML tags that can be processed to generate whatever output or perform whatever tasks we want done at build-time.&lt;br /&gt;&lt;br /&gt;Do you have any suggestions to add?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-1367605467389825458?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/1367605467389825458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/read-httpalex-tfs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1367605467389825458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1367605467389825458'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/read-httpalex-tfs.html' title='Future Improvements on C# Code Commenting'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-6060932344947376402</id><published>2009-01-02T08:54:00.000-08:00</published><updated>2009-01-02T09:15:09.089-08:00</updated><title type='text'>Best Practice on C# Code Commenting</title><content type='html'>For the next 30 minutes I recommend you do the following 7 steps. They'll teach you how to become proficient on a best practice for self-documenting your C# code in projects done using Microsoft Visual Studio. The same lessons apply for other .NET languages but I mention C# because its the most popular one. Once you've learned this process I'm confident you will use it for now on because it automates the documentation process for all development work to allow you to build HTML/Help files on-the-fly. Make sure you have Visual Studio 2005 or later installed on your workstation and that you've been able to successfully create and build a solution/project before proceeding with these steps. &lt;p&gt; &lt;/p&gt; (1) Read &lt;a href="http://www.winnershtriangle.com/w/Articles.DocumentingCSharpSourceCode.asp"&gt;http://www.winnershtriangle.com/w/Articles.DocumentingCSharpSourceCode.asp&lt;/a&gt; which is an excellent intro to C# Code Commenting.  &lt;p&gt; &lt;/p&gt;(2) Read &lt;a href="http://www2.sys-con.com/ITSG/virtualcd/Dotnet/archives/0108/horan/index.htm"&gt;http://www2.sys-con.com/ITSG/virtualcd/Dotnet/archives/0108/horan/index.htm&lt;/a&gt; for a nice explanation on code commenting.   &lt;p&gt; &lt;/p&gt;(3) Run Visual Studio, open a solution/project and follow the following instructions. (a) Open the property page for the project, usually by right-clicking on the project in the Solution Explorer, and click Properties. (b) After the dialog has opened, click the Configuration Properties folder. (c) Click the Build option. (d) In the right pane, there will be a property field called XML Documentation File. Set this to the path and file name of the desired file. The path entered is relative to the project directory, not absolute. (e) Put some "Hello World" text in a summary tag on at least one class/member within the project. (f) Build the project and view the XML Documentation File to see your "Hello World" text. (source: &lt;a href="http://msdn.microsoft.com/en-us/magazine/cc302121.aspx%29"&gt;http://msdn.microsoft.com/en-us/magazine/cc302121.aspx)&lt;/a&gt;  &lt;p&gt; &lt;/p&gt;(4) Download &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=E82EA71D-DA89-42EE-A715-696E3A4873B2&amp;amp;displaylang=en&lt;/a&gt; and install the product. If you skip this step then you will be very sorry.  &lt;p&gt; &lt;/p&gt;(5) Go to &lt;a href="http://www.codeplex.com/SHFB/Release/ProjectReleases.aspx"&gt;http://www.codeplex.com/SHFB/Release/ProjectReleases.aspx&lt;/a&gt;, download the latest "Sandcastle Help File Builder Installer" MSI file and install. Then run it on your desktop start menu as follows: "All Programs -&gt; Sandcastle Help File Builder". In the GUI click the ADD button to include the DLL file that corresponds with the assembly you generated in Step (3)(f) of this tutorial. Then select "Documentation -&gt; Build Project" from the menu to build a Help file. Finally select "Documentation -&gt; View Help File" from the menu to see the help file and search for your "Hello World" text. &lt;p&gt; &lt;/p&gt;(6) Read &lt;a href="http://msdn.microsoft.com/en-us/library/5ast78ax%28VS.71%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/5ast78ax(VS.71).aspx&lt;/a&gt; on recommended documentation tags and try them out in the project you used in Step 3. Build the project in Visual Studio. Then build the help file in Sandcastle to see the resulting help file. &lt;p&gt; &lt;/p&gt;(7) Read &lt;a href="http://www.csharpfriends.com/statics/tools.aspx"&gt;http://www.csharpfriends.com/statics/tools.aspx&lt;/a&gt; to see some other code commenting tools for .NET. However I recommend using Sandcastle because it has plenty of functionality, its source code is freely available at &lt;a href="http://www.codeplex.com/Sandcastle/SourceControl/ListDownloadableCommits.aspx"&gt;http://www.codeplex.com/Sandcastle/SourceControl/ListDownloadableCommits.aspx&lt;/a&gt; and a google search such as  &lt;a href="http://tinyurl.com/sand-code-doc"&gt;http://tinyurl.com/sand-code-doc&lt;/a&gt; shows that there is sufficient documentation, assistance and community support for Sandcastle's future.  &lt;p&gt; &lt;/p&gt;Did you do all 7 steps and bookmark this link for future reference? If so then you should now be sufficiently proficient enough on the current best practice for self-documenting your C# or VB.Net code in projects done using Microsoft Visual Studio. Congratulations Guru!!  See &lt;a href="http://alex-tfs.blogspot.com/2009/01/read-httpalex-tfs.html"&gt;http://alex-tfs.blogspot.com/2009/01/read-httpalex-tfs.html&lt;/a&gt; for ideas on enhancing this best practice.&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-6060932344947376402?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/6060932344947376402/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/best-practice-on-c-code-commenting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6060932344947376402'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6060932344947376402'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/best-practice-on-c-code-commenting.html' title='Best Practice on C# Code Commenting'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-2530348356416307320</id><published>2009-01-01T22:48:00.000-08:00</published><updated>2009-01-01T23:19:31.603-08:00</updated><title type='text'>TFS Build and WSPBuilder</title><content type='html'>This may be the "holy grail" for Sharepoint development as Brian Farnhill describes how to make TFS Build and WSPBuilder work well together. This makes full-service collaborative large team Sharepoint development possible. Read the following link and keep in mind my summary notes on the 7 steps. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://pointstoshare.spaces.live.com/Blog/cns%21AEC42F315B4528B0%213290.entry"&gt;http://pointstoshare.spaces.live.com/Blog/cns!AEC42F315B4528B0!3290.entry&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;Install WSPBuilder on the TFS build server.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;Add WSPBuilder to the paths environment variable.&lt;/span&gt; Add the WSPBuilder path (C:\Program Files\WSPTools\WSPBuilderExtensions) to the PATH system variable on both the development box and the TFS build box.&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;Set files included in the WSP file to copy to output directory.&lt;/span&gt;  In the Solution Explorer window of Visual Studio you select and do the following on each 12-hive content file in the properties window: (a) set the item to be content, (b) copy if newer for each of these 12-hive items you set. Thus when TFS does a build in the directory that it puts the DLL's it will give you the other files for the 12 hive in the same directory at the same time on the TFS server, ready for the WSP builder call to run.&lt;br /&gt;&lt;br /&gt;4. &lt;span style="font-weight: bold;"&gt;Add the post build activity to the appropriate projects.&lt;/span&gt;  For each project in your solution producing a WSP you need to follow Brian's instructions for post-build action code. So if your solution builds 9 WSP's you need to do this 9 times. Usually there will be just one WSP per solution and just one post-build action code snippet written. I advise setting the $(OutDir) variable to always be the complete path to where the build is outputting to on the TFS Build server.&lt;br /&gt;&lt;br /&gt;5. &lt;span style="font-weight: bold;"&gt;Create a new build in TFS.&lt;/span&gt; Simple creation of a new build but its VITAL to make sure you choose the debug option because WSPBuilder expects everything to be in the debug folder.&lt;br /&gt;&lt;br /&gt;6. &lt;span style="font-weight: bold;"&gt;Add additional reference paths&lt;/span&gt;.  Open the TFSBuild.proj file that is created for your TFS build and add one as Brian instructs to the appropriate section (the very last one by default, read the comments to be sure). Then you can set this folder up as a network share and drop referenced assemblies in there as required.&lt;br /&gt;&lt;br /&gt;7. &lt;span style="font-weight: bold;"&gt;Add a pre-build action (if more than one WSP file in solution). &lt;/span&gt;With multiple WSP's you will find that if you don't follow Brian's instructions that the DLL's from the first projects that are build will make their way into the second and subsequent WSP files. With just one WSP you can skip this step. &lt;br /&gt;&lt;br /&gt;Now you should find that your drop location will now contain all the DLL's, PDB and config files, as well as your WSP files. Mission accomplished.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-2530348356416307320?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/2530348356416307320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/tfs-build-and-wspbuilder.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2530348356416307320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2530348356416307320'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/tfs-build-and-wspbuilder.html' title='TFS Build and WSPBuilder'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-4818686641900446134</id><published>2009-01-01T22:17:00.000-08:00</published><updated>2009-01-01T22:31:58.542-08:00</updated><title type='text'>More links for my personal research</title><content type='html'>The following is here for knowledge retention purposes only so be forewarned that it might bore you and you can stop reading now. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Today I've been doing plenty of blog-reading. There are many more things I'd like to read further but I'm out of time. Here are 5 links without notes and 2 links with notes.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.smashingmagazine.com/2008/02/21/powerful-css-techniques-for-effective-coding"&gt;http://www.smashingmagazine.com/2008/02/21/powerful-css-techniques-for-effective-coding&lt;/a&gt;&lt;br /&gt;&lt;a href="http://community.zevenseas.com/Blogs/Daniel/archive/2008/12/31/free-web-part-codeplex-statistics.aspx"&gt;http://community.zevenseas.com/Blogs/Daniel/archive/2008/12/31/free-web-part-codeplex-statistics.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.sharepointhosting.com/Downloads/SharePoint-Tutorials.aspx"&gt;http://blog.sharepointhosting.com/Downloads/SharePoint-Tutorials.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.myvisajobs.com/Top_Visa_Sponsors.aspx"&gt;http://www.myvisajobs.com/Top_Visa_Sponsors.aspx&lt;/a&gt;&lt;br /&gt;&lt;a href="http://alexking.org/projects/wordpress"&gt;http://alexking.org/projects/wordpress&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ayende.com/Blog/archive/2007/03/09/Calculating-most-popular-posts-with-SubText.aspx"&gt;http://ayende.com/Blog/archive/2007/03/09/Calculating-most-popular-posts-with-SubText.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codinghorror.com/blog/archives/001129.html"&gt;http://www.codinghorror.com/blog/archives/001129.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The Greatest Invention in Computer Science is "The Routine" &lt;br /&gt;&lt;br /&gt;Aside from the invention of the computer, the routine is arguably the single greatest invention in computer science. It makes programs easier to read and understand. It makes them smaller (imagine how much larger your code would be if you had to repeat the code for every call to a routine instead of invoking the routine). And it makes them faster (imagine how hard it would be to make performance improvements in similar code used in a dozen places rather than making all the performance improvements in one routine). In large part, routines are what make modern programming possible.&lt;br /&gt;&lt;br /&gt;the problem with routines: they only take a minute to learn, but a lifetime to master ....&lt;br /&gt;&lt;br /&gt;    * How long should this routine be? How long is too long? How short is too short? When is code "too simple" to be in a routine?&lt;br /&gt;    * What parameters should be passed to this routine? What data structures or data types? In what order? How will they be used? Which will be modified as a result of the routine?&lt;br /&gt;    * What's a good name for this routine? Naming is hard. Really hard.&lt;br /&gt;    * How is this routine related to other nearby routines? Do they happen at the same time, or in the same order? Do they share common data? Do they really belong together? What order should they be in?&lt;br /&gt;    * How will I know if the code in this routine succeeded? Should it return a success or error code? How will exceptions, problems, and error conditions be handled?&lt;br /&gt;    * Should this routine even exist at all? &lt;br /&gt;&lt;br /&gt;One thing I'll add is this. I LOVE STUBS. That's where I decide for a subroutine on a test value that will get sent back to the calling method until I have time to properly design/write the subroutine. My favorite phrase is "Hello World from &lt;name of subroutine&gt; &lt;number&gt;". For example a subroutine called MyNamespace.MyClass.MySubroutine will send back "Hello World from MyNamespace.MyClass.MySubroutine 001" the first time. As new test versions are built and the code gets improved I might increase the number so it now says "... 002", then "... 003", etc.  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codinghorror.com/blog/archives/001161.html"&gt;http://www.codinghorror.com/blog/archives/001161.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It is the job of a good software project manager to recognize the tell-tale symptoms of this classic mistake and address them head on before they derail the project. How? By forcingencouraging developers to create a detailed list of everything they need to do. And then breaking that list down into subitems. And then adding all the subitems they inevitably forgot because they didn't think that far ahead. Once you have all those items on a list, then -- and only then -- you can begin to estimate how long the work will take.&lt;br /&gt;&lt;br /&gt;Until you've got at least the beginnings of a task list, any concept of scheduling is utter fantasy. A very pleasant fantasy, to be sure, but the real world can be extremely unforgiving to such dreams.&lt;br /&gt;&lt;br /&gt;Johanna Rothman makes the same point in a recent email newsletter, and offers specific actions you can take to avoid being stuck 90% done:&lt;br /&gt;&lt;br /&gt;       1. List everything you need to do to finish the big chunk of work. I include any infrastructure work such as setting up branches in the source control system.&lt;br /&gt;&lt;br /&gt;       2. Estimate each item on that list. This initial estimate will help you see how long it might take to complete the entire task.&lt;br /&gt;&lt;br /&gt;       3. Now, look to see how long each item on that list will take to finish. If you have a task longer than one day, break that task into smaller pieces. Breaking larger tasks into these inch-pebbles is critical for escaping the 90% Done syndrome.&lt;br /&gt;&lt;br /&gt;       4. Determine a way to show visible status to anyone who's interested. If you're the person doing the work, what would you have to do to show your status to your manager? If you're the manager, what do you need to see? You might need to see lists of test cases or a demo or something else that shows you visible progress.&lt;br /&gt;&lt;br /&gt;       5. Since you've got one-day or smaller tasks, you can track your progress daily. I like to keep a chart or list of the tasks, my initial estimated end time and the actual end time for each task. This is especially important for you managers, so you can see if the person is being interrupted and therefore is multitasking.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-4818686641900446134?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/4818686641900446134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/more-links-for-my-personal-research.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4818686641900446134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4818686641900446134'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/more-links-for-my-personal-research.html' title='More links for my personal research'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-4711093125716540896</id><published>2009-01-01T22:13:00.000-08:00</published><updated>2009-01-01T22:17:22.248-08:00</updated><title type='text'>Reading and Blogging in 2009</title><content type='html'>IMHO the year 2009 will be the year when the best-organized IT managers/professionals get themselves in the habit of well-managing their blog-reading and knowledge retention. The IT professionals in 2009 who are going to be leading the efforts in the industry to apply technology to real-world business needs are going to be doing plenty of reading in order to stay current, solve problems and come up with the best solutions for their organizations. Typically this will be done through an "in-the-cloud" RSS reader that's also installed on their mobile phone and allows them to analyze statistics and prioritize their RSS feeds to be more productive. They'll spend at least 10 hours/week reading blogs. It'll happen on the train, in restaurants or anywhere they're "waiting" on their mobile phones. It'll happen while they are using their computers at work or home. They will typically be following hundreds of blogs and add at least a dozen or more additional ones every month to their subscriptions. Next they'll track the statistics on their subscriptions and organize them according to which ones are most useful in their jobs/work and then focus on getting updates from the blogs that are the highest priority. In a typical week they'll glance at thousands of titles and then pick a few hundred of the titles to click on to see the opening sentence in the posting. Of these a couple dozen will actually be read and most of the rest just skimmed. With all the constant change in technology there is no more effective way to stay current on technology in 2009 than through fast-speed-blog-reading. &lt;br /&gt;&lt;br /&gt;If you want to be heard then you need to earn trust and be rated high on their watch list. You can accomplish this by doing the following: &lt;br /&gt;&lt;br /&gt;(1) Regularly update your blog with current useful content.&lt;br /&gt;(2) Generally make each entry short and easy to read. &lt;br /&gt;(3) Provide all possible links and references to avoid plagiarism. &lt;br /&gt;(4) Its imperative that you sincerely try to be completely unbiased and objective. &lt;br /&gt;(5) Warn your readers if you are going to write lengthy details for your own knowledge retention purposes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-4711093125716540896?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/4711093125716540896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/reading-and-blogging-in-2009.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4711093125716540896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4711093125716540896'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/reading-and-blogging-in-2009.html' title='Reading and Blogging in 2009'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-1364434732568940622</id><published>2009-01-01T22:09:00.001-08:00</published><updated>2009-01-01T22:11:57.946-08:00</updated><title type='text'>Communication and Blogs</title><content type='html'>One thing I really like about TFS and Sharepoint is how they really work to improve collaboration, communication and using blogs out-of-the-box to disseminate information appropriately. I found a blogger at raganwald.com who provides some good tips that should help every IT professional. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://weblog.raganwald.com/2008/04/single-most-important-thing-you-must-do.html"&gt;http://weblog.raganwald.com/2008/04/single-most-important-thing-you-must-do.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The single most important thing you must do to improve your programming career is improve your ability to communicate.&lt;br /&gt;&lt;br /&gt;To program, you must elicit ideas from other people and share your ideas with them. Sharing ideas comes in many forms: explaining how you did something. Suggesting a new practice for the team. Demonstrating how something works. Convincing everyone to switch programming languages. Persuading a brilliant engineer to join your team. Persuading your manager to get out of the way and let you do your thing.&lt;br /&gt;&lt;br /&gt;Advancing your career is entirely about communicating. Getting a job. Turning down a job. Asking for a promotion. Turning down a promotion. Getting onto a good team. Politely extricating yourself from a good team. Persuading a brilliant engineer to co-found a company. Helping a brilliant engineer understand why co-founding a company isn’t the right thing to do. Asking for funding. Turning down funding. Getting clients. Turning down clients.&lt;br /&gt;&lt;br /&gt;If you take just one thing from this post, let it be this: To improve your programming career, the single most important thing you must do is improve your ability to communicate your ideas face to face.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;From &lt;a href=" http://weblog.raganwald.com/2007/10/three-blog-posts-id-love-to-read-and.html"&gt;&lt;br /&gt;http://weblog.raganwald.comjavascript:void(0)/2007/10/three-blog-posts-id-love-to-read-and.html&lt;/a&gt; I learn: &lt;br /&gt;&lt;br /&gt;Three types of great BLOG posts: &lt;br /&gt;What I learned from Language X that makes me a better programmer when I use Language Y&lt;br /&gt;Something surprising that you probably wouldn’t guess about Language X from reading blog posts&lt;br /&gt;My personal transformation about Idea X&lt;br /&gt;&lt;br /&gt;A type of timewasting BLOG post: &lt;br /&gt;Here’s why such-and-such&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-1364434732568940622?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/1364434732568940622/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/communication-and-blogs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1364434732568940622'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1364434732568940622'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/communication-and-blogs.html' title='Communication and Blogs'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-3747891611608485833</id><published>2009-01-01T21:44:00.001-08:00</published><updated>2009-01-01T22:08:22.161-08:00</updated><title type='text'>Using Routines in Programming</title><content type='html'>The longer I code the more I've learned that the key to good programming is in how you approach writing routines. Steve McConnell at &lt;a href="http://stevemcconnell.com/ieeesoftware/bp16.htm"&gt;http://stevemcconnell.com/ieeesoftware/bp16.htm&lt;/a&gt; lists the following 8 reasons and I provide commentary. &lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Reducing complexity - I like to keep my routines short enough so I can read the routine declaration line to the bottom "}" all within one Visual Studio window. That's usually about 40 lines.&lt;/li&gt; &lt;br /&gt;&lt;li&gt;Avoiding duplicate code - I agree its the most popular reason for routines.&lt;/li&gt; &lt;br /&gt;&lt;li&gt;Limiting effects of changes - Doing the repeatable job in one place is important and that's why good requirements analysis and good software design/architecture up-front is essential in creating good coding practices.&lt;/li&gt;  &lt;br /&gt;&lt;li&gt;Hiding sequences - This is why good routine-writing is essential to good object-oriented programming as its through hiding sequences in routines that we accomplish good encapsulation.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Improving performance - without good, organized routines you will never figure out where the bad-performing code is located&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Hiding data structures and global data - good for encapsulating, sometimes bad for documenting the data structures' usage so that future DBA's and architects can read the code and make future changes or integrated systems.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Promoting code reuse and planning for a family of programs - This is where object-oriented programming provides real value with routines. And with the [obsolete] tag in C# and other code management tags &amp; comment sections for .NET routines it makes it much easier to plan, document and validate code reuse or lack-of-reuse.&lt;/li&gt;   &lt;br /&gt;&lt;li&gt;Improving readability - well-naming and keeping the size of the routine down to 20-40 lines is vital. Making routines too short or not designing the high-level algorithm well will cause what I call "sub of sub of sub of sub of sub ... I'm lost and can't find the code" syndrome. Basically its not easy to have too many nested levels of subroutines to dig through in order to find the code you need to work with and this is a common problem I run across when the subroutines are too short and the algorithm was either not well thought-out or its undergone considerable change.&lt;/li&gt; &lt;br /&gt;&lt;li&gt;Improving portability and isolating use of nonstandard language functions - interfaces and gateways from C# into COM libraries, external web services, external "C" code, etc. are well-managed through good routine writing.&lt;/li&gt; &lt;br /&gt;&lt;li&gt;Isolating complex operations - this is one of the greatest use of routines - any complex task must be done through ONE routine with calls to multiple subroutines in cases where alot of code is needed&lt;/li&gt; &lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-3747891611608485833?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/3747891611608485833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/using-routines-in-programming.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3747891611608485833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3747891611608485833'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/using-routines-in-programming.html' title='Using Routines in Programming'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-2716246632209242196</id><published>2009-01-01T21:35:00.000-08:00</published><updated>2009-01-01T21:37:22.681-08:00</updated><title type='text'>VS2010 Planned Features and "Later" Features</title><content type='html'>See &lt;a href=" http://blogs.zdnet.com/microsoft/?p=1595"&gt;&lt;br /&gt;http://blogs.zdnet.com/microsoft/?p=1595&lt;/a&gt; for a list of planned features for Microsoft Visual Studio 2010 and some features planned for future features AFTER Visual Studio goes out. &lt;br /&gt;&lt;br /&gt;For VS10:&lt;br /&gt;&lt;br /&gt;    * A new Windows Presentation Foundation-based (WPF) text editor&lt;br /&gt;    * More “modern,” with more of a WPF look and feel throughout the suite&lt;br /&gt;    * Smaller in size (in code and data) than Visual Studio 2008&lt;br /&gt;    * More reliable and modular&lt;br /&gt;&lt;br /&gt;For some time “later”:&lt;br /&gt;&lt;br /&gt;    * Visual Studio Tools for Applications (VSTA) used for macros, plus other “end-user extensibility” improvements&lt;br /&gt;    * The ability to create more add-ins in managed code&lt;br /&gt;    * Full WPF shell&lt;br /&gt;    * Extensive support for the parallel framework for multicore hardware&lt;br /&gt;&lt;br /&gt;Like just about every Microsoft product these days, VS 10 is going to get the Software+Services treatment ....&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-2716246632209242196?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/2716246632209242196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/vs2010-planned-features-and-later.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2716246632209242196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2716246632209242196'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/vs2010-planned-features-and-later.html' title='VS2010 Planned Features and &quot;Later&quot; Features'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-7176799298715214507</id><published>2009-01-01T21:33:00.000-08:00</published><updated>2009-01-01T21:34:26.335-08:00</updated><title type='text'>New Microsoft Programming Language Code-Named "D"</title><content type='html'>According to &lt;a href="http://blogs.zdnet.com/microsoft/?p=1159"&gt;http://blogs.zdnet.com/microsoft/?p=1159&lt;/a&gt;: &lt;br /&gt;&lt;br /&gt;A handful of Microsoft’s top developers are working to create a new programming language, code-named “D,” which will be at the heart of the Microsoft’s push toward more intuitive software modeling.&lt;br /&gt;&lt;br /&gt;D is a key component of Microsoft’s Oslo software-oriented architecture (SOA) technology and strategy. Microsoft outlined in vague terms its plans and goals for Oslo in late fall 2007, hinting that the company had a new modeling language in the works, but offering no details on what it was or when the final version would be delivered.&lt;br /&gt;&lt;br /&gt;D will be a declarative language aimed at non-developers, and will be based on eXtensible Application Markup Language (XAML), sources, who asked not to be named, said.&lt;br /&gt;&lt;br /&gt;Sources close to Microsoft confirmed the existence of D, which they described as a forthcoming “textual modeling language.” In addition to D, sources said, Microsoft also is readying a comlementary editing tool, code-namd “Intellipad,” that will allow developers to create content for the Oslo repository under development by Microsoft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-7176799298715214507?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/7176799298715214507/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/new-microsoft-programming-language-code.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7176799298715214507'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7176799298715214507'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/new-microsoft-programming-language-code.html' title='New Microsoft Programming Language Code-Named &quot;D&quot;'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-5016871438446433558</id><published>2009-01-01T21:29:00.000-08:00</published><updated>2009-01-01T21:32:08.200-08:00</updated><title type='text'>5 Key Areas of Microsoft Oslo</title><content type='html'>See &lt;a href="http://www.microsoft.com/presspass/press/2007/oct07/10-30OsloPR.mspx "&gt;http://www.microsoft.com/presspass/press/2007/oct07/10-30OsloPR.mspx &lt;/a&gt; for the following on the “Oslo” advancements that will be delivered through Microsoft server and tools products in five key areas:&lt;br /&gt;&lt;br /&gt;• &lt;span style="font-weight:bold;"&gt;Server.&lt;/span&gt; Microsoft BizTalk Server “6” will continue to provide a core foundation for distributed and highly scalable SOA and BPM solutions, and deliver the capability to develop, manage and deploy composite applications.&lt;br /&gt;&lt;br /&gt;• &lt;span style="font-weight:bold;"&gt;Services.&lt;/span&gt; BizTalk Services “1” will offer a commercially supported release of Web-based services enabling hosted composite applications that cross organizational boundaries. This release will include advanced messaging, identity and workflow capabilities.&lt;br /&gt;&lt;br /&gt;• &lt;span style="font-weight:bold;"&gt;Framework.&lt;/span&gt; The Microsoft .NET Framework “4” release will further enable model-driven development with Windows Communication Foundation (WCF) and Windows Workflow Foundation (WF).&lt;br /&gt;&lt;br /&gt;• &lt;span style="font-weight:bold;"&gt;Tools.&lt;/span&gt; New technology planned for Visual Studio “10” will make significant strides in end-to-end application life-cycle management through new tools for model-driven design of distributed applications.&lt;br /&gt;&lt;br /&gt;• &lt;span style="font-weight:bold;"&gt;Repository.&lt;/span&gt; There will also be investments in aligning the metadata repositories across the Server and Tools product sets. Microsoft System Center “5,” Visual Studio “10” and BizTalk Server “6” will utilize a repository technology for managing, versioning and deploying models.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-5016871438446433558?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/5016871438446433558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/5-key-areas-of-microsoft-oslo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/5016871438446433558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/5016871438446433558'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/5-key-areas-of-microsoft-oslo.html' title='5 Key Areas of Microsoft Oslo'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-7762975328811342516</id><published>2009-01-01T21:26:00.000-08:00</published><updated>2009-01-01T21:27:40.160-08:00</updated><title type='text'>David Chappell on Microsoft Oslo</title><content type='html'>See &lt;a href="http://www.davidchappell.com/blog/2008/09/what-is-oslo.html"&gt;http://www.davidchappell.com/blog/2008/09/what-is-oslo.html&lt;/a&gt; for the following: &lt;br /&gt;&lt;br /&gt;Some Oslo details first went public in June of this year at TechEd. As described then, the code name "Oslo" applied to three things: a new version of Windows Workflow Foundation (WF), a server for running WF applications and others, and a set of modeling technologies, including a repository and visual editor. All of these technologies can be used together, so putting then under an umbrella code name made some sense.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-7762975328811342516?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/7762975328811342516/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/david-chappell-on-microsoft-oslo.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7762975328811342516'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7762975328811342516'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/david-chappell-on-microsoft-oslo.html' title='David Chappell on Microsoft Oslo'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-3178276727282153262</id><published>2009-01-01T21:16:00.000-08:00</published><updated>2009-01-01T21:42:29.606-08:00</updated><title type='text'>Microsot Oslo and Visual Studio 2010</title><content type='html'>Planning a technology roadmap for the next few years requires that we know what's coming up from Microsoft with Oslo, Visual Studio 2010, etc.  I'm not exactly sure how Oslo and VS 2010 will affect each other as Microsoft is wisely keeping all the details under wraps. I just know that their core functionality must be married as Oslo is the coding foundation for future Microsoft software code development and Visual Studio is the future tool for making it all happen. Stay tuned or be sorry!!  &lt;br /&gt;&lt;br /&gt;Suggested links: &lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://alex-tfs.blogspot.com/2009/01/david-chappell-on-microsoft-oslo.html"&gt;http://alex-tfs.blogspot.com/2009/01/david-chappell-on-microsoft-oslo.html&lt;/a&gt; &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://alex-tfs.blogspot.com/2009/01/5-key-areas-of-microsoft-oslo.html"&gt;http://alex-tfs.blogspot.com/2009/01/5-key-areas-of-microsoft-oslo.html&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://alex-tfs.blogspot.com/2009/01/new-microsoft-programming-language-code.html"&gt;http://alex-tfs.blogspot.com/2009/01/new-microsoft-programming-language-code.html&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://alex-tfs.blogspot.com/2009/01/vs2010-planned-features-and-later.html"&gt;http://alex-tfs.blogspot.com/2009/01/vs2010-planned-features-and-later.html&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-3178276727282153262?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/3178276727282153262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/microsot-oslo-and-visual-studio-2010.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3178276727282153262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3178276727282153262'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2009/01/microsot-oslo-and-visual-studio-2010.html' title='Microsot Oslo and Visual Studio 2010'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-4135185864805161994</id><published>2008-12-31T12:33:00.000-08:00</published><updated>2008-12-31T12:34:48.918-08:00</updated><title type='text'>Upcoming Microsoft Webcasts</title><content type='html'>Keeping up on technology is important and I find &lt;a href="http://www.asp.net/learn/webcasts"&gt;http://www.asp.net/learn/webcasts&lt;/a&gt; to be a valuable resource on learning what Microsoft is providing.&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;Wednesday, January 14, 2009 2pm - &lt;a href="http://www.asp.net/learn/webcasts/webcast-325.aspx"&gt;http://www.asp.net/learn/webcasts/webcast-325.aspx&lt;/a&gt; - Building a Silverlight Application in One Hour - provide an overview of creating forms-based applications in Microsoft Silverlight 2, the new rich Internet applications platform&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;Thursday, January 15, 2009 2pm - &lt;a href="http://www.asp.net/learn/webcasts/webcast-324.aspx"&gt;http://www.asp.net/learn/webcasts/webcast-324.aspx&lt;/a&gt; - Enterprise Build Automation with Team System and Team Build - Explains the five key characteristics of every enterprise build automation solution. Even a discussion on integrating legacy code into your automated builds.&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;Wednesday, January 28, 2009 2pm - &lt;a href="http://www.asp.net/learn/webcasts/webcast-317.aspx"&gt;http://www.asp.net/learn/webcasts/webcast-317.aspx&lt;/a&gt; - Discover the Windows Azure Services Platform - Provides an overview of the components and services that make up the platform and the development environment for developing and deploying cloud-based applications. Windows Azure represents Microsoft's firm commitment to making cloud computing a compelling and cost- effective platform.&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;Thursday, January 29, 2009 2pm - &lt;a href="http://www.asp.net/learn/webcasts/webcast-316.aspx"&gt;http://www.asp.net/learn/webcasts/webcast-316.aspx&lt;/a&gt;  - Windows Workflow Foundation Overview with Visual Studio 2008 - Covers the fundamentals of what Workflow Foundation is and where you might use it. Demonstrates using the development tools and several of the interesting activities included out of the box in Microsoft Visual Studio 2008.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-4135185864805161994?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/4135185864805161994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/upcoming-microsoft-webcasts.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4135185864805161994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4135185864805161994'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/upcoming-microsoft-webcasts.html' title='Upcoming Microsoft Webcasts'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-6079171974547922912</id><published>2008-12-29T06:29:00.000-08:00</published><updated>2008-12-29T06:46:25.964-08:00</updated><title type='text'>Blog engines at CodePlex with source code</title><content type='html'>Some of the most popular code projects at codeplex.com are blog engines. Here's a few to see:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/blogengine"&gt;http://www.codeplex.com/blogengine&lt;/a&gt; - Apparently this is the most popular one if you measure by downloads and its had a lot more use experience than the others.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/oxite"&gt;http://www.codeplex.com/oxite&lt;/a&gt; - This one will probably surpass BlogEngine in functionality and code quality based on the support for it.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeplex.com/dnnblog"&gt;http://www.codeplex.com/dnnblog&lt;/a&gt; - DotNetNuke seems to have the biggest ambitions with plenty of subsites and functionality planned. However its yet to get as big of a mindshare as BlogEngine or Oxite.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-6079171974547922912?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/6079171974547922912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/blog-engines-at-codeplex-with-source.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6079171974547922912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6079171974547922912'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/blog-engines-at-codeplex-with-source.html' title='Blog engines at CodePlex with source code'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-5517441898644039887</id><published>2008-12-18T14:34:00.000-08:00</published><updated>2008-12-18T14:35:06.615-08:00</updated><title type='text'>Some Sharepoint solutions to evaluate</title><content type='html'>If I had more time ..... I'd look at the following more carefully .....  &lt;div class="ms-PostBody"&gt;&lt;div dir=""&gt;&lt;p&gt; &lt;/p&gt;  &lt;a href="http://www.codeplex.com/CKS"&gt;http://www.codeplex.com/CKS&lt;/a&gt; - Community Kit for Sharepoint - A set of best practices, templates, Web Parts, tools, and source code that enables practically anyone to create a community website based on SharePoint technology for practically any group of people with a common interest. &lt;p&gt; &lt;/p&gt;  &lt;a href="http://www.codeplex.com/SLK"&gt;http://www.codeplex.com/SLK&lt;/a&gt; - SharePoint Learning Kit - a SCORM 2004 certified e-learning delivery and tracking application built as a Windows SharePoint Services 3.0 solution. It works with either Windows SharePoint Services 3.0 or Microsoft Office SharePoint Server 2007, and has the following core features: (1) Supports SCORM 1.2, SCORM 2004, and Class Server content, allowing users to store and manage this content in SharePoint document libraries. (2) Supports learner-centric and instructor-led (assigned) workflows. (3) Allows assignment, tracking and grading of both e-learning and non-e-learning content. &lt;p&gt; &lt;/p&gt;  &lt;a href="http://www.codeplex.com/stsdev"&gt;http://www.codeplex.com/stsdev&lt;/a&gt; - STSDEV: Simple Tools for SharePoint 2007 Development - A SharePoint developer's utility designed to quickly transform your ideas into real-world components that you can deploy into a staging or production Web farm with confidence. &lt;p&gt; &lt;/p&gt;  &lt;a href="http://www.codeplex.com/ChartPart"&gt;http://www.codeplex.com/ChartPart&lt;/a&gt; - ChartPart for SharePoint is a web part for Microsoft SharePoint Services 3.0 or Microsoft Office SharePoint Server 2007 which generates charts from SharePoint lists. The ChartPart is free to use for everyone, as long as you follow the License, who would like to "light" up their SharePoint installation with some nice graphs and charts. &lt;p&gt; &lt;/p&gt;  &lt;a href="http://www.codeplex.com/iLoveSharePoint"&gt;http://www.codeplex.com/iLoveSharePoint&lt;/a&gt; - PowerEventReceivers, PowerWebPart (supports AJAX and JQuery, execute PowerShell Script in a WebPart, render HTML and write ASP.NET code with PowerShell syntax), PowerActivity (execute PowerShell Scripts in a SharePoint Designer Action), Lookup Field with Picker (Single- and multi-Selection Mode, searching, search operators, select the fields you would like to search for, supports default values...), PowerShell Scripts V1.3, List without Title Column (you often doesn't need the title field but unfortnuately the context menu is attached to the title field so you're forced to use it anyway. Tha's over! Just try the List without Title Column. The context menu is attached to the ID of the List Item), User WebService (useful to switch views depending on the current user's SharePoint groups in Infopath; actually the WebService has only one method: GetUserGroupsFromCurrentUser ... a build-in SharePoint WebService which does the same?! Yes, but the built-in service doesn't work with Infopath 2007), Codename SPAC - SharePoint Assembly Cache (realized with SharePoint and WCF), and much much more. &lt;p&gt; &lt;/p&gt;  &lt;a href="http://www.codeplex.com/sptdatapop"&gt;http://www.codeplex.com/sptdatapop&lt;/a&gt; - SharePoint 2007 Test Data Population Tool - The SharePoint 2007 Test Data Population Tool (WSSDW.exe) is a capacity planning and performance testing tool that populates data for testing SharePoint deployments. The SharePoint 2007 Test Data Population Tool is available as a command-line executable program that extracts information about how to populate the server from an XML configuration file, and calls Microsoft .NET assembly: WSSDWLib.dll. Use this tool to populate test data for SharePoint capacity planning. Also included are some sample test scripts that can be used for performance and load testing SharePoint and Excel Services with the test data. &lt;p&gt; &lt;/p&gt;   &lt;a href="http://www.codeplex.com/pks"&gt;http://www.codeplex.com/pks&lt;/a&gt; - Podcasting Kit for SharePoint - Listen and watch audio/video podcasts, anywhere on your PC or mobile device (Zune, SmartPhone, or any podcasting device); Share content by producing your own audio/video podcasts and publish them on PKS on your own; Connect and engage with podcasters via your integrated instant messaging program; Find the most relevant content using the five star rating system, tag cloud, search engine and provide your feedback via comments; Get automatic podcast updates by subscribing to RSS feeds fully compatible with Zune and other podcasting devices; Simple RSS feed based on a defined podcast series; Simple RSS feed based on a person; Dynamic RSS feed based on search results (will be implemented later in 2009); Play podcasts in real-time using Microsoft® Silverlight™ and progressive playback; Retrieve instant ROI and metrics with the ability to track the number of podcasts downloaded and/or viewed, instant feedback via rating system and comments, and subscribers via the RSS feed; Access the richness of SharePoint to extend the solution: workflows, community sub-sites, access rights, editorial and more; Customize your own PKS User Experience &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-5517441898644039887?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/5517441898644039887/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/some-sharepoint-solutions-to-evaluate.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/5517441898644039887'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/5517441898644039887'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/some-sharepoint-solutions-to-evaluate.html' title='Some Sharepoint solutions to evaluate'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-5976581159024194013</id><published>2008-12-18T12:35:00.000-08:00</published><updated>2008-12-18T12:52:59.982-08:00</updated><title type='text'>TFS 2010 New Features</title><content type='html'>See &lt;a href="http://msdn.microsoft.com/en-us/vsts2008/products/bb725993.aspx"&gt;http://msdn.microsoft.com/en-us/vsts2008/products/bb725993.aspx&lt;/a&gt; or &lt;a href="http://blog.accentient.com/2010FeaturePreviewForTFSVSTS2010.aspx"&gt;http://blog.accentient.com/2010FeaturePreviewForTFSVSTS2010.aspx&lt;/a&gt; or &lt;a href="http://bryanandnoel.spaces.live.com/Blog/cns%2180E4A0EADF0C523C%211576.entry"&gt;http://bryanandnoel.spaces.live.com/Blog/cns!80E4A0EADF0C523C!1576.entry&lt;/a&gt; for some commentary on planned features for TFS 2010. Some things I like include:&lt;br /&gt;&lt;br /&gt;1. Finally we get hierarchical Work Item relationships.&lt;br /&gt;2. Linking of work items to each other and other objects is much more user-friendly.&lt;br /&gt;3. Build agent pooling lets you define a pool of build machines instead of individual build servers. This feels a lot like pulling your build machines from the cloud.&lt;br /&gt;4. Build workflow is vastly improved. For example, parallel building from one agent.&lt;br /&gt;5. A new Agile process template.&lt;br /&gt;6. Rollbacks really work right in SCC.&lt;br /&gt;7. Modeling that works with code. The planned Architecture Layer Diagram means that a developer or architect can use models to enforce constraints on code as well. The Architecture Layer Diagram can be coupled to code making it an active diagram that can be used for validation.&lt;br /&gt;8. A new Test Impact View window enables a developer to view a list of tests that need to be run as the result of a code change.&lt;br /&gt;9. Eliminating "No-Repro" bugs. I'll believe it when I see it.&lt;br /&gt;10. Branch Visualization is improved – basically a variety of graphical ways to see branching.  Branches become a first class citizen and show up in Source Control under a different icon (no longer just a subfolder structure).  You can visualize the hierarchy.  You can also visualize the way a changeset has been merged through the branch structure to help you see if a parent or child has been missed.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-5976581159024194013?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/5976581159024194013/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/tfs-2010-new-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/5976581159024194013'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/5976581159024194013'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/tfs-2010-new-features.html' title='TFS 2010 New Features'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-1076717710664886086</id><published>2008-12-18T12:31:00.001-08:00</published><updated>2008-12-18T12:32:28.453-08:00</updated><title type='text'>Writing to the SharePoint Unified Logging Service</title><content type='html'>See &lt;a href="http://scothillier.spaces.live.com/blog/cns%218F5DEA8AEA9E6FBB%21236.entry"&gt;http://scothillier.spaces.live.com/blog/cns!8F5DEA8AEA9E6FBB!236.entry&lt;/a&gt; for some helpful code on using a class library for writing to Sharepoint ULS - i.e. the Unified Logging Service.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;TraceProvider.RegisterTraceProvider();&lt;br /&gt;TraceProvider.WriteTrace(TraceProvider.TagFromString("XXXX (must be 4 letter tag)"), TraceProvider.StringToSeverity("Exception or Information"), Guid.NewGuid(), "Method Name", "Assembly Name", "Project Name", "Message");&lt;br /&gt;TraceProvider.UnregisterTraceProvider();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-1076717710664886086?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/1076717710664886086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/writing-to-sharepoint-unified-logging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1076717710664886086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1076717710664886086'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/writing-to-sharepoint-unified-logging.html' title='Writing to the SharePoint Unified Logging Service'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-6202534351137264119</id><published>2008-12-18T12:28:00.000-08:00</published><updated>2008-12-18T12:30:08.316-08:00</updated><title type='text'>Some must-reads</title><content type='html'>Some must-reads I've bookmarked:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://delicious.com/ianfnelson"&gt;http://delicious.com/ianfnelson&lt;/a&gt; - This blogger named Ian Nelson is good at keeping up on the latest/greatest for TFS, Sharepoint, .NET and all things Microsoft development related.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sheltonblog.com/archive/2008/09/24/free-training-developer-ramp-up-kit-for-microsoft-crm-dynamics.aspx"&gt;http://www.sheltonblog.com/archive/2008/09/24/free-training-developer-ramp-up-kit-for-microsoft-crm-dynamics.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.asp.net/learn/vsts-videos/video-129.aspx"&gt;http://www.asp.net/learn/vsts-videos/video-129.aspx&lt;/a&gt;   Watch this video on "Introduction to Manual Testing with Team System".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-6202534351137264119?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/6202534351137264119/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/some-must-reads.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6202534351137264119'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6202534351137264119'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/some-must-reads.html' title='Some must-reads'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-6655360842174992070</id><published>2008-12-18T12:24:00.001-08:00</published><updated>2008-12-18T12:27:35.213-08:00</updated><title type='text'>Videos for some training</title><content type='html'>I highly recommend looking at &lt;a href="http://msdn.microsoft.com/en-us/vsts2008/bb964616.aspx"&gt;http://msdn.microsoft.com/en-us/vsts2008/bb964616.aspx&lt;/a&gt;, &lt;a href="http://teamsystemrocks.com/tutorials"&gt;http://teamsystemrocks.com/tutorials&lt;/a&gt; and &lt;a href="http://www.asp.net/learn/vsts-videos"&gt;http://www.asp.net/learn/vsts-videos&lt;/a&gt; for training videos on Microsoft Team Foundation Server (TFS) and Visual Studio Team Suite (VSTS).&lt;br /&gt;&lt;br /&gt;Some other links to see for training material on TFS, MOSS, Sharepoint, .NET, etc. include:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.asp.net/learn/"&gt;http://www.asp.net/learn/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.sharepointhosting.com/Downloads/SharePoint-Tutorials.aspx"&gt;http://blog.sharepointhosting.com/Downloads/SharePoint-Tutorials.aspx  &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://betterecm.wordpress.com/2006/10/25/moss-2007-videos-screencasts"&gt;http://betterecm.wordpress.com/2006/10/25/moss-2007-videos-screencasts&lt;/a&gt; \&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sharepoint-videos.com"&gt;http://www.sharepoint-videos.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/feeds/msdn/en-us/videos/vsts.xml"&gt;http://www.microsoft.com/feeds/msdn/en-us/videos/vsts.xml&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/Feeds/RSS/"&gt;http://channel9.msdn.com/Feeds/RSS/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-6655360842174992070?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/6655360842174992070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/videos-for-some-training.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6655360842174992070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6655360842174992070'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/videos-for-some-training.html' title='Videos for some training'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-7806657693187771672</id><published>2008-12-18T12:21:00.001-08:00</published><updated>2008-12-18T14:37:37.433-08:00</updated><title type='text'>Column mappings between MS Project and TFS</title><content type='html'>See &lt;a href="http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/5c655d91-62d1-42f9-8296-8014ea32836a"&gt;http://social.msdn.microsoft.com/Forums/en-US/tfsgeneral/thread/5c655d91-62d1-42f9-8296-8014ea32836a&lt;/a&gt;, &lt;a href="http://msdn.microsoft.com/en-us/ms404687.aspx"&gt;http://msdn.microsoft.com/en-us/ms404687.aspx&lt;/a&gt; and &lt;a href="http://msdn.microsoft.com/en-us/ms252493.aspx"&gt;http://msdn.microsoft.com/en-us/ms252493.aspx&lt;/a&gt; for the details on the MS project Columns Mappings file for TFS.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-7806657693187771672?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/7806657693187771672/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/column-mappings-between-ms-project-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7806657693187771672'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/7806657693187771672'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/column-mappings-between-ms-project-and.html' title='Column mappings between MS Project and TFS'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-8665830447842669576</id><published>2008-12-18T12:19:00.001-08:00</published><updated>2008-12-18T12:20:22.408-08:00</updated><title type='text'>TSWA - Team System Web Access</title><content type='html'>Please see &lt;a href="http://msdn.microsoft.com/en-us/library/bb822087.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb822087.aspx&lt;/a&gt; for information on how to use Team System Web Access (TSWA).  &lt;br /&gt;&lt;br /&gt;Some other links to see:  &lt;br /&gt;&lt;a href="http://blogs.msdn.com/bharry/archive/2007/11/30/vsts-web-access-power-tool-for-team-system-2008-released.aspx"&gt;http://blogs.msdn.com/bharry/archive/2007/11/30/vsts-web-access-power-tool-for-team-system-2008-released.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://dotnet.org.za/willy/archive/2008/10/22/team-system-web-access-tswa-hyperlinks-enforcement.aspx"&gt;http://dotnet.org.za/willy/archive/2008/10/22/team-system-web-access-tswa-hyperlinks-enforcement.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.msdn.com/hakane/archive/2008/04/09/what-s-new-in-tswa-2008-sp1.aspx"&gt;http://blogs.msdn.com/hakane/archive/2008/04/09/what-s-new-in-tswa-2008-sp1.aspx&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=3ECD00BA-972B-4120-A8D5-3D38311893DE&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=3ECD00BA-972B-4120-A8D5-3D38311893DE&amp;amp;displaylang=en&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Apparently there is a recent Service Pack for TSWA :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-8665830447842669576?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/8665830447842669576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/tswa-team-system-web-access.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8665830447842669576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8665830447842669576'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/tswa-team-system-web-access.html' title='TSWA - Team System Web Access'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-5379875772754301248</id><published>2008-12-18T12:17:00.000-08:00</published><updated>2008-12-18T12:18:30.495-08:00</updated><title type='text'>Configuring Caching for Team Foundation Server Proxy</title><content type='html'>Team Foundation Server Proxy is designed to improve network performance by caching copies of source control files in a remote location, local to the developer needing the files but away from the main source control location.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;After installing Team Foundation Server Proxy, you must configure it in order to enable and manage a cache of source control files for the Team Foundation application-tier server. You can also configure Team Foundation Server Proxy to cache files for additional Team Foundation application-tier servers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For more information about Team Foundation Server Proxy configuration, visit the following topic 'How to enable source control caching after installing Team Foundation Server Proxy' in the Team Foundation Administrators guide located online at &lt;a href="http://go.microsoft.com/fwlink/?linkid=102703"&gt;http://go.microsoft.com/fwlink/?linkid=102703&lt;/a&gt; or in the product documentation.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;For more information about Team Foundation Server Proxy installation, see the Team Foundation Installation Guide located online at &lt;a href="http://go.microsoft.com/fwlink/?linkid=79226"&gt;http://go.microsoft.com/fwlink/?linkid=79226 &lt;/a&gt;or the TFSInstall.chm file included with the product.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-5379875772754301248?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/5379875772754301248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/configuring-caching-for-team-foundation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/5379875772754301248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/5379875772754301248'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/configuring-caching-for-team-foundation.html' title='Configuring Caching for Team Foundation Server Proxy'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-6344513910820998909</id><published>2008-12-18T12:14:00.000-08:00</published><updated>2008-12-18T12:15:15.529-08:00</updated><title type='text'>List of 5 Simple SharePoint 2007 Fixes</title><content type='html'>&lt;table dir="None" width="100%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="ms-PostTitle"&gt;&lt;a href="https://kcteam.eds.com/sites/1538/asb_admfin/alex/Lists/Posts/Post.aspx?ID=53"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="ms-blogedit" align="right"&gt;                         &lt;a href="https://kcteam.eds.com/sites/1538/asb_admfin/alex/Lists/Posts/EditPost.aspx?ID=53&amp;amp;Source=https%3a%2f%2fkcteam%2eeds%2ecom%2fsites%2f1538%2fasb%5fadmfin%2falex%2Fdefault.aspx"&gt;t&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="ms-PostBody"&gt;&lt;div dir=""&gt;Before you waste time on trying to fix complex TFS or MOSS problem I suggest doing 5 things.   &lt;p&gt; &lt;/p&gt; 1. Run an IIS Reset  &lt;p&gt; &lt;/p&gt; 2. Run 'SharePoint Technologies and Configuration Wizard' &lt;p&gt; &lt;/p&gt; Only #2 on the list because it takes slightly more time than #1. On the other hand, this should fix more problems than any other on the list. This does automatic IIS resets, so you will have temporary downtime. &lt;p&gt; &lt;/p&gt; 3. Reboot your machine(s) &lt;p&gt; &lt;/p&gt; 4. Make sure account has proper rights &lt;p&gt; &lt;/p&gt; This one is more for stsadm operations and scripts, but most of the time I have found if a command is giving you some strange failurethat it shouldn't, it is more often the account you are using doesn't have the specific right you need for that operation. The command line runat command is your friend for testing this. &lt;p&gt; &lt;/p&gt; 5. Install most recent Service Pack/Update &lt;p&gt; &lt;/p&gt;Be sure to check with Microsoft for any updates. SharePoint is one of their most premier products at the moment, and they are spending a lot of time and money developing for it. &lt;p&gt; &lt;/p&gt; Important to note: Recycling your app pools, restarting IIS and rebooting your machine are no-brainers in a dev environment. However in production you need to proceed cautiously. That's why its important to stage a stable prod server with config/settings changes made off-hours with some automated scripts to generate thousands of hits immediately afterwards as this will find 98%+ of potential problems before the users do. &lt;p&gt; &lt;/p&gt; Source: &lt;a href="http://www.naspinski.net/post/Top-5-List-of-Simple-SharePoint-2007-Fixes.aspx"&gt;http://www.naspinski.net/post/Top-5-List-of-Simple-SharePoint-2007-Fixes.aspx&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-6344513910820998909?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/6344513910820998909/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/list-of-5-simple-sharepoint-2007-fixes.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6344513910820998909'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6344513910820998909'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/list-of-5-simple-sharepoint-2007-fixes.html' title='List of 5 Simple SharePoint 2007 Fixes'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-4618954350705114946</id><published>2008-12-18T12:08:00.000-08:00</published><updated>2008-12-18T12:10:43.957-08:00</updated><title type='text'>Daily Scrum WIQL</title><content type='html'>&lt;table dir="None" width="100%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="ms-PostTitle"&gt;&lt;a href="https://kcteam.eds.com/sites/1538/asb_admfin/alex/Lists/Posts/Post.aspx?ID=17"&gt;&lt;/a&gt;&lt;br /&gt;&lt;/td&gt;&lt;td class="ms-blogedit" align="right"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="ms-PostBody"&gt;&lt;div dir=""&gt;&lt;div class="ExternalClass19D6D6747DFF4752AC13298E67457B92"&gt;&lt;div&gt;If you've ever heard of SQL then you will quick understand what the Work Item Query Language (WIQL) is for Team Foundation Server (TFS). I've created a Daily Scrum WIQL that I'll use to generate a report for each Daily Scrum. Here is the WIQL:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;SELECT [System.Id], [System.TeamProject], [System.Title], [System.AssignedTo], [Microsoft.VSTS.Common.Rank], [Microsoft.VSTS.Scheduling.StartDate], [Microsoft.VSTS.Scheduling.FinishDate], [Microsoft.VSTS.Common.Discipline], [System.Description], [System.ChangedDate]  &lt;/div&gt; &lt;div&gt;FROM WorkItems &lt;/div&gt; &lt;div&gt;WHERE [System.ChangedDate] &gt;= @today - 1 &lt;/div&gt; &lt;div&gt;ORDER BY [System.ChangedDate] Desc&lt;br /&gt;&lt;br /&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt;In Team Explorer you can save this Daily Scrum query in the "Work Items\Team Queries" folder of your Team Project. Run it, select all the result items and then copy/paste them into Excel. Then you can format the results to make a printout for everyone before the daily scrum.&lt;br /&gt;&lt;br /&gt;&lt;div&gt;See &lt;a href="http://msdn.microsoft.com/en-us/library/bb130306%28VS.80%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb130306(VS.80).aspx&lt;/a&gt; for more details on WIQL. &lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt; &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-4618954350705114946?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/4618954350705114946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/daily-scrum-wiql.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4618954350705114946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/4618954350705114946'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/daily-scrum-wiql.html' title='Daily Scrum WIQL'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-902738110863234995</id><published>2008-12-18T11:56:00.000-08:00</published><updated>2008-12-18T12:08:18.624-08:00</updated><title type='text'>TFS in the Cloud</title><content type='html'>Its no secret that its very difficult it is to install/support an instance of Microsoft Team Foundation Server. Many IT organizations have paid tens of thousands of dollars on labor to just get this task done and they've failed. As a result some organizations are looking for using TFS "in the cloud". Personally I think its great if you are doing offshore work or projects for non-profits and volunteer &amp;amp; open source engagements. But for industries like finance, insurance, medical records, government, etc. or industries where security of competitive data matters it doesn't make sense. However I think its useful to know/understand some "cloud" options such as the following.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://online-tfs.com"&gt;http://online-tfs.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.phase2.com/hosted_team_foundation_server_overview2.aspx"&gt;http://www.phase2.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.teamdevcentral.com/pricing.html"&gt;http://www.teamdevcentral.com/pricing.html &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-902738110863234995?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/902738110863234995/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/tfs-in-cloud.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/902738110863234995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/902738110863234995'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/tfs-in-cloud.html' title='TFS in the Cloud'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-8739364622471460174</id><published>2008-12-18T11:47:00.000-08:00</published><updated>2008-12-18T11:55:19.029-08:00</updated><title type='text'>Important Work Item Fields for Task Management</title><content type='html'>In managing tasks using Team Explorer its important to know the most useful queries and the most useful fields for tracking work. I'll break down the fields by three types - basic, information and tracking.&lt;br /&gt;&lt;br /&gt;The basic fields are:&lt;br /&gt;&lt;br /&gt;Rank - 1 and 2 means high priority and 5 means lowest priority&lt;br /&gt;Assigned To - each work item should be assigned to a specific person (or a "bucket" userid)&lt;br /&gt;State - In CMMi3 its Proposed by default; and in Agile its Active. Most reporting on active work is on those of Active state. Eventually the goal is to have a work item closed.&lt;br /&gt;&lt;br /&gt;The information fields are:&lt;br /&gt;&lt;br /&gt;Title - A brief summary of 40-70 characters that describes the work item and answers 90% of the questions on what its about so a viewer of work items won't usually need to drill down deeper into the work item to understand the scope.&lt;br /&gt;Description - Paragraph(s) describing in detail the scope of the task. Oftentimes this field will be empty as TFS provides the ability to related attachments or links that help self-describe work items within the scope of a project.&lt;br /&gt;History - Anytime a modification is made to a work item its sometimes necessary to add comments explaining the modifications. These comments should go in the History field.&lt;br /&gt;&lt;br /&gt;The tracking fields are:&lt;br /&gt;&lt;br /&gt;Discipline - categorize a work item on whether its analysis, project management, development, architecture, testing, admin, etc.&lt;br /&gt;Area - good for categorizing work by functional area hierarchy; and allowing for different security/visibility rules for users viewing work items&lt;br /&gt;Iteration - timeline cycles in the project; key for breaking up work for cutoff to later stages/phases&lt;br /&gt;Exit Criteria - mark YES if you want this work item tracked on the project checklist; keep NO if its only needed for internal team consumption. Its basically all about identifying the tasks that are "iteration backlog"&lt;br /&gt;Issue - mark YES if you want this work item tracked for review with the customers and stakeholders; keep NO if its not needed for customer review.&lt;br /&gt;&lt;br /&gt;For Team Projects created using the Agile or CMMI process template you should see /Process%20Guidance/Supporting%20Files/AboutWorkItems.htm on the Team Project's Sharepoint portal site for more information on Agile work item types. Example: &lt;a href="http://coditsolutions.com/docs/metodologias/MSF/MSF%20Agile%20Beta%202%20PT/Wss/Process%20Guidance/Supporting%20Files/AboutWorkItems.htm"&gt;http://coditsolutions.com/docs/metodologias/MSF/MSF%20Agile%20Beta%202%20PT/Wss/Process%20Guidance/Supporting%20Files/AboutWorkItems.htm&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-8739364622471460174?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/8739364622471460174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/important-work-item-fields-for-task.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8739364622471460174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/8739364622471460174'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/important-work-item-fields-for-task.html' title='Important Work Item Fields for Task Management'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-388284219778288347</id><published>2008-12-18T11:40:00.000-08:00</published><updated>2008-12-18T11:42:12.470-08:00</updated><title type='text'>Daily Scrums</title><content type='html'>&lt;div&gt;I suggest that work teams establish a daily time to do a quick technical interchange and see where we're at. In "Agile Scrum" these are called the "Daily Scrum". They should NEVER last longer than 15 minutes.  And we'd like to rotate weeks on taking on duties of being the "Scrum Master". If going longer its because we're going in-depth on some technical collaborative work, having a code review or something of that sort.  &lt;/div&gt; &lt;div&gt; &lt;/div&gt; &lt;div&gt;During the daily scrum each team member provides answers to the following three questions: &lt;/div&gt; &lt;ol&gt;&lt;li&gt;What did you do yesterday?  &lt;/li&gt;&lt;li&gt;What will you do today?  &lt;/li&gt;&lt;li&gt;Are there any impediments in your way? &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;We'd limit the role of "Scrum Master" to really be the meeting facilitator and the person who records that the answers to these 3 questions were reflected in the TFS work items' changes and if not to follow up and do it themselves or ask the other team member to do so. See &lt;a href="http://www.mountaingoatsoftware.com/daily-scrum"&gt;http://www.mountaingoatsoftware.com/daily-scrum&lt;/a&gt; and &lt;a href="http://www.mountaingoatsoftware.com/scrummaster"&gt;http://www.mountaingoatsoftware.com/scrummaster&lt;/a&gt; for some info. &lt;/p&gt; &lt;p&gt;Ultimately its an effective way to work as a team of peers using TFS out-of-the-box, to deliver in accordance to the project plan and methodology guidelines that the project manager has committed the team and to empower the leadership/customer to have full project vision and management capabilities as they wish. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-388284219778288347?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/388284219778288347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/daily-scrums.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/388284219778288347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/388284219778288347'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/daily-scrums.html' title='Daily Scrums'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-2664219069777513543</id><published>2008-12-18T06:25:00.000-08:00</published><updated>2008-12-18T11:20:00.986-08:00</updated><title type='text'>Databases in the TFS Data Tier</title><content type='html'>The TFS Data Tier is composed of 13 SQL Server databases as follows:&lt;br /&gt;&lt;br /&gt;2 Reporting Services and 4 WSS databases:  ReportServer, ReportServerTempDB, WSS_AdminContent, WSS_Config, WSS_Content, WSS_Search&lt;br /&gt;&lt;br /&gt;7 TFS-specific databases: TFS Databases: TfsActivityLogging, TfsBuild, TfsIntegration, TfsVersionControl, TfsWarehouse, TfsWorkItemTracking, TfsWorkItemTrackingAttachments&lt;br /&gt;&lt;br /&gt;You can learn more about each one of these at &lt;a href="http://msdn.microsoft.com/en-us/library/ms253070.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms253070.aspx&lt;/a&gt; or by googling them. In my Firefox browser I select the word I want to google in the browser, right-click and then select "google ...." from the menu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-2664219069777513543?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/2664219069777513543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/databases-in-tfs-data-tier.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2664219069777513543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/2664219069777513543'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/databases-in-tfs-data-tier.html' title='Databases in the TFS Data Tier'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-3098173010094321271</id><published>2008-12-18T06:24:00.001-08:00</published><updated>2008-12-18T06:24:41.685-08:00</updated><title type='text'>New TFS Gadgets</title><content type='html'>As the Microsoft.TeamFoundation namespace opens up all the TFS functionality for third-party tool development/integration it should be no surprise that we're starting to see more gadgets built to help teams productively work together in fulfilling their team's missions. &lt;p&gt; &lt;/p&gt; TFS Team Members Power Tool - see &lt;a href="http://blogs.msdn.com/bharry/archive/2008/11/13/extending-the-new-tfs-team-members-power-tool.aspx"&gt;http://blogs.msdn.com/bharry/archive/2008/11/13/extending-the-new-tfs-team-members-power-tool.aspx&lt;/a&gt; or &lt;a href="http://www.codeplex.com/tfscollab/SourceControl/ListDownloadableCommits.aspx"&gt;http://www.codeplex.com/tfscollab/SourceControl/ListDownloadableCommits.aspx&lt;/a&gt; for more on this.  &lt;p&gt; &lt;/p&gt; Teamprise Remote Accelerator - I'm not as excited about this one - &lt;a href="http://www.teamprise.com/products/accelerator"&gt;http://www.teamprise.com/products/accelerator&lt;/a&gt; - but its good in case the TFS server is ever super-widely used.  &lt;p&gt; &lt;/p&gt; System Center 2007 Management Pack for TFS 2008 - great for monitoring uptime and problems with the TFS server(s) - &lt;a href="http://blogs.msdn.com/granth/archive/2008/11/26/tfs-management-pack-for-system-center-operations-manager-2007-shipped.aspx"&gt;http://blogs.msdn.com/granth/archive/2008/11/26/tfs-management-pack-for-system-center-operations-manager-2007-shipped.aspx&lt;/a&gt; &lt;p&gt; &lt;/p&gt; TFS to TFS Migration Tool - it comes with a lot of disclaimers on when you should not use it - &lt;a href="http://www.codeplex.com/tfstotfsmigration"&gt;http://www.codeplex.com/tfstotfsmigration&lt;/a&gt; &lt;p&gt; &lt;/p&gt; TFS Working On - the perfect system tray tool for tracking which task you are presenty working on - &lt;a href="http://www.codeplex.com/TFSWorkingOn"&gt;http://www.codeplex.com/TFSWorkingOn&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-3098173010094321271?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/3098173010094321271/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/new-tfs-gadgets.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3098173010094321271'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3098173010094321271'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/new-tfs-gadgets.html' title='New TFS Gadgets'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-3401186803332137182</id><published>2008-12-18T05:39:00.000-08:00</published><updated>2008-12-18T05:41:06.433-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TFS Operations'/><title type='text'>Operations Guidance for Team Foundation Server</title><content type='html'>See &lt;a href="http://msdn.microsoft.com/en-us/library/bb663036%28VS.80%29.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb663036(VS.80).aspx&lt;/a&gt; for what I think is the best Operations Guidance manual for Team Foundation Server. I should warn you that it was geared towards TFS 2005. However it looks like the content is still applicable to running a TFS 2008 server. The fact that this TFS 2005 manual is very useful for TFS 2008 reminds me WHY its so typical that once an application architecture has been established in prototypes, stop-gaps and other temporary plans they tend to get stuck in concrete. Its just so hard to fix design problems later once they've become stuck inside a "temporary" prototype that works.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-3401186803332137182?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/3401186803332137182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/operations-guidance-for-team-foundation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3401186803332137182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/3401186803332137182'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/operations-guidance-for-team-foundation.html' title='Operations Guidance for Team Foundation Server'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-6208373833972577772</id><published>2008-12-18T05:22:00.000-08:00</published><updated>2008-12-18T06:23:14.107-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TFS Process Template'/><title type='text'>MSF for SLM</title><content type='html'>For DHS-ICE I've setup a .NET solution with a TFS Process template I've created called "MSF for SLM". Now developers/managers can make improvements to the default settings, documentation, policies and workflow used in setting up new Team Projects in TFS without a steep learning curve in learning new tools. What's needed is Visual Studio, connectivity/access to the TFS server and the &lt;a href="http://msdn.microsoft.com/en-us/tfs2008/bb980963.aspx"&gt;TFS Power Tools&lt;/a&gt; addin. Earlier this year I did a similar project task of setting up an enterprise-wide TFS process template for a publicly-traded company in the Chicago metro area. I fully expect that this federal agency will get the same added value potential by having this process template in place that'll do their methodology out-of-the-box and get work started more quickly and efficiently in the future. A TFS process template provides the full potential of having a ERP/CRM system for an IT organization all integrated in one platform.&lt;br /&gt;&lt;br /&gt;DHS-ICE uses the System Lifecycle Management (SLM) methodology for all their IT work. See &lt;a href="http://www.google.com/search?q=ICE+%22System+Lifecycle+Management%22"&gt;http://www.google.com/search?q=ICE+%22System+Lifecycle+Management%22&lt;/a&gt; for more on ICE's methodology. DHS-ICE uses Microsoft tools/software extensively across the enterprise. This Process Template is the means for marrying this methodology with the enterprise tools and its potential to transform the organization is huge. Its fully making it possible for any technical team at DHS-ICE to fully integrate all their processes/code/documentation in a reliable, stable, scaleable, customizable platform in order to be fully compliant with SLM.&lt;br /&gt;&lt;br /&gt;I sent out the following instructions to the rest of the technical team involved.&lt;br /&gt;&lt;br /&gt;You can access/modify the SLM process template for TFS by running Visual Studio Team Suite 2008 on a machine that has installed TFS Power Tools.&lt;br /&gt;1. Connect to the TFS server - i.e. http://xxx.xxx.xxx.xxx:8080 (hint: IP and port masked for this public posting)&lt;br /&gt;2. Navigate to $/SharepointArchitecture/ProcessTemplates_TFS under Source Control.&lt;br /&gt;3. Work with the ProcessTemplates_TFS solution.&lt;br /&gt;4. Use your local workspace folder for the "MSF for DHS ICE System Lifecycle Management - v1.0" subdirectory of this solution as your starting point for uploads using the Process Template Manager. Hint: You get to the Process Template Manager by right-clicking on the server node in Team Explorer and then selecting "Team Foundation Server Settings" -&gt; "Process Template Manager" from the context menu.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://msdn.microsoft.com/en-us/library/ms243782%28VS.80%29.aspx%20or%20http://www.google.com/search?q=%22TFS%22+%22Process+template%22"&gt;http://msdn.microsoft.com/en-us/library/ms243782(VS.80).aspx or http://www.google.com/search?q=%22TFS%22+%22Process+template%22&lt;/a&gt; to learn more about TFS process templates. I'm quickly seeing that CIO(s), IT leaders and the people paying their bills everywhere are getting excited about the opportunities that a TFS Process Template provides in being able to finally allow them to really fully manage and integrate all their IT projects and processes.  As these leaders look at alternatives they quickly realize what a no-brainer it is to go with TFS because no other product exists from any dependable, strong vendor that is robust enough to manage/run everything in an IT organization's business that will integrate well with current techonologies. A big reason why TFS can succeed in this is because of its Process Template(s) capabilities. The difficult part is finding an IT architect with the right mix of skills/experience to help get them started on this process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-6208373833972577772?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/6208373833972577772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/tfs-process-template.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6208373833972577772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/6208373833972577772'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/tfs-process-template.html' title='MSF for SLM'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4591457542771002109.post-1674197381198519464</id><published>2008-12-18T05:16:00.000-08:00</published><updated>2008-12-18T05:21:27.480-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='StsAdmn'/><title type='text'>StsAdmn Documentation</title><content type='html'>&lt;table dir="None" width="100%" border="0" cellpadding="0" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="ms-PostTitle"&gt;I found a page on a MSDN blog that provides links to wall posters and technical specs on the Stsadm tool/parameters for Microsoft Office SharePoint Server 2007 and Windows SharePoint Services 3.0.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://tinyurl.com/StsAdmn-Params"&gt;&lt;b&gt;http://tinyurl.com/StsAdmn-Params&lt;/b&gt;&lt;/a&gt;&lt;/td&gt;&lt;td class="ms-blogedit" align="right"&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4591457542771002109-1674197381198519464?l=alex-tfs.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://alex-tfs.blogspot.com/feeds/1674197381198519464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/stsadmn-documentation.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1674197381198519464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4591457542771002109/posts/default/1674197381198519464'/><link rel='alternate' type='text/html' href='http://alex-tfs.blogspot.com/2008/12/stsadmn-documentation.html' title='StsAdmn Documentation'/><author><name>Alex Degaston</name><uri>http://www.blogger.com/profile/03214855437375822416</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
