Hey. I am assembling a new team of software developers, and I am looking at various tools that overcome the previous nightmares that I had with other teams.
Over the past 5-6 years, these are some of the transitions that I went through:
SourceControl:
CVS => VSS => SVN
Project management, bug and problem tracking:
Paper => PostIt Notes => OneNote => BugNet => OnTime
Wiki and documentation:
Word + Network Share => ScrewTurn Wiki
Automation Builder:
Cruise control + MSBuild
Now, especially because of the SVN and wiki situation, I am learning this command with something fresh. We used to have run-down nightmares with SVN, and the more we try to fix it, the worse. Another challenge I have is to find something stable and integrated. You can imagine that BugNet + SVN + ScrewTurn + CruiseControl + MSBuild are completely different animals, so integration and synergy are very important; I don’t want to jump between 10 different applications to report an error or assign tasks, as well as check the work done and view the repo log.
So, the new team and I have been discussing this for a couple of days, and I think we narrowed it down to two possibilities:
1. TFS 2010
Pros:
- The all-in-one solution. It really has it all, including the new SCRUM process template.
- Very user friendly user interface and SharePoint integration.
- WYSIWYG Wiki and Office Integration.
Minuses:
- High upfront costs for hardware and administrative time. The software is also, but it does not affect us because we have an MSDN subscription with free software.
- I do not agree with the initial TFS control. SC is file-based and with central storage like SVN and VSS. I really do not want to fall for the same problems as in the past.
2. FugBUgs + Kiln + CC
Pros:
- Kiln uses Mercurial, with all the benefits of distributed source control.
- Minimal initial costs and planning time for its launch and launch. $ 30.00 per user per month.
- Very user friendly web interface.
- Editor WYSIWYG Wiki.
- A very simple tool for tracking issues and project management. It would be easy to integrate SCRUM processes.
Minuses:
- Shortcomings of builder automation tools for more integrated processes (for example, TFS). Thus, this will mean that we will have to keep banging our heads with command line features and community tasks in order to support our construction workers.
That day I used Visual Studio Team System 2005, and I did not use the best memories of the system; but the new TFS 2010 looks very solid. FogBugz and Mercurial love new kids in the block, and they bring new thinking to new processes, but, as always, it's a double sword. Anyone with solid experience with any of these? Are we missing this 3rd option? Do you have this silver bullet for my problems?
- Tool integration
1.1. Source management
1.2. Wiki
1.3. Build automation
1.4. Project management
1,5. Tracking problems. - Minimizing branch control conflicts and grouping conflicts (yes, we need to branch and merge)
- Friendly user interface (not all are CMD hackers)
- WYSIWYG Wiki.
- Learning curve for developers.
- Time for all this to be done by VS. Long term value.
The new team has 4 team members + 1 project manager (Scrum Master) and 1 product manager (product owner). Therefore, we are talking about a relatively small and new team. the scope and projects that we will work on are large, enterprise applications with several projects and branching variations.