Search

Agile & DevOps

A Beginner’s Guide to SAP Agile Development

Agile development has been standard best practice for software development for a couple of decades now, and for good reason; it has been proven to help development teams deliver higher quality software at a faster pace.

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.

While many organizations implement agile development techniques in their IT landscape, most SAP teams continue to use a more traditional “waterfall” approach.

Much of the rest of the software development world has adopted new methodologies, such as agile, that enable the development team to deliver changes and updates to critical systems more quickly and efficiently.

In this blog, we will discuss best agile practices and why agile development is beneficial and how the approach can be applied to SAP environments.

Why Use Agile Development for My Business?

The pace of digitization has increased exponentially over the last few years driven not only by global events but also by changing customer expectations and market demands. Meeting these demands requires a digital-first strategy powered by IT systems that are flexible and responsive without compromising stability and customer value.

One of the most critical of these IT systems is SAP, but traditional methods for building and delivering changes to SAP simply can’t keep pace with the needs of the business. Agile development is widely adopted amongst non-SAP IT teams, meaning they are prepared to move at high speed and respond to market changes quickly. However because SAP is often connected with these other systems, those systems can only adapt as quickly as SAP can. SAP then becomes the bottleneck to delivering customer satisfaction, value, and innovation.

An article from McKinsey shed some light on just how impactful this bottleneck can be: they found that 75% of ERP transformation projects failed to stay on time or budget. Their research showed five key reasons for this, three of which stood out to me: lack of integration between the business and IT, a lack of focus on delivering value-based business priorities as opposed to technical execution, and the traditional waterfall methodology used in ERP development.

The good news is that adopting agile development in SAP can help you solve some of these challenges both in large ERP transformation projects, such as a S/4HANA migration, and when delivering business-as-usual (BAU) changes and smaller projects.

The Benefits of Agile for SAP

The goal of agile development is to deliver quality software more frequently so that customers get value more quickly, but there are some other benefits to adopting it as well.

Developing and deploying change this way also makes it significantly easier for project managers to plan and mitigate the risk and uncertainty of large-scale projects. It’s impossible to predict what’s going to happen even just a few months down the road so breaking larger projects into smaller deliverables enables agile teams to adapt quickly as changes arise.

Agile development also reduces the impact and risk that changes can have on your systems and users. Deploying a lot of big changes a few times a year lengthens the time it takes those changes to start delivering value, as users need time to learn them and fully put them into use. Deploying smaller sets of changes more frequently means users are trained much faster so they can start taking advantage sooner. Smaller changes also mean less risk from a technical perspective as there are simply fewer things to break.

Prioritization is another important part of agile development. Anyone who’s been around SAP for a while knows the frustration of deploying a release that took months to build only to be told that some of the changes simply aren’t needed anymore or weren’t what the customer was looking for. Taking an agile approach to development allows agile teams to continually re-prioritize what’s being worked on to ensure what’s delivered is actually of value.

With larger projects, it’s hard to know just how financially beneficial they are until after they’re released, and the financial impact is compared to the amount invested. Breaking larger projects down into smaller deliverables gives a better idea of the cost and return. Using agile, you can keep track of the investment and benefits of each deployment as they’re released.

One other significant benefit of agile development is that releasing smaller units of work increases visibility into the status of software development and the progress that’s being made. This is especially important with SAP systems because many SAP teams work in silos and suffer from limited visibility.

How to do Agile Development in SAP

Agile development is not a predefined checklist of tasks to be completed. It is a methodology communication strategy or set of best practices that can be approached in several different ways. Three of the most common agile methods used are Kanban, Scrum, and Scaled Agile Framework (SAFe).

Kanban was born in Toyota’s manufacturing production systems in the early 1940s. It’s about creating a list of each task to be performed and moving those tasks down the line as they’re completed. If you’ve ever seen columns on a whiteboard with post-it notes that get moved across the board as work progresses, that’s Kanban. If you’ve ever used or seen apps like Trello or Jira, those are widely popular Kanban-based tools.

Scrum is probably the most widely used, agile project management method I see being used by companies doing agile in SAP, mainly because it’s a bit more structured (it’s a timebox approach with a defined amount of work) and it’s easier to use with larger projects. We’ll dive deeper into Scrum a little later on.

Lastly, there’s SAFe, which is a highly structured approach with many different layers and scales to it. SAFe is generally about bringing the concepts and best practices of agile to the entire organization, not just software development, so it includes other things like budget planning.

There is no right or wrong way in implementing agile and you’ll need to find and adapt a solution that works best for your team. For example, here at Basis Technologies, we use Kanban for things like support tickets and bug fixes and scrum for our larger feature development projects.

What is Agile Scrum Methodology?

In the Scrum methodology, a widely used agile process framework, small agile teams of between three and nine people are formed. They include a Scrum master, who facilitates the team’s effectiveness. The product owner manages and prioritizes the user stories for traditional development teams, 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 SAP, it’s often wise to extend the team members beyond the developers. The Basis, QA, and configuration agile teams may need individual team members 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.

Why Most Teams Use Scrum

Scrum plays well into the agile methodology because it is based around small, defined pieces of work called “sprints”. They are typically anywhere from two to four weeks long and involve small, agile team members working on a very specific set of tasks called the “sprint backlog”.

It’s a very collaborative approach to iterative development where everyone on the team has a daily meeting or “stand-up” where they discuss what they’re working on and any bottlenecks or issues that come up that the other team members could help address. The goal here is to break the entire team out of the typical silos and get everyone working together to deliver software rapidly.

The Scrum teams working on each sprint consist of more than just developers. In a standard, non-SAP scrum, you’ll also have the Scrum master, who is essentially a project manager, and the product owner team member who represents the customer or the end-user. SAP scrum teams typically also include other team members from the Basis, QA, and Configuration teams.

Product Backlog

The product backlog is what is used to define the work that will take place in each sprint and the customer requirements in the product backlog are organized into what are called “user stories”. A user story defines what the user needs, why they need it, and what outcome they want.

This is typically where SAP teams struggle in adopting more agile practices because they don’t think about development in terms of small chunks; they think about the development iteration of big, long-term projects. But these small user stories are the backbone of the SAP agile product development process as they help deliver value to the customers when they need it, instead of three, six, or twelve months down the road.

User stories can be part of overarching goals which are called “themes”. Themes look at the outcomes you’re hoping to accomplish, and there can even be more mid-level goals called “epics” that sit between the user stories and the theme. You would then define a certain number of user stories in a project scope or sprint and deliver an epic of a certain number of sprints.

As you can see in the above diagram, we can map this workflow to SAP. For example, you might have “sales” as your theme, with things like “water” and “contract management” as your sub-groups, and then the process step could be something like processing a return. The process step is where the user stories lie and that’s the part that’s key to agile development for SAP.

Integrating SAP with the Product Backlog

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 and agile software development project 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 with the overall project delivery goals.

For more information on integrating SAP with agile development tools, see our eBook: Streamlining Software Development with SAP Toolchain Integration.

Agile Tools

There are many tools for managing agile teams and backlogs such as Jira, ServiceNow, Azure DevOps, and others but typically there’s no way to connect these tools to SAP. That’s where ActiveControl, our SAP DevOps automation tool, comes in. With ActiveControl, every transport you create can be automatically tied to a user story in your agile project management tool giving you complete transparency of what tasks are currently in progress, who’s working on them, and so on.

Managing a Shared Environment

One of the biggest challenges SAP teams face when adopting agile development is SAP’s shared development environment. You have multiple agile teams (70 in the case of one of our customers) working on different tasks with different desired outcomes all in the same development environment in the same code base. That creates major problems and headaches which is why automation tools like ActiveControl are critical to managing it all. ActiveControl automatically tracks every change as it’s made, along with who made it, so you have complete visibility of all the teams and work being done throughout the sprint.

Shift Left

One other area where automation and SAP agile development go hand-in-hand is in shifting testing left to identify issues earlier and improve the quality of releases. SAP has its tools to help with this like ABAPUnit testing, Code Inspector, and ABAP Test Cockpit, and ActiveControl can help you build these tools into your development cycle to ensure no transports are moved until proper checks have been run and signed off.

Review & Feedback

The final piece of Scrum is reviewing the work that was done and working together to improve the process for the next sprint. The sprint review is meant to evaluate the work you had planned to do, what work you accomplished, and how successful you were in achieving your goals. It’s also a chance to re-prioritize any stories you need to and plan for project success in the next sprint.

The sprint retrospective is more about how the work was delivered, discussing ways the process can be improved, what challenges arose, and how you and your agile leadership team can overcome them.

Increasing Automation in your SAP Environment

Agile enables a faster pace of development and continuous integration testing which leads to much faster deployments. Users of SAP DevOps automation technology report deploying changes to SAP systems daily due to its ability to enable continuous improvement through agile workflows.

Agile development is often characterized by multiple agile teams developing separate user stories or epics working software all at the same time. That works fine when developers can work independently, for example in containerized environments or perhaps even on their 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 in global teams might all be working on the same code base at the same time, often in siloes 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.

SAP automation is vital for ensuring the quality of deployments as well. Identifying and resolving issues early is critical for team performance and maintaining fast development life cycles for everyday tasks. 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 development process for repeated rounds of handoffs and rework for team members.

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 the agile method of 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 standard and uptime necessary for continuous delivery of critical business systems.

Summary

Agile development for SAP enables you to apply modern development and agile best practices, to your SAP landscape so you can build and implement changes quickly. With faster, more frequent delivery of high-quality software, companies are better equipped to respond to changing market dynamics and maintain a competitive edge.

If you’re curious about how to adopt the agile best practices in your SAP landscape, why not connect with us to see how we can help your organization?

Share this post

Recent posts

Get a demo

Learn More About Our DevOps and Testing Platform

Search

Read more

News, Technologies & Products