You did finish the requirements gathering and decided what features you want.
People starting with source control, or migrating from one system to another, will certainly ask themselves this question. The easy answer is, it all depends. And your answer could be a mix of the feature matrix and the additional items below.
- If you are shopping for price, then consider open-source.
- If you are shopping for supported products, then go to the big vendors.
- If you are working on a certain platform, then get tools with platform support.
- If you are a software development company, you certainly want to improve your development process.
- … and so on …
These pages will certainly not cover the choice influenced by management politics, where development and ability to do is not important. You should really start by writing down your requirements before going any further.
These pages will go in depth into the options that the developer has, or the development manager has with regard to selecting a tool that will increase productivity. Speaking from personal experience, the difference in tools can increase productivity by 10-fold.
There are a number of processes to follow. The most obvious one is to drill down into the requirements, then look at the alternatives available and select the best matching on. One will need to factor in some of the considerations above. While not quantifiable, they have a decisive impact.
A second approach would be to look at the market, have some consultancy on what tool to select, and start a pilot project with this. After the pilot, the roll-out into production would be straightforward. The advantage is that once you start rolling it out, you already get some hands-on experience and you know exactly what you are getting. This method automatically rules out those that cannot be rolled out in pilot because of policy, price or time constraints. It might also filter out some valid alternatives at the very start.
Regardless of the process followed, it does not hurt to understand the different tools and dig more into their details. The tools in the guide are organized based on the OS they work on. Please read the overview per environment for more info.
Some people have another view on the selection process. They rank the different solutions in a capabilities list and list the newer ones as the ones with more insight. I suggest you read through it.
Getting to know them better
It could be an interesting moment to learn a bit more on the different systems.