Andrew Coates blogs about his Team System experience here – so far so good. (And yes, like him we are hanging out for the new provider so we can ease it into our VFP development). My comments below are mainly focussed on management (not development).
I’m pleased to say our initial experiences are good also (although we are only using it on the .Net side of things so far). We are now well into a big project built on .Net 2.0, SQL 2K5 and TFS. And whilst the setup has taken a bit of work (and we can thank Scott Wakefield our Web Development Manager for some long hours getting that working – btw Scott when are you going to start blogging?) overall the effort is paying off. (As an aside, he had just got everything running well on B3 when the RC came out – Scott made the call to upgrade straight away – and whilst it cost him another weekend of long hours – he definately made the right decision.)
So what does it give you? [Before starting however, it should be noted there is some way to go before TS is the tool the hype anticipates.]
But straight away the biggest point scorer for us has been the ability to open up our internal TFS server to our clients. We have given our client access to our full project management tasks, documentation, questions forum, design diagrams, build history, project KPIs and progress in a second. A subset of all the information that we use internally is now available to our clients externally via a simple https:// link. The portal functionality basically comes out of the box. And every change we make, build we check, document we update etc is immediately available to our cilent.
And TFS gives you the ability to set up alerts for instant notification. All this at no cost to us, other than the initial setup which we had to do anyway.
To me this is an awesome boost in professionalism – perception is everything remember! – and we were very excited to deliver this to our clients. They love it by the way.
The second thing I like is the workflow it gives – out of the box most people will go with the MSF agile methodology template and strip it back (top down). This is OK but not great, ideally you want to spend the time building a template that matches your internal processes (ie bottom up). Scott Scovell has been working on this side of things but it wasn’t ready in time for our current project. (Scott will be blogging about that side of things in due course.)
The third main point is the developer tools it gives. Now, it’d be wrong of me to cover these – honestly I haven’t got anywhere near that level of detail (sadly I mainly manage these days – my days of developing are fast fading) so I’ll leave that for the Scotts to discuss later. However I’ve seen how the guys use it and they are very positive about the clarity it brings to the workload – it is a no brainer as to what they need to do, when to do it and how much time they’ve been allocated to do it. Not that this is a new concept to any company, but now developers have a simple way of managing their tasks without leaving their development environment. This is one of the main points Team System promised, and I feel it has delivered well.
My focus in TFS has been how we as a company can use it to improve processes, developer productivity, customer involvement and overall project management. As a software manager I am very cautious when it comes to using Beta products, so the move to running a large project on a product not yet released has been a careful one.
I’d like to point out that this particular project has 5 developers working on it, so the cost of the setup is able to be absorbed over their combined resource. Had the project been smaller the cost may not have been so quickly repaid. So be careful about jumping into a TFS based system – the time taken to get it working for your project is not minimal. However, once done, it is easily used on all projects.
Also, we have TFS on a dedicated server. In our case this is a dual Xeon blade, since we want it to handle growth. But, don’t assume you are going to get away with one of the old unused desktop machines hanging around your office. Note also that TFS uses SQL Server, so you will need to handle that requirement also. Licensing is a sore point to some, but just part of the cost of good project management in my opinion. (Note – TFS includes a SQL license for its own purposes).
My opinion, although I don’t really know what the Microsoft line on this is, is that TFS is not a small company (eg 1 – 4 developer) option. Not that it couldn’t still be used, but I question the ROI it’d deliver.
Summary, TFS has a resonable cost that needs to be carefully factored in to the decision.
However, if the cost is acceptable (or trivial as it will be in the big shows) then the power, productivity and perception that TFS promises is certainly possible. I’m far from convinced that .Net as a technology has delivered anywhere near what we’ve all hoped for, however, without doubt TFS has given software development a huge push forward.