4

I am a lead software developer, and I have just been tasked with revamping our software development process. Part of this will be to implement a system with the following:

Source Control Build automation Project management/ reporting Unit Testing Bug tracking Continuous integration

Now on the face of it, MS Team Foundation Server seems like the most obvious choice, especially as we are generally a MS software team, using Visual Studio and VSS.

However the snag is that solution would ideally be used by the whole IT department for Project Management/ reporting and Issue management, and as far as I know TFS is really aimed at software development.

So my question(s) is: Does such a set up exist? Is TFS flexible enough to facilitate more generic IT project ? Would it be better to implement Trac, SVN etc (because at Trac may well suit the IT department generally), and we could bolt on svn, Nunit, and other tools to meet the requirements list?

Thanks for reading - any ideas would be greatly appreciated.

1
  • 2
    First, get away from VSS. Get onto ANYTHING else.
    – CaffGeek
    Oct 12, 2011 at 15:12

3 Answers 3

5

I assume that you're on a fairly Agile project if you're into continuous integration and automation.

The move from VSS to SVN will already make you very popular with the kind of developers you want to keep on your team. Do it. My developer friends will kick me if I don't mention Mercurial and Git too, but honestly, SVN's pretty simple and a really good start. TortoiseSVN is a useful graphical interface.

For keeping track of ongoing work and bugs, electronic boards like Rally's and Version One's are very popular (Rally aims to be useful for developers, while PMs seem to like the control that comes with Version One, so it depends who you're using it for). This could either be stand-alone or mirror a physical board for the team. They can also be useful for keeping track of whole project portfolios, and I believe both provide free trial licences for single teams.

You'll need a different tool if you also have to triage user complaints / bugs, etc., and if it suits your context better it's perfectly OK to play a bug-tracking tool alongside a board. Trac is fine. I've used Jira. Others who've tried to use the Grasshopper plugin as a project management tool / electronic board have struggled, so I can't advise doing that.

For continuous integration, TFS hasn't had the best reviews from developers. You may want to try something like CruiseControl.NET, TeamCity, or even start with something lightweight like Jenkins. Move to a more powerful build tool if you really need to - most of the learning devs do here is about what needs to go where in what form, rather than the build tool itself, so it should be reasonably quick to change if required.

Another good thing about most of the tools I've mentioned here is that they're free. As with any big movement to a new tool set, I recommend that the developers try some different things out on a typical project and see which one suits them best. You also avoid tying yourself to a single platform, so if any one aspect of this doesn't work out for you, you can change it later. You may also be able to play some of these into TFS if you choose to go down that path.

As a note to yourself and anyone else reading this, please try to help the developers pick the tools which suit them, and ask their advice about this too (you may also want to try this question on programmers.stackexchange.com). If you have to work around their tools a bit to get the information you need, at least you know they'll be more effective as a result.

1
  • +1 - pick the tools which suit them. The tools must work for the teams and those using them. Not the other way around.
    – Jesse
    Oct 11, 2011 at 17:57
0

I wouldn't say that TFS would be an immediate choice simply because you are using Microsoft Dev tools. In fact I would strongly encourage you to take a look at TeamCity (as Lunivore already has mentioned). The professional edition is free to try and is very flexible.(SVN / test runners are both easy to setup and running)

In regards to issue tracking & project management tools (I have used / demoed / researched many) and I always seem to come back to JIRA coupled with the GreenHopper plugin. The customization you can apply to workflow's and JIRA's contained projects make it a very powerful tool for each team using it. (SVN plugin can be setup enhancing the visibility of work committed against an issue)

Rally and Version One are bother great tools, but I always found myself working the way the tool wanted me to work, vs using the tool as an aid to my project & planning.

1
  • 1
    I've found the GreenHopper plugin to be very powerful from an Agile Coaching perspective. It's consistently the single tool most likely to drive a team to use an actual physical whiteboard instead ;)
    – Lunivore
    Oct 11, 2011 at 7:02
0

You can go the route of best-of-breed but you'll have the integrations over head (manual or plugins) which is a serious barrier to adoption by your team.

To start I'd simplify your search by dealing with Source control as a separate requirement. SVN hosted would be my recommendation unless you have huge code bases to deal with when I'd host it on it's own server in house (not a VM).

Draw up your feature list (take inspiration from the product you have evaluated already) and look for the solution that has most, not all, of them. From the context of your question (growing either in size or complexity) the products I'd recommend you look at are OnTime from Axosoft or possibly the FogCreek suite of products.

OnTime in particularly blends bug tracking, feature requests, PM and work flow very well. The UX is good also just host it on it's own server, it's a little chatty.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.