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!

Sunday, September 9, 2012

It is good to be busy.. or is it?

As you may have noticed I started and run my own business.
(I’m sure that this must be a parents worst nightmare.)
“Mom, dad… I have quit my job and I’m going into business on my own.”
I can just image them thinking to themselves “aarrggghh – should probably clear out his old room…”

Two years later and I’m struggling to keep up with the work load, every time my parents ask “how are things going?” and I reply “very busy”. Then the inevitable reply comes (with a hint of relief no doubt) “that is good”.

One thing I fear that they are missing is that there are in fact various different types of “busy”. I have tried to explain it before, but I think I’ll just send them to this post in the future..

Lets break down busy. In my opinion, there are a different levels of busy and where some are good others are down right bad.

1) Busy with things that pay you “decent” money

This is a good busy. This is you doing work and being paid for it at a decent rate. If you are not doing work under this category in any way, form or shape you could effectively be losing money. You should spend most of the time busy with this type of work or with activities that will induce more work under this category.

2)  Busy with things that merely pay

Yes, this does differ from number 1. As with anybody that is still finding their space and niche, you tend to take on “other work” that you do not charge the “full” rates for. This could include long term jobs, (in my case) maintenance work (something like retainer) or just plain work you cannot justify charging the full rate for.

Don't get me wrong, this type of work is important when things are slow, when you do not have any other income in the month this could be a “life saver”.
However, when this work starts getting to the volumes that the “initial allocation time” starts increasing uncontrollably, problems start occurring.
You spend more time on this than being focused on either performing or hunting down those “decent” income jobs, effectively losing potential revenue!

3) Busy with things that do not pay……..yet

This is a difficult one. These things you need to do to ensure future revenue. In my case these activities would include for example doing presentations at events or going to see clients to discuss or chat about their problems or even writing blogs. This is a good place to promote myself and my business in terms of who I am and what I can do, basically marketing.

As I mentioned at the beginning of the paragraph this is a difficult one in that it takes a fair amount of time, yet you do not have direct returns.
Without it however, you probably will not have any “returns”.
This is something that you do “need” to do, and in my case probably after hours and over weekends (if you are not busy with something in one of the other categories).

4) Low/no income and very low/no real gain

Unfortunately this is a nasty one. Think of those “quick” projects that just kept on going forever, without payment and with scope creep through the roof. Promises that payment will come if you deliver x,y and z, but on delivery it is not good enough and the requirements have changed etc. etc. etc.

You have made commitments and there is no easy way out of this. Every moment that you are spending on this one you are losing out on any of the other categories.
Other than to just walk away I do not really know how else to handle these.
Obviously things like reputational risk come into play, just in general leaving a bad taste in the mouth.

 

I think these (or a combination of these) cover the main point of being “busy”. So next time someone says they are busy, ask them is it a “good busy” or a “not so good busy”.

 

Tuesday, August 7, 2012

Code Lab 2012 : Refactoring Talk

I can hardly believe it has been a week already since Code Lab 2012 kicked off in Somerset West. I must admit, I did gain a bit of insight into topics I have not really given much thought to previously. It was indeed an educational experience, I would definitely recommend it when Code Lab comes around again.

A couple of people have asked for the presentation slides and code on my talk “You want me to do what…” in which I took people through some patterns and conventions when refactoring an application.
I decided I’ll post it online in case anybody else is interested.

You can download the slides and the start and end solution here.

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

Wednesday, July 11, 2012

Code Lab 2012

Instead of a Scrum Gathering this year, SUGSA is hosting Code Lab. It will be 2 days of hands on sessions and talks all around the technical practices you need to be successful with agile.

I almost feel out of my depth being a presenter amongst the list of revered people, both local and international.

For more information and a list of sessions visit : http://sugsa.org.za/code-lab/

Hurry up – tickets are limited!

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…

Thursday, May 17, 2012

Rename or Clone TFS 2010 Server

Ever been in the situation where you wanted to make a clone of a production TFS environment, or just needed to rename the server?
Well, I needed to do exactly that for a client recently and spent a couple of hours banging my head on SharePoint in particular.
SharePoint is a very problematic renamer, and I will need to cover that in a separate post, but the rest is fairly straight forward.

Note: I’m assuming that the the login used to perform these tasks is a administrator on the server..

MSSQL Server:

Open up SQL Server Management Studio (or your favourite SQL tool) and connect to the database server. You will notice that if you execute “select @@servername” it will return the “old” or previous server name.

To update this you need to execute the following (replacing the <<oldserver\instance>> and <<newserver\instance>> with your appropriate server names (and instances if applicable):

exec sp_dropserver ‘<<oldserver\instance>>’
GO
exec sp_addserver ‘<<newserver\instance>>’, local
GO

Reporting Services:

Open up “Reporting Services Configuration Manager” and connect to the server, then select “Database”.
Select “Change Database” to display the change wizard.

Select “Choose an existing report server database”, enter the new server name in the next page. Next select the “ReportServer” database and then “Next” until you can “Finish” after verifying settings and applying security scripts.

That should take care of SQL and Reporting Services

TFS 2010:

If you were to open up TFS Administration Console you would find something like this:
image

I must admit that I was surprised (after a bit of digging) that the only change needed to point it to a new server was in the web config file. So go to the TFS web services directory ( By default : %system drive%\Program Files\Microsoft Team Foundation Server 2010\Application Tier\Web Services) and open up the web.config file. In the config file, find the <appSettings> and change the connection string for the “applicationDatabase” to point to your new server name.

Open up TFS Administration Console and you should see some values pulling through now.

The next step is to change the url’s for TFS. In the TFS Administration Console under “Application Tier” select “Change URL’s” and update accordingly.

Now we need to “fix” reporting services. Select “Reporting” in the tree view and click “Edit”. Go to the “Reports” tab of the edit dialog and change the server name. Select “Populate URLs” to reload the correct config.

image

If you do have “schema problems” with either the warehouse or analysis services database, you can change the name and TFS will re-create the databases for you.

Now all that is left to do is to make sure that the project collection’s SharePoint site bindings are correct and you should be A for away..

If this is too dodgy, the next option would be to create a new server from scratch and “port” your existing environment over. I can tell you from experience that is is also not as straight forward as you may think, after all “it is just SQL databases…” backup and restore – right?! …. wrong - but I’ll leave that for another post.…

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…

Monday, March 26, 2012

Words of wisdom…

Some words of wisdom that have become apparent to me in my ventures…

  1. Until you’ve been an employer, you cannot consider yourself to be a good employee
  2. Unless you’ve been awake at 2am worrying about how to run a business, in my opinion you can’t presume to know how a business runs

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.


Monday, January 9, 2012

Welcome 2012

WOW. I woke up and realised that we have officially started 2012.
Now if this is our last year on earth or not, I wish everyone a prosperous and fulfilling year ahead.
Some of the things that I’ll be looking forward to this year:
  • Windows 8
  • TFS & Visual Studio vNext
  • C# 5
  • Delving deeper into WP7
  • And then scratching around Silverlight 5 as well
Have a good one!
Now to remember to put down 2012 instead of 2011!