The developing digital economy is driving a big change in the way applications and infrastructure are provisioned and delivered.
But what if you’re running applications like SAP and it feels like the digital transformation doesn’t have a direct impact on you, at least not right now?
In that case you might be wondering why methodologies like Agile, lean, DevOps and continuous delivery have any relevance - you already have robust processes in place to deliver applications in a traditional way, after all.
The answer is the early delivery of business value.
There’s nothing inherently wrong with delivering applications in a waterfall fashion, where they’re pre-planned, budgeted and have a well-defined scope, but just because a project is run in this way doesn’t mean that risk is removed.
In large releases...
- The business waits a long time to get new features, so people get frustrated
- It’s difficult to change direction or refine what was asked for
- There are high levels of business impact and testing
- Recovery from failure is difficult and time consuming due to the volume of changes deployed all at once - so there’s less time to build new features.
A more agile way of managing application changes allows requirements to be delivered to the business in shorter, more frequent releases. That matters as businesses feel the need to deliver change faster and faster in order to remain competitive.SAP systems won’t be exempt from this growing need to support a more responsive business, and agile offers an ideal path to faster, more flexible development.I’ve picked out five key points that explain some key benefits of agile in a bit more detail. All of these can apply just as well to SAP as to other IT systems!
1. Fail fast and respond
In traditional development requirements are documented up-front based on what people think they want at that time. When the project gets delivered - often many months later - stakeholders often realize that things don’t work as they expected or, even worse, the project has taken so long to deliver that features are no longer relevant.
One of the key benefits of an agile approach is that requirements are delivered faster so the business can benefit from them far sooner. And, even if they don’t quite work right, fast feedback loops enable constant improvement.
Agile development permits the business to experience this delivery “failure” and learn from it so that less time is wasted building things that no one wants. It allows testing of what’s been built to ensure that it meets business needs - in a typical “old world” scenario nothing would be seen until the end of a long project many months later, with little or no opportunity to make changes.
2. Smaller chunks reduce risk and impact
With big releases comes big risk and big impact.
Deploying hundreds or thousands of changes at once might seem like an efficient way of doing things but it’s hugely risky and there’s a high impact on the business. Adoption of many new features and processes requires considerable effort.
Breaking down releases into smaller, manageable chunks takes away a large risk element. It makes testing and user adoption far simpler and allows immediate deployment of distinct changes when they’re ready to go.
Of course, some analysis of existing business processes is required in order to fully understand the impact of more frequent deployment, but this approach means that changes can be accepted into production much faster.
3. Avoid temporary (permanent) workarounds
When the pace of change is slow people naturally attempt to build creative solutions that can work around the bottleneck and be delivered more quickly.
Unfortunately, most of these temporary workarounds don’t operate in an optimal way. It’s all too easy for them to become permanently embedded into processes, creating large levels of technical debt and a high cost to maintain and run. If workarounds can be avoided because the delivery pipeline moves faster, not only will solutions be more efficient but they’ll be easier and cheaper to run in the long term as well.
4. Visibility, Control & Measurement
In traditional development the testing is largely done in one big lump at the end. That means it’s almost impossible to know the current status of anything or to anticipate and manage issues as they arise.
Agile processes promote transparency through the involvement of all stakeholders on a day-to-day basis. Business requirements live in a constantly updated and prioritized product backlog and in each iteration it’s easy to see what’s been done, what needs to be done and what the risks and blockers are.
As users are actively involved they can steer development at every step of the way. And if requirements change it’s much easier for the team to shift attention to higher priorities.
5. Fast recovery from failure
So what do you do when something goes wrong after the deployment of a project?
It’s really hard to measure and recover from failure when changing many things in each release.
The smaller deployments that come with agile processes make it far easier and faster to unpick any issues and provide the necessary resolutions. The risk and uncertainty that surrounds massive deployments is almost eliminated, freeing more time to spend building new features and create business value.
An efficient IT delivery model
Agile and DevOps are not just about supporting digital transformation. They support a much more efficient IT delivery model that’s designed to give the business exactly what it needs, when it needs it. When applied to SAP this can transform what is all too often a slow and inflexible way of delivering business value.
And who wouldn’t want that?
For some ideas on how to get started with Agile for SAP, download our eBook, and for more information on Basis Technologies’ suite of automation tools take a look at our website.