What are the best tools for managing .NET software development?
Which tools would you recommend for managing a .NET software development process, to include these features:
- Requirements repository
- Bug tracking and feature management
- Wiki
- Source control
- Testing
1) Would you go for more powerful individual applications, such as HP Quality Center for requirements and testing, JIRA for bugs and features, Confluence for wiki, and TFS for source control?
2) Or an integrated solution using just TFS for everything, but where the individual components might not be as good as the industry-leading applications?
Good Answers (5)
We use TFS as the main tool for managing software development. Conceptually TFS is meant to be used in it entirety to achieve continuous integration. Starting from Requirements repository to Bug tracking, work item assignment and source control.
TFS gives you the ability to track lines of code to bugs or work items. It also comes with share point so you can host your own template version of document control. You can use templates for Agile as well and it works well with TFS.
Do not fall into the trap of using multiple tools, it can only complicate your life and you need additional resources to manage these tools and processes.
Whats the point of paying for TFS if you arn't going to use it? In order to take advantage of the basic features you would need to use the bug tracking and tasks in TFS so you can check in work items to those tasks/bugs so you can manage your builds.
If you want TFS for strictly source control check-in/out maybe you should use VSS or another open source alternative? TFS is very pricey to use as just a source control vault.
TFS is an excellent tool. As one of the previous answers stated, it can handle your entire process. If you have 5 or less developers and have an MSDN subscription that provides the workgroup edition, then you won't have any additional cost. However, for a larger number of developers, you'll need to upgrade, which can be expensive. Then again, compared to other commercial offerings, it might have a lot of value and its an excellent package.
Another option is to go with SVN, Tortise SVN, and Redmine. They don't have as many features as TFS, but are open source.
Your best bet is a hybrid approach. Falling into the trap of using TFS for everything just because you paid for it will really limit your team.
Requirements repository - TFS does a decent job with storing documents. If you setup the SharePoint site you can access documents through TFS or through a browser. Since it runs on SharePoint you get versioning for free.
Bug tracking and feature management - TFS' interface is completely unusable for this. It's clunky and non-intuitive. I'd go with FogBugz or another hosted service.
Wiki - The wiki provided through the TFS SharePoint site is horrible (It's not a real wiki). Go with MediaWiki for a company wide solution. FogBugz also contains a decent wiki if you go with that for your Bug Tracking solution.
Source control - TFS is a very good source control system. The integration with the IDE is slick. I just hope the offline support gets better.
Clarification added July 8, 2008:
Other developer tools that you will want to look at for building your development environment:
CruiseControl.NET - Integration environment
NANT - Build script
NUnit - Unit testing
WatiN - Browser testing
We're a .NET shop, but we've adopted a good bit of open-source software running on linux. For our small (<15) team, we use the following:
BaseCamp: This is a commercial service. Good for managing small projects and interacting with customers outside your organization.
Bugzilla: Bug tracking
RT: Customer issue tracking (would be nice if we could unify bug tracking and customer issue tracking in one system, but we haven't found the ideal one yet)
Subversion + WebSVN + scmbug (integrates Subversion with Bugzilla) + SVN::Notify (pretty emails on checkin)
TortoiseSVN - The best SVN client on Windows
CruiseControl.NET - Continuous integration server
NUnit - Test-driven development/automated unit tests
Drupal - Great content management system, we use it for both our customer community web site and our internal development team's site.
On the customer support side, we're big fans of LogMeIn Rescue for providing remote customer support.
More Answers (9)
have a look into Assembla,, it just might work for you...
Links:
Ashwin K
Director and Co Founder of Winjit Technologies Pvt Ltd and Owner, Winjit Technologies Pvt Ltd
We have worked on both environments
Option -1
Mantis -- Bug Tracking
Wiki - For requirements
SVN - Source Control
Cruise Control / Nant - Auto Build
Option -2
Mantis -- Bug Tracking
Wiki - For requirements
TFS - Source Control
TFS - Auto Build
I think the best suggestion would be to go with an integrated approach I know you would not get all the features and would miss on the best solutions but I would suggest go with an Integrated approach as the head ache of management and control of multiple systems is very high.
TFS requires a lot of resources for various activities and you need some good hardware systems while the other open source are comparatively easy on resources but again they are not very well documented on support issues though there is a large community using it and supporting it but the reliability and ownership is not known at times and you cannot target the right resource for help.
Conclusions
1.) Integrated one Solution
2.) Avoid Multiple solutions.
3.) Even if you have multiple solutions look for solutions which has addons to make it work like one integrated solution (Eg SVN works with TFS ide)
Personally I would only use the following:
Mantis -- Bug Tracking
Wiki - For requirements
SVN - Source Control
Cruise Control/Nant
Although I've had issues with CruiseControl in past - mainly my own stupidity...
Something I have also used with some success is SourceForge
HI Chris,
I got the right answer for you.
TestLink: Requirements Repository and Testing Management
Trac: Bug Tracking, Wiki and Source Control (Web)
Subversion: Source Control
Both TestLink and Trac can do feature management. It really depends on
your project requirement. Both Trac and TestLink can integrate with JIRA and other bug tracking system (e.g. Bugzilla). Trac is an awesome tool to manage your project and make everything on track. TestLink is also a good tool to do test management.
If you are interested in how it works, I can give you more detail. I am running a mobile software development company and have been using this various US customers. We use TestLink to manage couple large scare testing projects that our customers outsourced to us. We also use it to do a mobile product.
I am very interested in integrating open source tools to manage software development projects. Please let me know if you have any additional questions about this area.
Jackey
You can also try the trac [1] solution, which lets you plug in the source configuration management system of you choice (it works fine with subversion and mercurial, at least), as well as cruise control, and handles the requirement/bugs/documentation part.
Another one to try is gforge [2], which interfaces nicely with tinderbox to handle continuous integration, and which is really great if you have several projects to manage.
It is worth doing the effort to set trac or another forge up, since adding new projects with a similar setup will then be very easy.
Links:
As far as Requirements Repository, Bug Tracking and Feature Management and Source Control, I recommend Source Gear's Fortress.
* It has a great repository that runs on SQL Server so that you can back up your source code in a familiar manner.
* It has a product development portion that will allow you to plan features and track bugs
* It has a web interface for non-licensed users to report bugs and propose features (be careful how you expose this)
* On check in from VS, you can actually tie code to bugs/features resolved (pretty sweet for reporting).
I've used it and variations of their previous solutions for the past few years and have had no issues.
It's $499 per dev and I think $199 for a BA
Links:
SVN, Tortoise, CruiseControl, NUnit, FogBugz / Jira / Scarab?, Sharepoint for docs. There are a million wikis out there. DekiWiki looks good.
You don't need to spend a dime and these products will blow TFS away. I think MSFT dropped the ball big time on this product suite.
Clarification added July 8, 2008:
+1 SourceGear Vault / Fortress as well
I think you should really consider Team System . The usage of Team Foudation Server and Visual Studio Client enables that all the development process to be done inside the VS.
If you are considering it now you have two choises: VS2008 or Rosário.
Rosario is the next version and you cand try it downloading from Microsoft Site. The 2008 version is the current version and it gives you everything you mentioned in one integrated tool.
Wonoh K
Embedded Software and Hardware. Measurement System. Machine Vision. Motion Control. Control System. Power Electronics.
Best Answers in: Software Development (1)
As many Windows application programmer, I don't like Microsoft products full of bugs but yet the best match for .NET software development is again another Microsoft product: Visual Source Safe.