How To Do Agile Development in SAP
SAP is trusted the world over by leading organizations to handle critical business processes and functions. Unfortunately, making changes to SAP systems in response to evolving business needs can be tedious and cumbersome.
Much of the rest of the software development world has adopted new methodologies, such as agile, that enable them to deliver changes and updates to critical systems more quickly and efficiently.
In Part 1 of this blog series we covered agile development and why it is important. In Part 2 we’ll take a closer look at how organizations can apply agile to SAP environments.
Expanding agile teams for SAP development
In the Scrum methodology, a widely used agile process framework, small teams of between three and nine people are formed. They include a Scrum master, who facilitates the team. The product owner manages and prioritizes the user stories for development and liaises between the business owners of the system and the development team. The team also includes, of course, one or more developers.
Due to the peculiarities of developing for SAP, it’s often wise to extend the team members beyond the developers. The Basis, QA, and configuration teams may need to be represented because of the close relationship between configuration and code in SAP, and because of the stringent testing requirements on what are typically business-critical systems.
Integrating SAP with the product backlog
When beginning a development cycle with agile, user stories are collected in a product backlog. These stories can be combined into epics, and epics can be combined into initiatives (also known as themes). This hierarchy enables a more granular, value-based approach to SAP development.
The product backlog is usually managed using tools such as Jira, Cherwell, Microsoft Azure DevOps, or ServiceNow, and unfortunately these applications don’t connect directly to SAP. DevOps automation like ActiveControl, which is engineered for use in SAP, lets you link SAP to such applications so that every SAP transport is associated with a user story in the backlog. Without this connection, manual rekeying would be needed between systems, making it hard to keep systems current.
Integrating SAP with the product backlog software makes it easier to coordinate projects that span SAP and non-SAP development, as many projects do. This integration gives you complete visibility into the entire development project so you can keep each environment aligned to the overall project goals.
For more information on integrating SAP with agile development tools, see our ebook: Streamlining Software Development with SAP Toolchain Integration
Increasing automation in your SAP environment
Agile enables a faster pace of development, which leads to much faster deployments. In fact, users of SAP DevOps automation technology report being able to deploy changes to SAP systems daily due to its ability to enable agile workflows.
Agile development is often characterized by multiple teams developing separate user stories or epics at the same time. That works fine when developers can work independently, for example in containerized environments or perhaps even on their own laptops using Git-based source control tools.
But in SAP we face a different challenge. Development systems are often shared by many developers. Hundreds of people might all be working on the same code base at the same time, often in siloed teams with poor communication. The potential for issues – like conflicting changes, or one team overwriting another’s work - is significant. Visibility and coordination are essential but many organizations are still dependent on spreadsheets and emails for tracking dependencies and managing transport sequencing. These manual methods of managing change can’t match the pace of agile. DevOps automation software ActiveControl enables you to manage and automate transports so that dependencies are handled correctly, and nothing is overlooked, even when moving more individual changes at higher speed.
Automation is vital for ensuring the quality of deployments as well. Identifying and resolving issues early is critical for maintaining fast development life cycles. This is the concept of ‘shift left’ that’s often associated with agile. It encourages earlier testing and forces developers to take more ownership of code quality as there simply isn’t time in an agile process for repeated rounds of handoffs and rework. While the more granular nature of user stories and sprints helps make it easier to test and correct errors, automation helps to eliminate a wide range of technical issues before changes even reach QA. ActiveControl boasts more than 70 analyzers to detect problem transports. For example, it can enforce code quality checks (through SAP Code Inspector) and unit testing (through ABAPUnit) as part of the development sign-off process.
Improving quality and faster delivery
Risk is always top of mind when thinking about business-critical SAP systems and agile development offers lower risk than waterfall developments. There’s less risk of the project failing or being abandoned without delivering value, because each development cycle is much shorter. There’s less risk of unforeseen problems, because agile breaks the project down into smaller chunks that are easier to understand and manage, and enable earlier testing and validation.
Using agile methodologies, SAP teams can be more responsive to users, while maintaining the high quality and uptime necessary for critical business systems.
Are you ready to begin implementing agile development in your SAP environment? Contact us to schedule a demo today.