Showing posts with label Visual Studio. Show all posts
Showing posts with label Visual Studio. Show all posts

Thursday, January 31, 2013

Team Foundation Server as DVCS

Just yesterday I had a discussion with a client of mine about some of their teams that would prefer to use GIT as apposed to TFS. I mentioned that TFS will definitely be moving that way (looking at GIT-TFS that was brought out a while back), it is just a matter of time.

Low and behold this morning Brian Harry announced that TFS Service can now actually host GIT repositories with full support and integration coming in VS 2012 update 2 with VS tools for GIT.
As I mentioned it is already available on TFS Service and will be heading to “on premise” with the next major release of TFS.

You can read more on how to get started here.

Exciting times!!!

Wednesday, January 9, 2013

Connecting to TFS 2012 from older versions of Visual Studio

Just in case you were wondering, it is absolutely possible to use TFS 2012 from previous versions of Visual Studio.

All you need to do is get hold of the Future Compatibility Patches.
For the sake of ease, here they are:

VS 2010
VS 2008
VS 2005

For earlier versions, in fact anything else that supports MSSCCI providers there is even a free provider for TFS 2012 in both 32 & 64 bit.

Just note that you would need at least service pack 1 for each version of Visual Studio.

Monday, January 7, 2013

Setting a User Story In Progress through My Work

One of the cool new features in Team Explorer 2012 is the My Work page. It has a bunch of useful and context specific functions that makes interacting with TFS a lot more streamlined.

One of these features that has been introduced is the ability to “Start” and “Stop” or even “Suspend” work.  You can decide on a work item query that displays the available work for an iteration and then with a single click, you can “start” working on the work item.

image

It works very well if you are using tasks for your work backlog. When you start a work item, Team Explorer will change the task to “active” and assign that task to you.

There are however two instances where things may need a little manual intervention:

1) When you are not using Tasks

I always recommend using Tasks to break down User Stories or Product Backlog Items, but I do have a client that breaks up the work into fairly fine grained User Stories and they don't see the need to create additional Tasks.  We found that creating a query to return the current iterations User Stories allowed you to “start” the User Stories, but it did not change state or assign the user to the work item.

After a little digging I found that unlike the Task definition,  the User Story does not define the “StartWork” action on the transition between the “New” and “Active” states. Luckily it is a fairly simple process to update the work item definition.

Use the witadmin to export the work item definition, update the “New” to “Active” transition to include the “Microsoft.VSTS.Actions.StartWork” action and, hey presto, when you start work though the My Work page, it automatically assigned the User Story and sets its state into “Active”. Take a loot at the “Adding the StartWork and StopWork action” section of this post for step by step instructions.

2) Upgrading from a previous version of TFS

When upgrading a project collection instance, a lot of the “new” functionality needs to be added manually.This post does a very good job of taking you though the steps to enable some of the new features in TFS 2012.

Thursday, November 29, 2012

What does TFS cost?

Ever been given the run-around on what it actually costs to have TFS running?
Let’s see if I can break it down.

Note: I’m using retail prices for these examples, so this is the ABSOLUTE maximum that you would pay. There are a couple of licensing agreements that could see you paying a great deal less.

We all know that you get a TFS Server license and CAL when you have an MSDN subscription, right? So if you license your developers with MSDN subscriptions you have the right to install TFS and each developer with an MSDN subscription is allowed to access TFS. If you do not have MSDN subscriptions or have a “Partner Action pack” then you would need to purchase a $499 Server license and a $499 CAL per person accessing TFS unless they fall into an exempt list (discussed a bit later)

What the TFS Server license includes is obviously the ability to install and run TFS and it grants “limited rights” licenses to use:

  • SQL Standard
  • SCVMM if you have any of the following subscriptions
    • Ultimate
    • Premium or
    • Test Professional 

The “limited rights” means that you are only allowed to use SQL for TFS and SCVMM for Lab Management. If it is going to be used for anything else, you need to license it separately and obviously if you already have SQL or SCVMM licensed you can use those.

So now you have TFS and some of the components, but you need to install it on an operating system which will need to be licensed separately. If this is going to be a production server (basically the definition of “production” is that there are big problems if you lose it), the OS licensing is NOT covered by MSDN, you would need a separate server license ( About $882 for Windows 2012 Std ).

So we have TFS and we can install it on a server. Here is the tricky part…regardless of the fact that Windows 2012 is a per-processor license, you still need a Windows Server CAL ( $199 for a 5 CAL pack) for anyone who is going to connect to TFS (whether they are exempt from a TFS CAL or not)

So we end up with something like this:

image

TFS CAL Exceptions

As mentioned earlier, there are a couple of exceptions with the requirement of a TFS CAL. You do NOT need a TFS CAL when (snipped from the VS 2012 licensing white paper):

  • Entering work items through any interface, and viewing and editing work items you created. This enables users to enter and edit their own work items of any type.
  • Accessing Team Foundation Server reports. Any read-only data that comes from the Team Foundation Server SQL data warehouse or is surfaced through SQL Server Analysis Services would be a report, but custom reports could also be written to call into Team Foundation Server APIs and could also join that data with other data sources.
  • Accessing Team Foundation Server using Microsoft System Center Operations Manager. This enables operations staff to take operational issues encountered in production and raise them as issues to the development team, automatically creating a work item in Team Foundation Server.
  • Accessing Team Foundation Server using the Feedback Client for TFS. This allows the user to provide Feedback about an application into Team Foundation Server.
  • Viewing static data that has been manually distributed outside of Team Foundation Server.
  • Up to two devices or users that only access Team Foundation Server to perform system administration, such as creating Team Projects or Project Collections.

TFS Express

Microsoft has also brought out TFS Express which runs on SQL Express and is limited to Version Control, Work Item Management and Build. TFS Express does not provide any of the reporting capabilities or allow for SharePoint integration.

It does however allow up to 5 users without the requirement for a CAL, only the 6th person and up will require a CAL. So this makes a good starting platform for smaller teams. The OS still needs to be licensed though.

Levels of CAL

It also needs to be noted that there are “levels” of CAL’s when looking at TFS. To use the Backlog and Sprint Planning Tools and the Request and Manage Feedback features you need to have either a VS Ultimate or Premium MSDN or a Test Professional MSDN subscription.

Summary

So let’s take a simple scenario. You are 5 developers with MSDN subscriptions. To run TFS in a production environment the costs look like this:

TFS $0 (covered my MSDN)
TFS CAL $0 (covered my MSDN)
Windows Server $882
Windows Server CAL $199

Total:

$1081

If you do not have MSDN subscriptions the picture would look like this:

TFS $499
TFS CAL $2495 ($499 * 5)
Windows Server $882
Windows Server CAL $199

Total:

$4075

I hope this clears up some of the questions that I get posed fairly often.

References:

Wednesday, October 24, 2012

SA Developer Meet : TFS and Visual Studio 2012

We have organised a SA Developer meet in Cape Town, Wednesday 31st of October.

I will be covering some of the new features that really get me exited with the new release of Team Foundation Server 2012 and Visual Studio 2012.

I have some goodies and trial versions for some of the lucky people that will be attending.

Book now, seats are filling up!

Thursday, October 11, 2012

FREE Visual Studio ALM preview! - CAPE TOWN

Visual Studio & Team Foundation Server 2012 is here, and during the months of November and December Team Foundation Consulting will be offering your company a FREE 1 hour ALM session.
These sessions will cover some of the new features available in TFS and VS 2012 and aspects of ALM.

All sessions will be presented at your premises, and availability is limited.
To book or enquire about a session please email info(at)teamfoundation(dot)co(dot)za or contact us via our contact page.

Note: Min 5 attendees required for sessions.

JHB - sessions will be made available in January/February 2013 - email us if you are interested and we will advise you when the sessions become available.

Thursday, August 2, 2012

Visual Studio and Team Foundation Server 2012 Launch Dates

Microsoft has finally “lifted their skirt” regarding the release of the much anticipated VS and TFS 2012.

For more info Jason Zander is the man

Friday, June 1, 2012

Visual Studio & Team Foundation Server 2012 RC

Yes, Visual Studio vNext or VS 11 has finally got a name.
Microsoft has dropped the release candidate for Visual Studio 2012 and Team Foundation Server 2012.

There seems to be quite a significant amount of changes, and I’m glad to see that a lot of them were requests and issues raised from the “community”.

For more information have a look at these:

Download the bits over here.

So much goodness, so little time…

Tuesday, April 17, 2012

VS 11 : Team Explorer

One of the many things that has received a redesign in VS 11 is Team Explorer.

image

(Notice the “Search Work Items”)

Yes – if you are sharp, you may have noticed that this is from the “dull” Visual Studio 11 Beta.

Now this is a tricky one to get to grips with. I’ve been using it almost daily for the last 2 or so months and I’m yet to get used to the navigation between the “pages” or views.

Where we were used to having everything in a tree view, things have changed a bit and everything is grouped into its own page.

Take the work item view for example:

image

One thing that I’m sure the TFS guys will still work on is the association between work items and the check in.
To associate a work item (if you do not know it’s id) to the check in you follow the following steps:

  1. Go to the work item view, select the query to run and display all the work items
  2. Navigate to the home page and select the “Pending Changes” option
  3. Drag the selected work item from the result view into the “Related Work Items” section

A bit laborious if you are new to TFS.
Now in all fairness, and after you figure out how to use it, there is (yet) another view that manages your “work” a bit better. It does work like a charm if you are using TFS and follow the conventions that the work item flow imposes on you.

image
One thing that I think is absolutely amazing is the code review functionality. Like I said before, I’ve been using VS 11 for a couple of months and primarily work in a distributed team environment. The code review works like a charm for us – especially when you are not available to do the review at the point in time that it is requested.

You go to the “Pending Changes” or your “My Work” view and select “Request Review” to open up the request view.

image

Select one or many reviewers from the team members assigned to the project and then submit the request.

This sends a request to the reviewer, and when he/she opens up the “My Work” view, the request is waiting. The reviewer can then accept the request and use the brand spanking new diff tool to perform the review, adding notes on a line or file level and finally send the resulting comments back to the requestor.

image

Behind the scene this process is achieved by using a mix of work items and shelve sets, and this was one of the big drivers that I had to adopt TFS 11.

I’m sure that there is still going to be some work involved and this is not the absolutely final version, but it sure does make me excited for when the RTM lands…

Friday, March 9, 2012

TFS For everyone…

Some really cool news from Brian Harry this week. The licensing model for Team Explorer Everywhere (TEE) has been changed to reflect Team Explorer’s model. This means that TEE is now freely downloadable (previously you had to purchase the software). All you need is a CAL for TFS (same restriction as on Team Explorer).

This really opens up the TFS environment to non Microsoft developers out there..

This licensing model combined with TFS Express means that you can setup an environment using VS Express and/or Eclipse with TEE connecting to TFS Express, free for up to 5 people.

Microsoft Analyst / Tester event in Cape Town

Anyone that is interested in an overview of managing and tracking requirements, bugs and test cases with Team Foundation Server, Visual Studio and/or Microsoft test Manager, I’ll be presenting an event at the Cape Town Microsoft offices next week.Check it out

Calling all Analysts and Testers: Improve the delivery and quality of your projects (CPT, 13 Mar,free)

This event is in CPT. The equivalent JHB event, which has been blogged about before, can be found here

Are you a tester or analyst on your team? Do you still track your requirements, test cases and bugs manually using Word, Excel and Outlook? Are the bugs you find difficult to reproduce and you have challenges on getting visibility on the quality and project status?

As software grows increasingly complex, quality assurance can no longer be an afterthought. An inefficient or isolated testing process can hinder software quality, reduce time to market and drive up costs. Microsoft is hosting an event to help your organization avoid these potential pitfalls by making testing and quality assurance an active part of the application lifecycle.

DATE/TIME: 13 March - 08:30: -10:30

VENUE: Microsoft South Africa, Golf Park 3 ,Engen HouseRaapenberg Road, Mowbray

COST: FREE

REGISTER : https://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032505806&Culture=en-ZA

see you there…

Tuesday, March 6, 2012

VS 11: And Microsoft decreed: You shall search..

It seems that Microsoft took some time to “search enable” a lot of the previously “un-searchable” areas. Some of the notable areas include the toolbox, error list, solution navigator (before VS power tools), etc.

For example, on the “Error List” – not that I would ever like to be faced with more than a few lines of errors/warnings, you have the search box present.

image

You may also notice a “filter” option on the left hand side that comes in handy, allowing you to show errors in the currently open document, all open documents, and the current project.

image

A nice little feature that some of these searches have is a shortcut key. For example the solution navigator shortcut key is “Ctrl” + “;”. This puts the cursor in the search criteria box and you are A-for-away to start typing your search.

image

So there has been a distinctive focus on making things searchable. The pièce de résistance in my mind is what I can only consider an attempt to reduce the large number command bars and have commands accessible to the developer when we need them. The Visual Studio team brought in – wait for it - yet another search. This one is a bit different though – it is called a “Quick Launch”.

What this little gem allows you to do is a search across all the commands available in Visual Studio and in your current context (e.g. saving the current open document). No more searching one menu after the other to find a command that is hidden away 2 or 3 levels deep… I think of all the searches this must be the one that will save me the most time.

Until next time…

Friday, February 24, 2012

Visual Studio 11 & .Net 4.5 Beta Imminent

Finally the BETA release for Visual Studio 11 has been announced. I wonder if it is going to be a good or bad omen, releasing it on the 29th !?

In addition to this Brian Harry has also covered an Express version of TFS making it easier for smaller teams to start adopting TFS. This should also make the decision a lot easier for start-ups considering version control systems that will be able to grow with them.

If that was not enough, another BIG bonus is that Visual Studio Express will be able to integrate with TFS!

For a list of links and announcements around this development check this out

Things are starting to heat up now!!!

Monday, January 23, 2012

Visual Studio vNext or VS 11

I started playing around with TFS 11 and Visual Studio 11 shortly after the announcement of the Developer Preview. Unfortunately (or fortunately) things started getting pretty busy with the business and the time disappeared.
Finally I have been able to polish off some of the posts that I started and will be posting these as time allows. So let’s start at the beginning:

 

Convert Project

The first thing most people do (I’m sure) is to open a solution, and the first difference shows itself. Thinking back, conversion from one version of Visual Studio project file to the next became a “blind” next, next, next operation. The new dialog almost took me by surprise. The standard csproj or vbproj files does not need to be converted (this is actually a feature in VS 11) and the smaller projects that I opened worked fine. Obviously something has changed with the Modelling Project and the Database Project (I’ll get to that in a later post).

clip_image002

 

Solution Navigator Explorer

Once your project files are up to date, the next thing you will notice is that Solution Explorer has changed a bit. Anybody familiar with the “Visual Studio Productivity Power Tools” would recognise this as the “Solution Navigator”.

clip_image003
Finally the “Collapse All” image is a standard feature (It took long enoughWinking smile ). Other nice features include the search box, the ability to navigate “into” the file, class and method definitions and the Back and Forward “Navigation” image buttons allowing you to “navigate” from one search result to the next.


Tuesday, November 1, 2011

Visual Studio and TFS extensibility

I came across this post by David Baliles listing a whole range of add-on’s to TFS and Visual Studio.

Whenever I speak to anyone that will listen I keep on re-emphasising the extensibility of TFS and Visual Studio. It really opens up the potential that lies within the applications, making it available to people and environments that no-one would ever have thought possible.

Together with this there are the people that actually take the time to solve their problems and then make their solutions available to the world. I really commend these individuals for their passion and effort.

David’s list just emphasises the extensibility and the community that surrounds it.
Have a look – it is a really interesting list, I’m sure you may find something that you have been struggling with…

Monday, October 24, 2011

Customising TFS Work Items

Work Items in TFS forms one of the primary “abilities” that Team Foundation Server exposes. A work item is a generic object that you use to record various “things” in TFS. The type, structure and workflow is defined as part of the process template as a work item definition or type. The MSF for CMMI process template has different work item definitions than for example the Scrum template would have. Work item definitions is also the closest that TFS will get to “exposing” or modelling a methodology.

In my business I often get requests to change or adapt work items to include fields that are important to the customer or to alter the workflow to better represent the process that is used internally in the customer’s team.

The work item definition is at its heart an xml schema containing fields, rules, form layout and workflow associated to the specific work item.
If you have a good xml editor you can export the work item definition using the witadmin utility, make your changes and then import it back into TFS using the same tool.

Of course if you don't feel like wading through all those angle brackets you can get hold of the TFS power tools and use the process editor.

After installing the power tools, select “Tools –> Process Editor –> Work Item Types” from the Visual Studio menu. You have the option of importing or exporting work item types (WIT),  editing types directly on the server or locally (using an exported WIT).
Good advice would obviously be to first export a WIT, make changes and then import the changed WIT if you are using a production  instance of TFS.

A note: As mentioned previously, the different types of work items are defined as part of the process template. For example the MSF for Agile template would yield the following work item types:

image

After selecting a work item the work item editor will open

image

You are now free to add new fields, change the work item form and alter the workflow.

It is simple enough to change the work item definitions using the process editor but you still need to take note of the following:

  • Make sure you know the difference between the a Dimension, Measure and Detail when setting the “Reportable” field
  • Make sure that you have a good understanding of, and cover all paths when changing the workflow for the work item
  • When customising a work item it is important to remember that if you change the work item definition on a team project, the change will not be reflected on other team projects unless you manually update them. One way to overcome this is to alter the process template and include the changed work item definition in the process template. Next time you create a new team project those changes will be present.

 

Friday, September 30, 2011

Team Foundation Server is Version Control

This is a part of the blog posts surrounding the misconceptions that surround TFS. For the first post see TFS is expensive.

Team Foundation is Version Control…

There are a lot of debates raging (and have been for a long time) about how inferior TFS is when it comes to version control. Obviously the favourite comparison has always been between TFS and SVN, but these days the comparison is also shifting to the DVCS style of version control systems.

TFS version control (IMO) has always done what was needed. There are a lot of nit-pickers who look at the specific functionality that TFS does not support, but once again – I have used SVN and TFS and found that a lot of these features were really just “nice to haves”, and in most cases TFS did have a work around in one form or another.

The main thing that I feel is not addressed when people make these comparisons is the fact that TFS “IS NOT” version control. Version control is merely a feature, one of the components that make up TFS.
TFS is an ALM suite. It covers a much broader spectrum than just version control.

There are a lot of misconceptions around ALM as well. In fact, one of my large corporate clients was very keen to check the “we do ALM” checkbox after they started using SVN. Using version control does not mean you are addressing the full ALM!

So that said, one of the things that really excites me about TFS is the rate at which it is evolving. The “problem areas” are being addresses as the product matures. I’m sure you would have heard of TFS 11 & VS 11 by now.

Just looking at the changes that Brian Harry and his teams are making to TFS version control, it is going to be yet another game changing release:

I’m off to get my hands dirty with the TFS & VS 11 developer previews…

Monday, August 22, 2011

Team Foundation Server for everyone, everywhere…

The topic I chose to present for this round of Dev4Devs Cape Town was (you guessed it) TFS.
This time I took a different approach and showed off the “new” focus that Microsoft has started adopting. Instead of trying to convert everybody to the Microsoft way of doing things, Microsoft is starting to adopt the desperate development realms and in some cases, is actually supporting them! This is very exciting for everyone using very competent, often “lower cost to entry” development tools and technologies, providing capability to grow which was previously unrealised.

So without further delay – here is a brief overview of my presentation: TFS for everyone, everywhere

IDE of choice…

Anyone who has worked with TFS should be familiar with Team Explorer. This is the developers portal into “the belly of the beast, erm TFS”.

image

Maybe a little less known to the Java, and especially the Eclipse developers would be a product  by the name of Team Explorer Everywhere (TEE).
This is (amongst others) an Eclipse plugin which is basically Team Explorer for the “non-Microsoft” orientated. It introduces TFS to the Windows, Linux, Mac, Solaris, AIX and HP-UX users (see here under system requirements for the “official” list of supported IDE’s and OS’s).

TEE

Deja vu?

As would be expected there are a few minor differences between the two, but by far any Visual Studio / Team Explorer user will feel right at home using and configuring TEE, right down to the check in dialog and policies.

API of choice…

OK, so now you have TFS integration into Visual Studio and Eclipse. What about the extensive .NET API (that is installed with Team Explorer)?

No Problem! Microsoft has released a TFS Java SDK.

Looking at a .NET example to create a work item in TFS:

1) Add a reference to Microsoft.TeamFoundation.Client and Microsoft.TeamFoundation.WorkItemTracking.Client

2) Establish a connection to the appropriate TFS Project Collection

   1: //get default credentials
   2: var credentials = CredentialCache.DefaultNetworkCredentials;
   3:  
   4: //connect to TFS project collection 
   5: TfsTeamProjectCollection collection = new TfsTeamProjectCollection(new Uri("http://localhost:8080/tfs/defaultcollection"), credentials, new UICredentialsProvider());
   6: collection.EnsureAuthenticated();

3) Using a Service Locator pattern we can get “services” from the project collection. In this case we are interested in the WorkItemStore. This is basically a repository for work items and can be used to load and query work items



   1: var workItemStore = collection.GetService<WorkItemStore>();

4) Then a bit of plumbing… Because each team project is based on a specific process template we need to get a work item definition that is appropriate to that project/process template. In this case we are looking for the “Task” work item definition in the “Dev4Devs” team project



   1: var project = workItemStore.Projects["Dev4Devs"];
   2: var workItemType = project.WorkItemTypes["Task"];

5) Create a new work item and start setting appropriate properties



   1: var workItem = new WorkItem(workItemType);
   2:  
   3: //set appropriate properties on the work item
   4: workItem.Title = "my new work item";

6) And finally, based on an active record pattern, we simple save the newly created work item



   1: workItem.Save();

Simple enough…..


So looking at the Java SDK, how difficult will it be?


1) The first step is to obviously get hold of the Java SDK and add it as a referenced library in the java project


2) Create a connection to the team project collection



   1: TFSUser user = new TFSUser("useraccount");
   2: TFSTeamProjectCollection collection = new TFSTeamProjectCollection("http://localhost:8080/tfs/DefaultCollection", user, "Password");
   3: collection.ensureAuthenticated();

3) Get the work item client (instead of store…)



   1: WorkItemClient workItemClient = collection.getWorkItemClient();

4) Get hold of the work item definition from the appropriate project



   1: Project project = workItemClient.getProjects().get("Dev4Devs");
   2: WorkItemType type = project.getWorkItemTypes().get("Task");

5) Create a new work item



   1: WorkItem workItem = workItemClient.newWorkItem(type);
   2:  
   3: //set appropriate properties on the work item
   4: workItem.setTitle("my new work item from java");

6) and finally



   1: workItem.save();

So, save a few nuances, pretty much the same when it comes to the interface exposed by the .NET and Java object models.


As mentioned earlier, I can’t wait to see where all this leads to in the adoption of TFS as a decent (and more often than not, cheaper) ALM suit.
Team Foundation Server…. not just your average version control Winking smile


 


Logo 48x48

Tuesday, August 9, 2011

Team Foundation Server goodie bag

Anyone that has been following Brian Harry over the last number of weeks would have started seeing what is in the pipeline for Team Foundation Server vNext.

As he posts about the new features, I’m getting more and more exited about the way that Microsoft is busy closing the gap between TFS and the products that TFS is usually compared to. I find that there is still a very narrow vision of finding a single feature, and then if the system you are comparing against does not support this feature as expected, it is discounted (sometimes aggressively).

Things are changing though…

One of the new features that would make a lot of SVN users very happy is the introduction of local workspaces. This is a particularly big deal as a lot of people seem to have problems with working in “offline” scenarios.

Another contentious issue has always been the rollback ability within TFS source control. A large number of people may not have known this, but rollbacks in TFS have actually been possible for a while now. Granted a bit of a hassle as a “true” rollback was only possible via command line.
Well not any more. According to Brian, the next version of the TFS Power Tools will be bringing forward the Rollback “UI” from the next release.

Considering how TFS as a product is maturing while taking the community into consideration, I must admit that making a decision to take the passion I have for TFS, building a business around it while sharing it with the world, was probably the best thing I could have done.
After all, who would have ever expected a Microsoft supported “cross platform” Java based environment and API for TFS to appear?

I can’t wait to see what is coming next!

Logo 60x50

BTW: If you are considering upgrading to Visual Studio 2010 or TFS 2010, please do evaluate your Software Assurance options…

Monday, August 1, 2011

Professional Team Foundation Server 2010

ProTFS2010I recently finished reading Professional Team Foundation Server 2010 by Ed Blankenship, Martin Woodward, Grant Holliday and Brian Keller.

I’ve been a long-time fan of all the authors and was quite exited when I heard that they were busy writing this book. So when it was finally available in this country I snatched one up and started reading.

Barring the fact that I think there are some questionable statements, I found the book to be tedious at times as it starts out with a high level overview and then drills down into more detail in subsequent chapters.  I think the layout of the book is well suited as a reference book, looking up sections as and when you need to find information on certain topics.

The book did bring some insight into areas that I was previously not so familiar with, and it is evident that the authors are well versed in TFS. One thing that I found interesting was the guidance on how to do “Planning and Deployment”. This is obviously very helpful when you’re doing this as a business or just wanting to adopt internally.

ProALMwithVisualStudio

Overall I must admit that I did enjoy the book. I would say that Professional Team Foundation Server 2010 and Professional Application Lifecycle Development with Visual Studio 2010 are definitely required for any team taking development with Team Foundation Server and Visual Studio 2010 seriously.

Happy Reading !

Logo 60x50