29.01.2018

Collaboration Tools for Software Development: Practical Insights & Tips

Collaboration Tools for Software Development: Practical Insights & Tips
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).

Pros:
  • 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.

Cons:
  • Limited VCS integrations. YouTrack supports direct integration with the most popular version control systems only: GitHub, GitLab, and Bitbucket.

Tips:
  • 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...

Pricing/demo:
  • 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.


Jira


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.

Pros:
  • 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.

Cons:
  • Known for being packed with useless and confusing features, but customizations can eliminate the complexity.
  • Has hidden costs so customization might be quite expensive.

Pricing/demo:
  • 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.


GitHub


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.

Pros:
  • 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.

Cons:
  • Might be expensive for growing companies, since the price grows with every new user.

Pricing/demo:
  • $21 per user/month for businesses.
  • A 45-day free trial for self-hosted version is available.


GitLab


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.

Pros:
  • 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.

Cons:

Pricing/demo:
  • 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.


Phabricator


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.

Pros:
  • 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.

Cons:
  • Has no git repository, but can be used to host or observe external ones.

Pricing/demo:
  • 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.


Trello


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.

Pros:
  • Very intuitive and simple to use.

Cons:
  • 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.

Pricing/demo:
  • 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.

Related articles
What works well and what you should be aware of while working with TensorFlow. READ MORE
Learning methods go through tremendous changes. Right after the e-learning and video tutorials boom, another technology emerged that promises to revolutionize the way we share information. Find out why there is such hype around augmented reality and how it can transform your business in terms of training and knowledge retention. READ MORE
Retrospective meetings are a great occasion for generating insights and ideas to improve workflow efficiency. Sometimes such improvements start travelling from one project to another and become best practices eventually. We want to share our top 7 tried and tested retrospective findings - hope they come in handy for you as well. READ MORE
For tech professionals, staying up-to-date is more than a natural curiosity, it’s a must. How to be wired up without spending too much time on it, and what blogs to follow - further in the blog post. READ MORE
Inspired with the idea to improve the reliability of computer object detection and eliminate the necessity to handle it manually, we initiated a proof-of-concept project on automating microbiological analysis with the help of deep learning for one of our clients. After few rounds of the meticulous testing, we are happy to share the outcomes. READ MORE
The role of a CTO involves constant challenges. And a product release doesn't mean a retirement for a CTO, but a new mode of working and new issues to be prepared for. Check out these top 5 challenges that every CEO of a growing company might face and our tips for handling them. READ MORE
When there are so many examples of tremendous success done by pioneers of certain technologies, the fear of missing out becomes quite reasonable. Don’t miss out two biggest trends of 2018 (from our perspective) and learn how your business can respond to them by reading this blog post. READ MORE
A university-industry partnership is a win-win deal that gives a competitive advantage for both parties. Read more about our experience of collaborating with a university and how we benefited from it - in this blog post. READ MORE
The transition to Scrum is an exciting learning experience for everyone involved. However, it might be overshadowed with human skepticism and doubts. Read more to learn what challenged to expect during the Scrum adoption and how to avoid them. READ MORE
Changing the way how people used to work might be quite a pain. And doing it by introducing Scrum is not an exception. If you’re considering to adopt Scrum or started the transition process already, this blog post is for you. READ MORE
When development becomes painful and time-consuming the debate over “what to do now?” starts. Fueled by developers’ claims “the code is a mess”, “we can’t work with the legacy code”, “let’s rewrite it” from one side, and the business trying to solve the issue less dramatically - from the other, the discussion seems to be never-ending. This blog post will guide you through potential pitfalls while deciding whether to improve the existing code (by refactoring, running unit tests etc.) or rewrite it from scratch. READ MORE
Bringing together people to work on the same project from different locations is becoming a common practice. But distance and lack of physical connection take its toll and may bring impediments to the workflow. After 7 years of experience in setting up distributed teams using Scrum, we cut our teeth on the possible pitfalls and collected several rules to make things work... READ MORE