Thursday, January 3, 2013

Microsoft System Center and Team Foundation Server

Recently I spent quite some time getting to grips with Microsoft System Center  (SC). I have a client that has a very large IT infrastructure environment and relies quite heavily on SC to monitor and manage it.
SC is one of those products where the question “What does it do” will prompt an answer “What do you want it to do?”. If you have not heard of System Center before, it is basically a suite of products specifically aimed at corporate IT administrators, assisting them in managing Microsoft server and desktop infrastructure.

MSSC

This means that you can leverage SC (making use of the various aspects or applications ) to do everything from AD account provisioning to virtual machine creation and deployment.

TFS does have a management pack which integrates TFS very nicely with System Center Operations Manager (SCOM).

“The Team Foundation Server 2012 Monitoring Management Pack provides both proactive and reactive monitoring of Microsoft Team Foundation Server 2012. It monitors TFS components such as application tier server instances, team project collections, build servers, and proxy servers. “

So we can monitor TFS and report failures and even go as far as “escalating issues” to TFS in the form of work items.

This post however, centres around System Center Services Manager (SCSM). SCSM with its “out of the box” integration with a number of SC applications, including Orchestrator, makes it a very capable application for managing, automating and adapting your IT services.
It also provides built-in processes for incident and problem resolution, change control, and asset lifecycle management.
Has the penny dropped?
What if I mention that TFS work items provide built-in processes for incident and problem resolution, change control, and application lifecycle management.

The client that I mentioned earlier is using SCSM to manage everything from infrastructure to software requirements and changes.
The development team is using TFS and they wanted to “integrate” SCSM with TFS, reducing the effort involved to manually copy work items and progress from one system to the other. They also wanted to reduce the context switching between the applications, specifically in the development environments.

So where to start…

As I mentioned earlier, SCSM integrates very comfortably (using connectors) with a number of the SC applications. One of which, Orchestrator (previously Opalis), is basically a workflow management system. In SCSM you can invoke and execute Orchestrator workflows through a number of processes and via a number of hooks, and in Orchestrator you can configure “monitors” that poll target systems. Through Orchestrator and custom “Integration Packs” (IP) you can basically have SCSM integrate with any number of 3rd party applications.

The guys over at the Orchestrator Codeplex project had already built some IP’s for various applications and fortunately for me there is even one for TFS.

So, how did we get this going..

Firstly you need to get hold of the Integration Packs and deploy them to the Orchestrator “Runbook” server.
Then we can create the workflows that monitor SCSM for any changes in the Requirements and Manual Activities.
When a requirement is created or changed we push over that change to TFS as a User Story.
Next we find associated Manual Activities and then create or update them in TFS as Tasks that are linked to the User Story.

 

image

The same approach is followed when a change is made to a work item which is then updated in SCSM.

One problem that I did have was that the TeamFoundationServer IP was built using TFS 2008 and updated to TFS 2010. This means that work item links were not taken into account when the initial activities were created.

Fortunately it is very easy to code these custom activities (think activities in Windows Workflow Foundation) in the IP’s, and being a codeplex project I was able to grab the code and create the additional activities (I did submit a patch with the changes)

This was a very interesting learning experience, delving into yet another one of Microsoft’s application suites. This also takes TFS’s capability and makes it available into areas that you would not necessarily have considered possible, further establishing TFS as a true ALM suite.

If you would like to know more, or would like TFS integrated into SCSM. Give us a shout..

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.

Cape Town Software Week

The coming week (13 – 19 October) will be a busy week in Cape Town.
Starting on 13th with Software Week then ending with Microsoft TechDays on the 19th.
Cape Town Software week is going to be a very interesting week, covering everything from skill mentoring through to business and industry insights, really something that is a “must attend”.
I’ll be involved in some of the technical and skill mentoring sessions over the weekend..
see you there..

Thursday, October 4, 2012

The truth about having your own business…

“A business can be likened to a ‘jealous lover’ in that it will demand most of your time, it requires significant commitment,
sacrifice and passion, and it will interfere with most of your plans”
- Denvor Phokaners

Sunday, September 30, 2012

Process and the tool

image

Microsoft has a very competent ALM story that is being backed up by the Microsoft Visual Studio ALM “suite”. Don’t take my opinion for it though; Microsoft must be doing something right in this space to be one of the leaders in Gartner’s “Magic Quadrant for Application Life Cycle Management, June 2012”.

One thing I can point out in the diagram is that Microsoft is not the only player in the ALM space; there are a fair number of people with varying degrees of success battling it out.

The thing you should be aware of is that the tool itself is not the be all and end all of a “proper” application life cycle. I have come across a number of companies that are looking for a “tool” to solve a process problem.

The company feels pain in the way that they are doing things and then starts looking for a tool that will “solve” the problems. When the tool does not fulfil the need 100% they start looking at the next one (in some cases they have literally been looking for years).

The problem is that in all likelihood they will never be able to find the “right” tool, regardless of how complete a story the tool caters for, or how competent or proven the tool may be.

“Then what should we do?”

Glad you asked.
Firstly, take a deep hard look at your current process, highlighting the problems. It is important to be honest with yourself in this step. You will base your plan of action on the outcome of this step. (You may consider doing an ALM assessment that may give you some clarity on your situation or level of maturity https://www.microsoft.com/assess/almassessment/default.aspx ).

Next, find people that have had similar problems, or look at best practices that are being adopted and how they may solve your problems.

Next you need to make some hard decisions.
How are you going to change to relieve the problems? Something needs to give; some decisions need to be made. You cannot expect to follow the same process and somehow the problems will reduce or disappear (as Albert Einstein once said "The definition of insanity is doing the same thing over and over again and expecting different results"). The best development team can only do so much; the rest is up to the process that governs the day to day and week to week actions.

Finally you can start looking at the toolset that will support the process, taking note of the following (just to name a few) aspects:

  • How do the various aspects of ALM integrate with each other?
    Do you have a single up to date and accurate “high level” view into the various aspects without needing to dedicate a person or resources to compile these reports or statistics?
  • What value can you derive from the tool?
    Does it provide you a rich functionality with regards to reporting, accessibility, integration and/or usability?
  • How well integrated is it in your day to day activities?
    Is it available when and where you need it to be with as little as possible context switching between applications or environments?

In conclusion, it is important to note the following:

  • You cannot solve a process problem with a tool
  • The tool needs to support and automate your process, bringing together information from every aspect of your project!

 

In need of process, ALM or Team Foundation Server adoption guidance?
Give us a
shout!