VSLive2005 – Ajay Sudan – Managing the Software Lifecycle with Visual Studio 2005 Team System

Ajay Sudan is presenting an overview of Team System at VSLive2005.  He’s giving an excellent overview of the entire topic.  To be cleaned up later…

Cool Info:

  • Team foundation will support up to 500 developers out of the box.  For more developers, TFS installs can be ‘chained’.
  • You can create a new project by BRANCHING from an existing project!!
  • Can install your companies data center as a ‘drag and drop’ control from the toolbox.
  • Code Coverage is easy!  You can show how much of your code is covered by your unit tests with a few clicks!


Demo: Adventure Works – Expose web services to the outside world.  Will need to move to a three-tier architecture

  • Create a new project – Give it a name
  • Pick a development process template – MSF 4.0 Agile or MSF 4.0 Complete
  • This creates a group of tasks, and a structure with document templates needed to use MSF 4.0 Agile (or whatever you picked)
  • Name the project portal – this will create a Sharepoint site
  • He’s opening up a new design surface using the Application Designer
  • He simply drags two new web services to the diagram and connects them.  This is the power of the designers!
  • He’2013-08-28 13:52:38’s viewing the “Settings and Constraints” that he wants for the Web Services.  This is a cool feature that ties into the Dynamic Systems Initiative (DSI).
  • Ajay stresses that he’s just ‘whiteboarding’ right now.
  • But here comes the “Generate” click, and BINGO! the application is designed.
  • A quick switch to the Logical Datacenter Designer.  This will allow an IT expert to define restrictions, etc of the IT architecture.  Once again, this is a tie-in to the DSI (using the System Definition Model (SDM)).
  • He’s adding a new a new Distributed System Diagram to the project, and doing the drag drop.
  • Using the AdventureWorks Center that the IT folks already installed in the toolbox.
  • He’s binding the services created in the Application Diagram object to the actual infrastructure of the AdventureWorks servers in the Logical Datacenter Diagram. 
  • We can now validate the diagram to ensure that all constraints are met, and that we can deploy the application.
  • The validation failed, since AdWorks is using NT4 and the web services require Windows Server 2003.
  • So, he simply adds a Work Item, telling the Infrastructure Architect to upgrade the server!  ๐Ÿ˜‰
  • Now, he’s generating code.
  • By right-clicking, he’s able to generate a new unit test.  (This kicks butt, and will be available in VS Professional, too)
  • So, he can easily build unit tests against against the code.
  • In addition, the can show the code coverage easily.
  • Now, when he runs the application, the code coverage will run and he can see how much of his code is covered by the unit tests. (Green highlights are code that is covered, Red highlights show code that isn’t covered).
  • Now he does the Static Code Analysis – remember, it’s extensible.
  • Cool piece!  He’s setting up a rule that forces devs to run static code analysis, code coverage and unit tests BEFORE allowing them to check in code.
  • Class Designer is next – he’s stressing that the code and designer are different views of the same thing (there is no ’round tripping’ going on here)
  • Now he’s built the code to make the Web service run. (The web service sends an instant message to his IM client.)
  • Now it’s time for integration with AdWorks.  What happens is that when the customer checks out, they will be sent an IM thanking them for their purpose. 
  • What makes it easy is that the proxies are all created automatically when the architecture was designed.
    Next test will be a Web Test. 
  • This will record his click streams as he wanders through his application.
  • Now, he’s got his ‘test’, but he needs to extend it to order more than just one item.
  • So he uses the UI to extend the test to order multiple different items.  These items will come from a database, randomly.
  • Now, using the web test, he’s going to extend it by adding a Load Test
  • Load Tests are a container for any types of test.  Can run a constant stress, or ramp up over time.  You can also specify which tests you want to run. 
  • with Load tests you can simluate think time, browser types, and network types.
  • The load tests will collect lots of different performance counters.  There are three groupings of perf counters to help you.
  • Now, running the load test, and the data starts to plot out graphically.
  • By opening up the IM client, we can see that the test is running, since he’s getting lots of IM alerts.
  • There are built in thresholds and reasonable numbers that you can use, just in case you’re not an expert at interpreting performance counters.
  • Back to VSTS.
  • He’s going to check in his code, and he’s associating the code checked in with the work items he was assigned.
  • He’s mentioning shelving – a temporary branch that can be used to store code at the server without officially checking it in.
  • Key point: VSTS tracks important data without the need to individually ask developers for input.  Yea!

Great presentation and demo!  Lot’s of excitement in the crowd!!  YES!!!  VSTS ROCKS!