Railsware is an engineer-led company with a vast portfolio of building projects for companies such as Calendly and brightbytes.net, as well as experience in launching our own products like Mailtrap or Coupler. So when talking about Jira best practices for developers, we speak from experience.
Why do people love Jira?
Jira is by no means perfect. It certainly has its downsides and drawbacks. For instance, it is a behemoth of a product and, as such, it is pretty slow when it comes to updates or additions of new functionality.
Some developers also say that Jira goes against certain agile principles because – when in the wrong hands – it can promote fixation on due dates rather than delivery of product value. Getting lost in layers and levels of several boards can, indeed, disconnect people by overcomplicating things.
Still, it is among the preferred project management tools among software development teams. Why is that?
- Permissions: teams, especially bigger ones, work with many different experts and stakeholders, besides the core team itself. So setting up the right access to information is crucial.
- Roadmaps and epics: Jira is great for organizing your project on all levels. On the highest level you have a roadmap with a timeline. Then you have epics that group tasks by features or feature versions. Then, inside each epic, you create tickets for implementation.
- Customization: This is Jira’s strongest point. You can customize virtually anything:
- Fields for your JIRA tickets;
- UI of your tickets, boards, roadmaps, etc.;
- Workflows – each project may require its own workflow and set of statuses per ticket, e.g. some projects have staging server and QA testing on it and some don’t.
- Search is unrivalled (if you know SQL aka JQL in Jira): Finding something that would have been lost to history in a different project management tool is a matter of knowing JQL in Jira. The ability to add labels using keywords makes the aforementioned search and analysis even simpler.
- Automation: The ability to automate many actions is among the greatest and most underestimated strengths of Jira.
- You can create custom flows where tickets will create temporary assignees (like the back and forth between development and QA);
- Or you can make the issue fall into certain columns on the board based on its content;
- Or move issue to “in progress” from “todo” when there’s a related commit;
- Or post the list of released tickets to Slack as a part of release notes.
- Integrations and third party apps: Github, Bitbucket, and Slack are among the most prominent Jira integrations, and for good reasons. Creating a Jira ticket from a message, for example, is quite handy at times. The Atlassian Marketplace broadens your reach even further with thousands of add-ons and applications.
- Broad application: Jira is suitable for both iterative and non-iterative development processes for both IT and non-IT teams.
Jira best practices
Let’s dive into the nitty-gritty of Jira best practices for multiple projects or for a single one.
1. Define your goals and users
Jira, being as flexible as it is, can be used in a wide manner of ways. For instance, you can primarily rely on status checking throughout the duration of your sprint, or you can use it as a project management tool on a higher level (a tool for business people to keep tabs on the development process). Define your team and goals.
Now that you have a clear understanding of why, let’s talk about the ‘who’. Who will be the primary Jira user? And will they be using it to:
- Track the progress on certain tickets in order to know where and when to contribute?
- Use it as a guide to learn more about the project?
- Or maybe you’ll use it as a tool for tracking time for invoicing clients, performance for internal, data-driven decision making, or both?
- Or is it a means of collaborating, sharing, and spreading knowledge across several teams involved in the development of the product?
The answers to the above questions should help you define the team and goals in the context of using Jira.
2. Integrations, third party APIs, and plugins
Jira is a behemoth of a project management platform. And, like all behemoths, it is somewhat slow and clunky when it comes to moving forward. If there’s some functionality you feel is missing from the app – don’t shy away from the marketplace. There’s probably a solution for your pain already out there.
Our team, for instance, relies on a third party tool to create a series of internal processes and enhance fruitful collaboration. You can use ScriptRunner to create automation that’s a bit more intricate than what comes out of the box. Or you can use BigGantt to visualize the progress in a friendly drag-&-drop interface.
Don’t shy away from combining the tools you use into a singular flow. An integration between Trello and Jira, for instance, can help several teams – like marketing and development – stay on the same page.
3. Use checklists in tickets
Having a checklist integrated into your Jira issues can help guide a culture that’s centered around structured and organized work as well as transparency and clarity to everyone. Our Smart Checklist for Jira offers even more benefits:
- You have a plan. Often times it’s hard to start a feature implementation and without a plan, you can go in circles for a long time;
- Having mental peace, working item by item is much more calm and productive than dealing with the unknown;
- Visibility of your work – if everyone sees the checklist progress, you are all on the same page;
- Getting help – if your progress is visible, colleagues can give you advice on the plan itself and on the items that are challenging you;
- Prioritization – once you have the items list, you can decide with your team what goes into v1, and what can be easily done later;
- You can use checklists as templates for recurring processes. Definition Done, Acceptance Criteria, onboarding and service desk tickets, etc. are prime candidates for automation.
Moreover, you can automatically add checklists to your Jira workflow based on certain triggers like the content of an issue or workflow setup.
4. Less is more
Information is undoubtedly the key to success. That said, in the case of a Jira issue, awareness is key.
What we’ve noticed over our time of experimenting with Jira is that adding more info that is either unnecessary or irrelevant seems to introduce more confusion than clarity into the process.
Please note that we don’t mean that Jira shouldn’t be used for knowledge transferring. If some information (links to documentation, your internal processes, etc.) is critical to the completion of a task – share it inside the task. Just use a bit of formatting to make it more readable.
However, an age-old history of changes or an individual’s perspective on the requirements is not needed. Stick to what is absolutely necessary for the successful completion of a task and elaborate on that. Not more, nor less.
5. Keep the backlog and requirements healthy and updated
Every project has a backlog – a list of ideas, implementation tickets, bugs, and enhancements to be addressed. And every project that does not keep its backlog well-maintained ends up in a pickle sooner rather than later.
Some of our pro-tips on maintaining a healthy backlog are:
- Gradually add the requirements to the backlog. If not for anything else, you’ll have a point of reference at all times, but moving them there immediately may cause certain issues as they may change before you are ready for implementation.
- Keep all the work of the development team in a single backlog. Spreading yourself thin across several systems that track bugs, technical debt, UX enhancements, and requirements is a big no-no.
- Set up a regular backlog grooming procedure. You’ll get a base plan of future activities as a result. We’d like to point out that said plan needs to remain flexible in order to make changes based on feedback and/or tickets from marketing, sales, and customer support.
6. Have a product roadmap in Jira
Jira is definitely not the go-to tool for designing a product roadmap, yet having one in your instance is a major boon, because it makes the entire scope of work visible and actionable. Additional benefits of having a roadmap in Jira include:
- It is easier to review the scope with your team at any time
- Prioritizing new work is simpler when you can clearly see the workload
- You can easily see dependencies when several teams are working on a project
7. Use projects as templates
Setting up a new project can be tedious even if you’ve done it a million times before. This can be especially troublesome in companies that continuously deliver products with a similar approach to development such as mobile games.
Luckily there’s no need to do the same bit for yet another time with the right combination of tools and add-ons. A combination of DeepClone and Smart Checklist will help you clone projects, issues, stories, or workflow conditions and use them as project templates.
8. Add Definition of Done as a checklist to all of your Jira issues
Definition of Done is a pre-release checklist of activities that determine whether a feature is “releasable”. In simpler words, it determines whether something is ready to be shipped to production. The best way of making this list accessible to everyone in the team is to put it inside the issues. You can use Smart Checklist to automate this process, however there are certain rules of thumb you’ll need to follow in order to master the process of designing a good DoD checklist:
- Your objectives must be achievable.
- They must clearly define what you wish to deliver.
- It’s best if you keep the tasks measurable. This will make the process of estimating work much simpler.
- Use plain language so everyone who is involved can easily understand the Definition of Done.
- Make sure that your criteria are testable so that the QA team can make sure they are met.
9. Sync with the team after completing a sprint
We have a nice habit of running Agile Retrospective meetings here at Railsware. These meetings, also known as Retros, are an excellent opportunity for the team to get recognition for a job well done. They can also help you come up with improvements for the next sprint.
We found that the best way of running these meetings is to narrow the conversation to goods and improves. This way you will be able to discuss why the things that work are working for you. You’ll also be able to optimize the rest.
If there’s a product when there’s something for everyone – within the context of a development team – it’s probably Jira. The level of customization, adaptability, and quality of life features is an excellent choice for those teams that are willing to invest in developing a scalable and reliable process. And if there’s anything that’s missing from the app – you can easily find it on the Atlassian Marketplace.
Everything is simpler when the process is well-documented and the progress is visible at a glance.