Smooth collaboration and effective project management are crucial for software development. Due to the work specifics, they are also hard to achieve. So no wonder there are so many approaches and tools designed especially for software project management.
Such variety, though, is really confusing when you try to choose the right tools suitable for your team and business needs. To do that it’s not enough to be familiar with collaboration and project management tools. You also need to consider your overall goals and expectations, the methodology you use, projects size and complexity, number of people involved, how much money you can spend, etc.
And whereas there is no single tool that we can recommend as a cure-all, we can still share our experience. At NeuroSYS we follow the agile approach in software development, handling projects of various complexity for clients from different countries, often collaborating with distributed teams. The following tools help us deal with these projects. Hope you’ll find our review and tips helpful!
YouTrack by JetBrains
Overview: Self-positioned as an issue tracker designed for development teams, but in fact, offers a broader set of functions: agile board, planning, time tracking, advanced reporting.
How we use it: We use it as the main collaboration platform in combination with GitHub/GitLab repository, TeamCity (for continuous integration), and PlanITPoker (for task estimation).
- Flexible and easy to configure (f.e. you can customize ticket fields for every project).
- Supports agile methodologies (includes such features as user stories, agile boards, sprints, backlogs, estimations, burndown charts etc.).
- Has self-hosted and cloud-based versions, so you can choose whatever suits your/your clients’ security policies better.
- Great tool integrations (works smoothly with both native JetBrains and external products).
- A handy search feature allows to find anything in no time with the help of keywords, saved search queries.
- The possibility to use predefined workflows or create your own ones to automate various processes with the help of YouTrack Workflow Editor. Here is what it allows to do, f.e.:
- An unassigned ticket gets self-assigned to the person who changes its status.
- A new ticket marked as “bug” gets a predefined template to fill in that helps describe it properly.
- Limited VCS integrations. YouTrack supports direct integration with the most popular version control systems only: GitHub, GitLab, and Bitbucket.
- A board can be configured for displaying several projects at once. This is handy when developers work on multiple connected projects at the same time (f.e. several projects from one client).
- Changes committed to the integrated repository using a related ticket number in the title can trigger automatic ticket status update. Also, using a ticket number in commit title/message allows seeing all commits done in the scope of a particular ticket.
- TeamCity integration allows to predefine the built profiles and define triggers that help automate repetitive actions for continuous integration, such as:
- Changes committed to the integrated repository trigger deployment and move a ticket to “done” in the end;
- Committed changes trigger unit tests running; changes are deployed and a ticket is moved to “done” if testing was successful; in case of tests failure – relevant notifications are sent and a ticket is moved to “to do”;
- Committed changes trigger ESLint syntax check; a further deployment happens only if there are less than, let’s say, 5 issues spotted; a ticket status is changed accordingly;
- and so on…
- You can use it for free for up to 10 users/5GB of storage limit (if hosted by YouTrack).
- The price is proportional to the number of users but doesn’t grow with every new one. Having 50 users on the self-hosted YouTrack costs € 750 annually.
- A 30-day cloud-based trial is available.
- Startups can get 50% discount.
Overview: A software development tool used by agile teams. It started as an issue tracker but later developed into project management tool. Supports Scrum and Kanban.
How we use it: We don’t use it at the moment, that’s why the following description might lack some practical details.
- Highly customizable.
- You can choose a workflow or create your own one.
- Various tool integrations.
- Offers a robust set of APIs that help automate the processes.
- Custom filters.
- Known for being packed with useless and confusing features, but customizations can eliminate the complexity.
- Has hidden costs so customization might be quite expensive.
- Has good offers for small companies: $10 monthly for up to 10 users. Bigger companies will need to pay $7 per user monthly.
- A 7-day cloud-based trial is available.
Overview: A development platform that includes tools and features that support developers’ workflow: code review, project management, team management, code hosting, documentation storage.
How we use it: We use its repository, pull requests and code review.
- Simple to use (at least for our purpose).
- It’s the largest code host, supports private, public, open-source repositories (the latter two are important if your team contributes to open-source communities).
- Has self-hosted and cloud-based versions.
- Great tool integrations (we use the integration with YouTrack as mentioned above, also with MatterMost (our internal communication channel) – notifications are sent through it when a pull request is merged, or if there are many pull requests waiting for review, etc.
- Might be expensive for growing companies, since the price grows with every new user.
- $21 per user/month for businesses.
- A 45-day free trial for self-hosted version is available.
Overview: A platform for integrated software development (an open source project), which offers almost identical to GitHub tools and features, plus it has modules for issue tracking, continuous integration.
How we use it: We use it as a repository, for storing documentation, as well as GitLab continuous integration (GitLab CI, Review Apps). Also, we were considering using its issue tracking feature about 1,5 years ago, but when we tested it back then it’s didn’t meet our expectations (was too basic). As we heard, it has been improved since then, so maybe we’ll give it another try in the future.
- Suitable for various methodologies (Waterfall, Agile, Conversational Development).
- Offers automated configuration with best practices templates.
- Overall it’s a good (and more affordable) substitution to GitHub.
- It’s an open source project.
- The cloud-based solution has a reputation of being unstable due to this incident of losing data from their databases.
- Offers various packages: from a free plan (unlimited repository with limited support) to paid plans with advanced security and support.
- A 30-days trial for businesses is available.
Overview: It’s a suite of software development collaboration tools that includes: a code review tool, a repository browser, a change monitoring tool, a bug tracker, and a wiki.
How we use it: We used its wiki in the past for storing documentation. Now we switched to GitLab, so we can have a repository and documentation in one place.
- Can be used incloud or as a self-hosted solution.
- Fully open source, so you can contribute to its development.
- You can use a self-hosted version for free.
- Has no git repository, but can be used to host or observe external ones.
- Free if self-hosted; $20 per user/month if used incloud (cost stops increasing at 50 users).
- A free trial of the incloud solution is available.
Overview: A digital alternative to physical sticky notes and boards.
How we use it: We don’t use Trello for professional purposes. So this review is based mainly on our experience of using it for personal task management.
- Very intuitive and simple to use.
- Not designed specifically for software development, too basic for it.
- Can get out of hand when dealing with large complex projects.
- Not designed for managing tasks with interdependencies.
- Price for companies varies from $9.99 to $20.83 per user monthly.
If there are more tools, that you think, worth mentioning and trying, please, let us know (you can leave a comment under the blog post on LinkedIn, Twitter, Facebook).
P.S.: If you liked this blog post, you might also like reading about managing distributed teams using Scrum.