The constant striving to improving software delivery

Within AA Projekts the work on improving the process of software delivery is at the forefront of all activities. It is one of the cornerstones of the business – being at the vanguard of cutting-edge tech that enables, supports and improves the efficiency, speed and quality of delivery and feedback cycles through which any change pushed out to production goes through. Within these efforts, Tasktop is the key piece of software, as is visualized in the sketch above (exclusively drawn up for this blog).

Every cycle starts with an Idea. In our case, the Idea is added in the form of a Feature in Jama (a requirements management tool). It can be created from a service request from a user within Jama, synchronized from a different project or tool (e.g., Salesforce), having a customer submit a ticket through a Helpdesk system. In the end, all ideas are placed in Jama with the help of Tasktop, where high-level planning and prioritization happens, and requirements are analyzed and managed.

After some deeper analysis and specification, these Features, along with their corresponding User Stories (including their relationships to other items), are sent to Azure DevOps where the development kicks in. All process of development is managed through either KANBAN or SCRUM depending on the setup a team of Dev and Ops specialists has chosen.

When the code is ready, it gets deployed and tested (we usually require at least some smoke testing, bet we do strive for having a thorough unit, component and full-fledged integration and business case tests whenever possible including periodic performance tests and security scans) by an automated pipeline – a standard in any decent CI/CD environment. When code gets deployed and run environment has been updated, delivery info item is sent back to Jama where information about version, environment, links to source code changes, artifacts, automated test results and the relationships to the Features and User Stories included in the delivery is kept for any stakeholder to see. That way, everyone is up to date about the exact status of development.

End users can submit their feedback via tests, tickets in Helpdesk, or any other way – and so the cycle goes on!

The leading role of Tasktop within the process

In more general terms, Tasktop is used to integrate software development lifecycle management tools. It enables automatization of cross-platform synchronization – creation and modification of artifacts (features, user stories, defects, and more) in lifecycle tools. The information is shared across purpose-built tools efficiently while maintaining precision and context. A web-based interface is used for administration and configuration. Tasktop can be scaled up to multiple projects in just a few clicks and it. Full system scans can be scheduled, and users across tools can be matched even when their usernames are not the same on both systems.

Tasktop can integrate tools like Jira, Azure DevOps, GitHub, Jama, Polarion, Trello, and many more. View the full list here.

What’s more, is that at some point, the network created by Tasktop becomes this layer of abstraction that is at the core of each value stream – and this enables great oversight of the whole software delivery process. One really cool thing this abstraction layer enables is the ability to swap in and out different tools without much disruption to the system as a whole!

Another key element of this network created using Tasktop is the ability to  cherry-pick data objects from any tool and write to a simple already consolidated data table in a database, thanks to the abstraction Tasktop can provide with its artifact models. For example User story data can be read from both Jama and Azure DevOps and submitted to the same table describing events on User Stories within an instance of a MySQL database, and real-time graphs can be made using BI tools. We use a lightweight tool called Metabase, which is simple yet powerful enough and allows for the embedding of graphs within Jama’s dashboard using iFrame.

One of our favorite visualizations is this burndown chart (see the sketch above) that has the data beneath it collected from different sources and artifact types. The graph shows the percentage of unfinished work in the current Release (5 sprints) as burndown charts do, but  the first bar shows how much the dev team has promised to do during this Release, this “promise” is made in the form of Features that are given t-shirt sizes and then approximated to the total amount of story points. The second bar “Sprint 1” shows that during the first sprint, the dev team has managed to complete 30% – the 30% is calculated in from story points attributed to actual User stories completed within the sprint. Features and User Stories have a direct parent-child kind of relationship which is easily maintained with Tasktop across many tools and within databases.

These kinds of charts are crucial within the SAFe framework practices we are applying to the portfolio of projects for our customers’ business management and stakeholders to gauge the progress of planned releases and help guide their decision making. One of our client’s portfolio includes dev projects managed with Jira, Azure DevOps and GitLab Issues to fit each teams preferences all the while maintaining the overall visibility and control from within a single tool (in our case Jama) that has these Tasktop enabled BI visualizations consolidated in a single dashboard from across all projects.

The graph above shows another key metric we keep track of, which is the average time to close for submitted service requests or incidents. In this sketch, during January, it took an average of 10 days to close a submitted ticket, but the next month – February – has a way higher score of (30) days on average. This data can be further analyzed by looking into wait times vs. work time and analyzing WIP amounts (work in progress).

Benefits achieved using Tasktop

Measurements and metrics are very important in finding out if changes made help businesses move towards their goals. Tasktop helps to be successful within all three key principles of DevOps – increasing the flow, creating efficient feedback channels as well as keep on improving by learning and experimenting. We see Tasktop as the tool that enables the whole system to work and be dynamic and adaptive in delivering value to the end-user.

How to get Tasktop and AA Projekts’ support?

Contact us for further information:

e-mail:info@aaprojekts.lv
phone: +371 67282720

Kārlis Broders
Matīss Zemturis