Self-Assessment: Are You Already Doing SAP DevOps?
Evaluate your organization to see if you're successfully using DevOps processes and, if so, the level of maturity of your DevOps.
Join the DZone community and get the full member experience.Join For Free
DevOps is a key element of many enterprise IT strategies today as digital transformation drives the need for greater efficiency and higher speed. However, teams responsible for Enterprise Resource Planning (ERP) software like SAP sometimes feel like they’re not surfing the same wave.
Do you think that DevOps isn’t for you? That it’s not relevant to SAP? Perhaps you understand the value and are trying to achieve a culture of DevOps for SAP, but find yourself unsure as to whether you’re succeeding? Maybe you’re even reading this thinking "What is DevOps?" You might want to check out a previous blog I wrote for more on this and about laying the foundation for DevOps success.
In reality, DevOps, in general, isn’t quite as black and white as whether you “are” or “are not” doing it. DevOps is unlikely to look the same in any two different organizations so adoption is typically more of a journey, with lots of different potential milestones along the way.
The majority of companies we work with say they’re not doing DevOps in SAP, but when we talk to them we see that many are already applying DevOps concepts into their software delivery approach. They just don’t label it that way.
Those companies might not tick all the boxes for the complete and ‘ideal’ DevOps methodology. They might not be delivering at the pace of an Amazon or Netflix, but the common ambition is to deliver more value to the business – whether that’s through a ‘big bang’ or, more commonly, via incremental and iterative change.
To find out whether or not you’re already on the path to DevOps, consider these 10 questions:
1. Do your developers, testers, and operations engineers work together?
Traditionally, SAP applications are supported by a number of individual teams who work in silos (development, QA, operations, security, etc). In a DevOps delivery model these walls break down and new cross-functional teams are created. These new teams may be part of a formal org change or be informally driven by groups of individuals who work in multiple "virtual" teams.
Answer = Yes? You understand that communication and collaboration are key to efficient delivery of change. You’ve started to build one of the key foundations of DevOps (for SAP or elsewhere).
Answer = No? Leadership buy-in will help break down organizational silos to create cross-skilled teams who constantly interact with each other and automation tools will help to increase collaboration across the business.
2. Do your developers, testers, and operations engineers have common, business-oriented goals?
Your various teams are working together, but they’re also closely connected to representatives of the business (often known as ‘product owners’) in order to understand shared goals and provide feedback on the feasibility of requested requirements. Business goals might seem a secondary focus to some but ultimately they are what everyone should be working together to achieve.
Answer = Yes? You’ve recognized that reorganizing and focussing teams on business outcomes is key to increasing efficiency and accelerating the throughput of work in the delivery pipeline.
Answer = No? Defining common metrics for teams to benchmark against can be a good first step to aligning delivery around what the business needs.
3. Does the team have full visibility into change?
If you have a full audit history and structured approval workflows set up, management will have the confidence to approve or delegate to team members as required.
Delegation of responsibility increases resource efficiency, enhances collaboration, transparency, and knowledge sharing across the team, and improves overall delivery speed and quality.
Answer = Yes? You’ve overcome the situation where code changes are delayed (or in extreme cases ignored) because it’s difficult for approvers to understand their importance and implications.
Answer = No? Implement an integrated SAP change control process that gives full visibility into all changes across all teams with comprehensive audit history.
4. Can you consistently spot code quality issues early in the development process, before they get near to production?
A lack of quality checks early in the development and testing process ultimately reduces the speed at which changes are delivered to the business and increases overall costs and risks. Whether it's bad code or bad practices, you need to identify and address problems at the earliest opportunity.
Answer = Yes? You’re managing to catch risky changes early in development and thereby reducing the number of deployment failures further down the line.
Answer = No? Find ways to use tools and advanced analysis to inspect technical objects inside the transports in a release.
5. Are you employing automation for SAP change and release management?
If you’re moving changes manually, from your SAP development systems through to production, it’s just not a DevOps pipeline. Manual deployments leave room for errors and poor quality code. Automated deployment speeds up the process and provides a robust change workflow without manual intervention.
Answer = Yes? You’ve made progress with another of the key underlying DevOps concepts: automation. Automation is a fundamental necessity in any Continuous Integration/Continuous Delivery (CI/CD) approach.
Answer = No? Adopt a tool to automate application builds (CI), orchestrate cross-system deployments (CD) and automatically roll back to a previous state if errors do occur.
6. Is your software development agile?
Shorter, more iterative development cycles increase business agility by allowing functionality to be delivered more quickly and frequently. Many organizations have adopted an agile development methodology such as scrum or kanban to enable them to get new features and functions to market more quickly.
Answer = Yes? You’re already building the third key pillar that supports DevOps for SAP. DevOps simply cannot succeed without an agile development approach.
Answer = No? Investigate which agile approach would work best in your organization. Start small to prove the concept and then consider rolling it out to additional teams and to cover more areas of development and delivery.
7. Are you unit testing wherever possible?
A key feature of DevOps is the ‘shifting left’ of activity to earlier in the development process. This is particularly true of testing. In a DevOps approach, each change that a developer makes is verified by automated build and unit tests (possibly even automated integration and regression tests). Action can be taken without delay if the build or any tests fail before the code has even reached QA.
Answer = Yes? Automated unit tests have fundamentally changed your approach to development, increasing confidence that units of code function as they should.
Answer = No? Develop a test-driven development approach and start using tools like ABAP Unit to shift your testing left.
8. Is more of your testing automated than manual?
The short release cycles typical of a DevOps approach make it difficult to both deliver on schedule and keep the business safe if most of your testing is done manually. This is especially true of regression testing, where the size and complexity of SAP systems make fast, comprehensive testing almost impossible using traditional methods. In short, all testing that can be automated should be automated. Manual processes are simply too slow, expensive and error-prone.
Answer = Yes? You’re equipped to deliver at pace without unnecessarily increasing the risk of breaking something critical in your SAP production systems.
Answer = No? Investigate automation tools that can reduce the cost and manual testing effort.
9. Do you have analytics in place to drive continuous improvement?
Constant feedback is a crucial element of success if you're aiming to reap the many benefits of a DevOps approach. A culture of continuous improvement is underpinned by the ability to measure the performance of development and testing via a set of relevant metrics and KPIs, so it’s important to have the tools that allow you to display the right information in an accessible manner.
Answer = Yes? You have a regular, iterative review process that validates what has been done and identifies how things could be improved in future so that you can pinpoint when something has gone wrong, resolve the problem as soon as possible, and make sure it doesn't happen again.
Answer = No? Get more granular insight into the effectiveness of your change and release process so that you can define clear goals, milestones and metrics that allow you to quickly recognize achievements and failures, and pivot where necessary.
10. Are your SAP teams using the same software tools as other parts of the IT organization?
DevOps has been widely adopted by many IT teams, who have long recognized the benefits that it can deliver. Other parts of your IT organization may have a wealth of experience and tooling that can be applied to your SAP environments. What’s more, if SAP is currently a bottleneck in the elegant cross-application continuous delivery process they were hoping to implement, they will probably be more than happy to help!
Answer = Yes? You’re set up to leverage experience that other parts of the business have already accrued and further increase business agility by integrating SAP into a cross-application continuous delivery pipeline.
Answer = No? Find automation that can bridge the SAP delivery gap to enable automatic, coordinated build, test and deployment of all related changes.
By now, you should have an idea of what stage you are in the journey towards DevOps. If you answered 10/10, well done! Of course, there’s always more that can be done. You might consider embedding security into your DevOps process (DevSecOps, to some), for example.
If scored a bit lower just keep moving forward on the journey towards DevOps for SAP and you will accrue greater benefit at each step on the way.
Finally, if you feel like you’re at 0/10, don’t worry! The DevOps world is your oyster. Why not pick one of the topics in this article and explore in more detail to understand how you can get started?
Ultimately, if you're trying to
● Increase deployment frequency and achieve faster time to market,
● Lower failure rate of new releases,
● Shorten lead time between fixes, and
● Improve mean time to recovery,
then you have a DevOps mentality. If you want to learn more about adopting agile and DevOps, check out this eBook.
Opinions expressed by DZone contributors are their own.