Many organizations choose to use an online tool to support their Agile development. The advantages are clear: it can be accessed from everywhere, and it can link many pieces of relevant information, from the origin of an idea to the committed code and the tests. Monitors on the wall can easily make the status of the sprint transparent, displaying burndown charts or the sprint board.
I do agree with the Agile value to favor “individuals and interactions” over “processes and tools”. But a good configuration of your tools can be very beneficial to your effectiveness.
There are many tools available, but in this blog I will focus on JIRA Agile, because I have used it intensively and because it is a popular choice that is undergoing constant improvement. I will list some best practices here, that will hopefully give you some inspiration:
Implementing improvements in an Agile way
Improving your Agile tooling should be an Agile activity. Therefore, the improvement stories should be part of a backlog, for instance your transition backlog. The stories should be refined and the transition owner can prioritize different improvement ideas.
How effective a team uses its tools is also a good topic for retrospectives. Ideas that come up here can also be added to the backlog.
Don’t forget to communicate changes to everybody involved!
Logical setup of boards, projects and settings
You will need to set up one or multiple Product Backlog views. For a larger organization that follows the Scaled Agile Framework (SAFe), you could create Portfolio and Program Backlogs. A Scrum Board in plan mode or a Kanban Board is useful to visualize such a backlog. Each team should also get its own board.
The issues (epics, stories, tasks) that can be shown on these boards, are stored within Projects in JIRA. So here you need to make a design choice, for instance to create a project per team, or a project per product.
You will need to define the fields, screens, issue types, workflows, columns and statuses for these Projects and Boards. Jira offers a lot of flexibility. Try to make it simple and complete. This will improve your user friendliness a lot.
Integrate development, testing and collaboration
There are useful ways to integrate many parts of the workflow into JIRA. This way JIRA can grow to contain all key information about the software development. In some areas JIRA and its plugins are quite sophisticated, in others there is room for improvement. For instance not everything works on OnDemand (hosted) instances.
In 2014, Atlassian has made a lot of improvement in JIRA’s standard integration with code development tools.
JIRA Confluence offers a great way to capture all knowledge and documents in a single place.
If you need to do time tracking in your organization, Tempo timesheets helps to make this easier to use and to report on.
JIRA offers many integrations with test management tools.
There are many other plugins worth a look, such as Capture, Structure, or specific integrations with other systems you are using.
User management and security
It should be clear who in the organization has the responsibility of managing users and their groups. This can be automated for instance by connecting to LDAP.
Try to keep the security settings as loose as possible. This promotes transparency and trust, and is in line with Agile values.
Hopefully this blog has triggered ideas to improve the way you use tools in your Agile development. If you have any questions, let me know!