If you are part of a team of developers and you are not using source control then you really need to start, if you are a sole developer and you are not using source control then you also really need to start. Source control is your friend, it will record all your code changes, it will merge in changes from different team members and allow you to manage new features and hot fixes with ease.
Alongside source control you also need to look at a system to manage your issue tracking and it is always a good idea to try to pick a combination that can talk to each other so that you can easily link your source control commits to particular issues. Doing this gives you a more accurate history of the application and allows you to quickly see why a particular change was made.
In the past I have recommended Redmine and Mercurial. Redmine is a free and open source issue tracking system and Mercurial is easy to set up and integrate with it. Both are excellent solutions and could be used with any development stack going forward.
For our new stack, however, we decided to look at other options. I looked at Pivotal Tracker which could integrate easily with GitHub. I looked at Jira which could integrate with Bitbucket or Github but ultimately ended up looking at a Microsoft product…
Yes, you heard me correctly we ended up looking at a Microsoft product even though we had decided on using Java as our backend code. Even 5 years ago the very idea that Microsoft and Java would be in the same sentence together was pretty laughable but times change and they now have some excellent java tools and sample code and even Eclipse and IntelliJ IDEA developer toolkits.
We looked at Microsoft Visual Studio Team Services (VSTS) because another team within the company was also starting to use it to manage issue tracking and build management for our new Microsoft Dynamics AX deployment. It made sense to investigate it and after testing all the features and capabilities we discovered that it did everything we needed and the logical conclusion was that we should standardize on the tool instead of having different systems for the different teams.
VSTS is free for 5 users, it is cloud based so you don’t have to set up any servers to get up and running and there are plenty of integrations in the VSTS Marketplace. It has its own GIT repository system or you can integrate it to external source repositories and has full Agile and Scrum based issue tracking systems that are very easy to customize.
I highly recommend looking at VSTS if you are ever in the situation of looking for a new issue tracking and source control system and in later blog posts I’ll also be talking about how it is also a build and release management system.