The rise of agile software development has spurred on highly collaborative modes of working between the business and development teams.
The key agile values of “individuals and interactions over processes and tools” and “responding to change over following a plan” promoted the use of sticky notes on walls to manage development of new features and changes. While feasible for smaller, co-located organizations, this approach doesn’t really scale to meet the demands of agile teams in larger enterprises, who are typically located across different geographic regions and time zones.
At the same time, traditional project planning and requirements management solutions built on the premise of a waterfall approach are too rigid for today’s iterative agile development.
Enter Atlassian, a start-up founded in 2002, and its Jira solution, a lightweight, highly configurable issue tracker that quickly became one of the de-facto platforms for teams wanting to track and manage the progress of agile work items.
As agile software development becomes the accepted approach to software delivery, SAP teams are increasingly being tasked with adopting agile approaches using agile planning and delivery tools like Jira.
At Basis Technologies we aim to help SAP customers consistently modernize the way they work, so building a native integration between Jira and our DevOps automation solution, ActiveControl, was a no-brainer. In this article I’ll consider why the integration was necessary, and how it works.
Agile and Jira
‘Agile’ generally refers to methodologies centered around the idea of iterative development, where requirements and solutions continually evolve through collaboration between self-organizing cross-functional teams.
The most popular agile framework is Scrum, where work is represented in the form of outcomes called user stories – essentially short descriptions of a feature or a need following the format “As a (role), I want (feature) so that I can (value/outcome/benefit)”.
User stories are collated and maintained in a ‘backlog’ that’s constantly prioritized and re-prioritized based on feedback from the market. At the start of every round of development, called a ‘sprint’, the owner of the backlog will decide which user stories will be included.
So how to manage the work allocated to each sprint, and the rest of the backlog that gets left out? A shared physical resource – like Post-Its on a wall – can work if all team members are located in the same place. But how likely is that in the world of software development, especially considering COVID-19?
That’s where Jira comes in. Capturing user stories as digital versions of those old-fashioned sticky notes allows everyone to work on them together, regardless of location.
The ‘digital sticky notes’ in Jira can easily be dragged from the backlog into a sprint, where the status of work is usually represented on a digital ‘Kanban board’ using columns such as Dev in Progress, Ready for QA, QA in Progress and Done (though these may be customized to suit individual workflows). As user stories progress through these states during the sprint they can simply be dragged and dropped from one column to another. Items remaining in the backlog can be managed in a similarly easy way.
Using Jira for SAP Development
It’s natural for businesses to harmonize their software tool chain wherever possible, so it’s no surprise that more and more SAP teams are choosing to use (or being told to use) Jira when they adopt agile development. But as is so often the case, things are a little more tricky in SAP than in some other cases.
SAP workflows are typically pretty stringent – we’re often talking about business-critical systems, after all – that can’t be accurately reflected in the movement of digital sticky notes. On top of which we need fully auditable approval processes, which expose a suitably detailed level of information. And then we have SAP uniqueness to deal with, like the use of WRICEFs (Workflow, Report, Interface, Conversion, Enhancement, Form) for configuration and transports for deployment of change.
The net result is that in its native state Jira can’t easily reflect the status of SAP development. It can’t link user stories to the actual SAP implementations of each change, it can’t drive change in SAP directly (let alone with the rigor that would be needed) and it doesn’t have access to all the required information. In fact, Jira does not natively have any idea what WRICEFs or SAP transports even are.
Why is the integration between Jira and ActiveControl important?
The uniqueness of SAP means in an agile development process based on Jira, an SAP Developer or Functional Consultant will typically have to re-key every transport ID (and any other relevant information) into the relevant Jira user story to provide an up-to-date central record of change. The current status of each user story has to be manually updated, too.
That takes a lot of work – imagine the rekeying for hundreds or even thousands of transports – and it’s prone to error. The Jira updates may not even happen if other, more urgent tasks take priority. To put it in more bald terms, if you rely on manual effort there’s every chance that SAP-related information in Jira – information business users will be relying on to understand when new functionality will be live, and that your teams need to run agile SAP development effectively – may be wrong, especially in SAP landscapes where teams are busy, and/or regularly move a lot of transports (hardly an unusual scenario). Which pretty much defeats the point of Jira as a tool!
It’s exactly this gap that the integration between Jira and ActiveControl is designed to bridge. Let’s look at how the integration works, beginning with WRICEFs.
How It Works
The Jira/ActiveControl integration delivers bi-directional synchronization that keeps Jira user stories completely up to date so that the business is kept appraised of the progress of the change they asked for.
In Jira a change request coming from the business is represented as a user story, as I’ve mentioned above, and the SAP-specific element may be represented as a WRICEF. ActiveControl includes a construct called a Business Task which can be used to represent a change request and collate all related activity. Hence for agile SAP development managed in Jira, ActiveControl Business Task == WRICEF == SAP-specific element of a given user story.
The following diagram shows a simplified version of how an agile SAP workflow driven by Jira and ActiveControl could operate, assuming the same Kanban status labels I mentioned above (Dev In Progress, Ready for QA, QA In Progress and Done). This flow is principally driven by ActiveControl with updates to Jira but the reverse is also possible, with status change of user stories in Jira triggering automated actions via ActiveControl:
- When a user story is moved from the Jira backlog to a sprint and approved for development, a corresponding Business Task is created in ActiveControl, typically leveraging the Jira user story ID as a unique identifier. (User stories in the backlog are still considered to be in a ‘fluid’ state and may never get prioritized at all, so it is too early to synchronize them into ActiveControl).
- SAP developers start to implement the changes in SAP Transports. ActiveControl enforces linking of every Transport to a Business Task, and thus to a Jira user story.
- Following unit testing, and automated ActiveControl analysis, completion of peer review is enforced by ActiveControl before the Transport can be released to QA. Jira is updated with relevant information if appropriate.
- When peer review is complete, transports are automatically released from Development system and set as ready for import into the QA system, with ActiveControl automatically managing sequencing and dependencies, even across different systems (e.g. ECC and CRM). The user story status in Jira changes to Ready for QA and the ‘digital sticky note’ moves across the Kanban board automatically.
- When the transports are imported (again via ActiveControl) into the QA system for testing, the user story status in Jira changes to QA In Progress.
- When QA testing is complete, the Jira user story can be updated again if appropriate. Transports are ready for import into the Production system.
- Then when a CAB (or equivalent) has reviewed the up-to-date user story, final approval can be granted for deployment to Production. For clear-cut cases it might not even be necessary to reference the data available in ActiveControl – approvals in Jira can be used to trigger ActiveControl deployments.
- Transports are deployed to Production at the right moment (perhaps the end of the sprint, but in some cases as soon as approval is granted) and the user story is moved to Done within Jira.
All evidence of testing and confirmation of every approval is stored within ActiveControl during the process, to provide full traceability. ActiveControl’s automated analysis comprises more than 60 individual analyzers that can be configured to run at any control point in the process for maximum safety and visibility.
Thanks to the integration between Jira and ActiveControl each team member is able to work efficiently in the manner that best suits their area of expertise. SAP Experts never need to leave their favorite SAP environments, while the Agile Scrum Master who may not be an SAP Expert can still plan work and track progress in Jira.
Agile software delivery has come to SAP and along with it comes new practices that require mindset shifts and adoption of new tools. Central to this is the ability to plan and track work using agile backlog management tools like Jira.
While Jira is powerful and highly configurable, it does not have any native integration into SAP, which makes traceability and governance, both very important factors in SAP, hard to achieve.
ActiveControl from Basis Technologies can bridge this gap. Not only does it connect the dots from request to implementation, it also allows SAP teams to continue working in their favorite tools and environments while it handles the underlying synchronizations with external tools like Jira.
If you’d like to see the ActiveControl Jira integration in action, take a look at this video playlist or get in touch with us to see how a fully automated change management workflow could help your business.