Building integrations for Atlassian’s products: Tips & Metrics
Tracking is a crucial activity in any software development project. It helps the team, product owners and clients align their efforts to deliver a great software product or feature.
Delivering software on time and on budget has always been a black art and there are many tools that help software development teams. This is a nice list by Jack Reeves about keeping clients happy with a project tracker.
Ever since we started to work on the PlanningWith.Cards plugin for Hangouts we knew that integrating it with project tracking software was going to be an important feature in our agile estimating platform. So we reached out to our beta users to know which software they were using.
Our first integration with such tools was done with the JIRA REST API since it was the most popular project tracking platform among our users. This way they could import their Project Issues directly into a Planning Poker session on a Hangouts call. We found that it was a feature that our users appreciated since most of them had to either take notes or jump between their chat/video platform and their project tracking software while estimating.
Successfully integrating with Atlassian’s platform & products.
The PlanningWith.Cards platform started to be used by more than 300 companies worldwide and we had to explore other chat platforms to serve them, one of those being Hipchat. We got invited a few months ago to Connect Week Amsterdam and met their core development team, so we started to work on an integration with the HipChat REST API and Atlassian Connect to build the add-on for their market place. In just five days we had the PlanningWith.Cards HipChat add-on ready to be installed in any chat room.
This gave us some great insight into their development platforms and we would like to share some tips to make the most of them.
- After you install an add-on check the sidebar to double check it has been properly installed. We were doing tech support with one of our customers that could not find the PlanningWith.Cards add-on and it was not visible because he was using another application in the Hipchat room. By checking the sidebar you know what you have installed in a room.
- Give it a try to connect various Atlassian platforms in your workflow. You could definitely live with using several applications from different providers, but you can always get an edge in your work processes with applications from the same provider.
- In Confluence try different plugins to enhance your experience. The platform works well by itself but there are some great plugins that provide that “nice to have” function to help your workflow.
- We like the HipChat and Bitbucket integration which is a great choice to keep your team on top of the development progress and updated regularly on the current status of the changes to the repositories.
- We have been trying the Bitbucket Pipelines, it is still early beta but it is worth the try to experiment on it.
- If you are building plugins for any of the Atlassian products and you need to showcase additional information inside the plugin, it is better to use Dialogs instead of opening a window or something similar. Use the Design Guidelines provided by their design team.
- Before trying to venture into building something custom from scratch, check their Atlas-Connect repository.
Metrics we considered while building add-ons.
Outcomes to stakeholders are important, because they are the one’s that will use the software being built and most of the time there is either a time or money constraint. The team needs to adapt to their stakeholders and the product owners should have all the information to make decisions at any given moment.
We recommend two books which can guide you in choosing the right metrics for your team, they are Agile Metrics in Action and Software Development Metrics. At PlanningWith.Cards we use burn-down charts and through put metrics. This way you track each feature as a document.
Cumulative Flow charts.
A great piece of information created in a Kanban, the diagram shows how you are making progress. That way you are displaying the current work being done and opportunities to speed up work to deliver milestones.
It can also help to pinpoint which areas are being slow and opportunities to enhance their performance.
It is important to know the consistency of your team in delivering software, so forecasting can be more accurate. At PlanningWith.Cards we believe that by creating a dashboard for each sprint and then data mining that information in correlation with the team members on each project, we can deliver these metrics in a manageable way.
One way of creating this is by having a fixed scope and schedule on each project. We will be writing more on this as we progress in having those functionalities ready in our agile platform.
So have those conversations early with your team before starting a sprint planning and agree on which metrics to monitor for the project. That way you can reveal important patterns and observations your team can benefit from.