The Lean Mean SAP Development Machine
After my Monday morning slog up the motorway to work this week I realized as I was pulling into the car park that I had very little memory of the journey I’d just made.
Of course, I was in control all the way but I’d pretty much been on autopilot for the whole time.
Even the 15 miles of roadworks that I had to drive through whilst cursing yet another accident or breakdown didn’t stop me from getting where I wanted to be.
This got me thinking about the journey organizations need to take to get where they want or need to be.
Businesses have always been under pressure to be more successful and to stay or get ahead of their competitors. Today there’s even more pressure and yet to get there they need to be flexible and adapt to changing market conditions.
IT provides the backbone for business operations and provides insight and information to enable performance to be measured. If IT systems and teams can’t be adaptive and flexible how can businesses be expected to thrive?
I work in the world of SAP and see these issues time and time again.
“SAP is hard to change and it takes too long.”
“SAP is not agile.”
“If I run SAP I can’t expect to adapt quickly to change.”
These are the kind of things most people in the SAP world would hear, say and agree with.
But it doesn’t have to be like that...
Moving to a lean development process that promotes agility and flexibility solves a lot of these issues but it requires a journey to get there:
- Lean development is all about eliminating waste, increasing quality, being able to make late decisions on priorities and delivering fast.
- A lean organization also seeks to optimise the whole process not just individual functions or teams and empowers people to do so.
What does all this mean?
Building quality and feedback into processes enables learning and reduces waste. In agile development, the retrospective at the end of each sprint gives immediate feedback while it is fresh in everyone’s mind rather than at the end of a long project when a lot has already been forgotten.
This is also fundamental to testing. Inspecting a product at the end of a production line is far less efficient than doing so at regular checkpoints along the way and then improving the production process.
Having a process that involves testing teams and the end customer from the start ensures that everyone is responsible for quality and that feedback and improvements are continuous. Plus, the customer is more likely to get what they asked for in the first place!
Being able to defer decisions on scope and decide as late as possible means also that the risk that something important has changed is significantly reduced. Changes in direction, people or market are then much easier to adapt to. Agile sprint planning allows such changes to be more easily accommodated into the next cycles so that development is carried out just in time.
Delivering fast is paramount to create competitive advantage. This can only happen if teams are given the skills and freedom to so they can operate in a flexible and supportive way.
Breaking down organizational boundaries so that teams work together with all the skills needed to deliver is fundamental.
Traditional IT struggles due to teams being split into silos based on skills or roles. Agile is successful as it organizes teams around projects or products with everyone required for success included inside those teams.
This fosters greater commitment, motivation and quality and encourages innovation. When people can see what they’re working towards they are much more engaged and accountable and want to support both each other and the end goal.
The end result is better products that meet the requirements and are delivered to the business faster. A big win for all.
So how do I get there?
About a year ago we embarked on a switch to agile development processes and it was far from easy.
You can’t plan infinite detail up front how you are going to get there nor can you predict, with certainty, what obstacles you will encounter along the way. Attempting to do this will no doubt end in failure and in many cases will prevent any progress at all.
Having the vision of where you want to be and the desire and motivation to get there is fundamental.
You’ll get things wrong. The capacity to accept that mistakes will happen, learn from them, move on and improve is key to success here.
Having the tools in place to support both the process and the feedback loop is vital.
We started out with a tool that was fine for the process but didn't give the visibility we needed to assess and improve.
That's fixed now and the results are clear for all to see.
During my journey to work or indeed on any other journey I take, I know what the end point is. I’ll be focussed on my destination and no matter what obstacles get in my way, if I’m determined enough I’m almost certain to get there in the end.
Having sight of the end goal and being able to adapt as things get in the way is a key factor in the journey to lean and agile development.
Being committed at all levels and empowering people to make the change is the starting point for a journey that can transform how software development is managed in your organization.
If you run SAP and you’re interested in the benefits that Agile Development could bring to your organization, check out our DevOps toolset.