Developing SAP Fiori applications in the Scaled Agile Framework® (SAFe) 5.0
Having studied and applied SAFe® principles, been involved in Scrum based teams and being part of delivering a fair amount of custom developed and standard configured SAP Fiori applications over the years, you may be wondering about how SAP Cloud Platform and SAP Fiori App development environments supports the latest Scaled Agile Framework (SAFe®) Guidelines, which is Version 5 in time of writing.
In this Article, I give my thoughts on this, diving deeper into some of the areas, than others, since some areas are more defined by Human abilities than technical supporting tools. Obviously, this cannot be covered in a short article only, but looking at the Business Agility chart, some of the areas appear quite relevant to this question.
Before venturing deeper into the Business agility chart, I would like to touch upon on a central addition to the latest version in the SAFe® Framework: Adding Design Thinking principles. First time I did my SAFe® Agilist Certificate, I did wonder why Design Thinking was not represented at any stage in the methodology and it felt incomplete without this aspect. So, I absolutely welcome it now, since I believe that most companies having the end users / customers in focus, needs to strive for an effective and agile organization, to be able to react fast to changes. Backed by this idea, I also think that it is a good fit, as solutions built with properly applied Design Thinking ensures an inspiring, intuitive and enjoyable focus on the end user and their perspective. As well Design Thinking in general is an agile process and fits into the idea of failing fast, by continuously validating new features in mockups and high-fidelity Prototypes, before moving into more expensive and time-consuming “real” development. I sometimes meet the argument against bringing the end user to the table, that it will just add too many ideas and features to the drawing board. But having lots of passionate people to vote on many great ideas is a gift. In the end, only the best-argued ideas get into the app anyway and everyone around the table will understand and accept that, and still be great ambassadors for the coming changes. Sometimes the best ideas come from the least expected people.
Having this in mind, I believe that all new process, application and product development should start with an offset in Design Thinking, where we emphasize with the end users through personas modelling. Just like when an actor works on understanding and being the role/person, he/she has to play. It is clearly a step forward for SAFe®, but at the same time a pity that Design Thinking is only represented in the product delivery area when it could add value at basically all levels. As an example, it could help creating themes on the top level of Full SAFe®, as well as to develop Epics, capacities and features and being able to empathize with the customer, at the birth of an idea.
SAFe® – Customer Centric Business Agility
– The 7 Competences
Lean Portfolio Management – Organizational Agility – Continuous Learning Culture – Lean-Agile Leadership – Team and Technical Agility – Agile Product Delivery – Enterprise Solution Delivery
The image above belongs to SAFe®
Lean Portfolio Management
Including strategy and investment Funding, Agile Portfolio Operations and Lean Governance and empowering decentralised decision making.
The SAP Cloud Platform itself invites to strategic thinking and funding, where the platform serves as the start base, giving you all the building blocks to fast spin up an architectural runway of services, for new ideas to be tried out like Web IDE for development, UI5 Standard components, Fiori Elements, Workflows, Machine Learning, Internet of Things, Business Rules, Extension Factories, Integration connectors, API management and much, much more. Maybe not more fancy than other cloud solutions from the hyper vendors on the market, but it’s there, and its mainly build on top of solid open source standards, and it supports Agile Portfolio Operations and decentralized decision making by enabling a model where you turn on services as you need them, as well as you can scale as you grow automatically. Though, you should of course always keep an eye on the price and spin down services you do not use. Here the new Serverless functions that SAP has as a service, makes life easier for those keeping track of paid services, since you only pay when the service is working on something, similar to Lambda Functions. This makes it safer to delegate down decisions.
Including Agile Lean-thinking People and Teams, Lean Business operation and strategic agility.
It’s hard to say if it’s the tools that make People Agile Lean-thinking or if you have to be Agile Lean Thinking by nature to be able to understand, how to get the most out of the tools you use to build your products. But all the above-mentioned Digital services/tools are for sure supporting this both ways around, in particular the Digital Strategic Agility.
Continuous Learning Culture
Supporting learning organization, a creative innovation culture, and relentless improvements from everyday learnings in processes, solution and services.
Being able to adopt and learn and improving techniques, processes and ideas or in some cases even being able to adopt new ways of looking at things from a new cultural perspective, is a continuously never-ending ongoing process. And it can be overwhelming to keep catching up. SAP does great effort to support this by its free open courses like:
As well as their Learning journeys, though not always free:
by leading by example and aligning mindsets and actions to the Lean-agile Values and principles, as well as he ability to lead and guide trough changes.
By naturally having used Scrum as process framework and SAP tools and services also including SAP BUILD, UI5 components, Fiori Design Guidelines, Cloud Deployment and Cloud Version Management, at a fair amount of customer projects, I do actually fell, that we have been enabled, by these tools, to lead our customers by example by making them see the effectiveness and possibilities in these methods and tools. In that way, we have been trying to lead/guide our customers by example. As well, early use of Design Thinking Workshops has been promoted by SAP for many years and by us as agile Fiori App development teams. This have helped changes to be adapted more natural in our organization and by the customers.
Team and Technical Agility
Including cross functional development teams and teams of teams who all use methods and frameworks that support and guaranty quality in each layer and at the end delight the customer.
As stated by SAFe®, this is the cornerstone of Business agility. And luckily the basis is the idea of development in agile cross functional Scrum and XP teams creating high quality and well-designed future adjustable solutions. This is something we naturally as Scrum based cross functional development teams is striving for, with great support from SAP’s Fiori Guidelines and UI5 coding framework as an example. Furthermore, as mentioned earlier, it’s great to see that SAFe® has added Design Thinking as a part of the framework as well. Well carried out Design Thinking Workshops does certainly help the projects in the right direction from the beginning toward “High-Quality products”. This also helps measuring if we actually did reach the quality we aimed for. The large UI5 library of pre-developed Fiori based standard frontend components makes it relatively easy and fast to adjust the UI of an app, when new features are requested. What maybe is a surprise to some people is, that SAP Fiori Guidelines actually help development of applications with a good and consistent UX, including some well tested accessibility features and details. But UX is one thing and UI Design is another thing. And even though SAP does supply the developers with at Theming tool to adjust Colors to fit their own design guides, as well as other styling details, this could be even more agile friendly to work in. But not all companies do have a need for at custom theme and for those, the different themes that is included in the framework, does indeed support the possibilities to build at good delightful user experience.
Agile Product Delivery
Delivering customer centric, embracing Design thinking as framework to ensure this, being able to deliver on demand, inside the continuous delivery pipeline.
As mentioned earlier, SAP has in fact used Design thinking them self for many years in their product development, and their BUILD tool, does have many nice features, that support the design thinking processes like, personas descriptions, wireframes, mockups and clickable prototypes, that can be tested by end-users and enables direct feedback to the developers inside the prototype.
As well the SAP SCENES, is a nice set of cartoonish styled objects to be used in story and process telling, where a human explanation can be more accommodating to understand, than sometimes less inspiring plain words.
Concerning support for SAFe®’s mindset and five conceptual approaches to this, in terms of “CALMR”: Culture, Automation, Lean Flow, Measurement, and Recovery, the SAP cloud development framework does support this in different ways, particularly in their new Cloud Foundry edition, that enables features like Blue and Green Deployment, Feature flagging, version roll back and Choice of programming language with build-packs.
SAP also supports a Continuous Delivery Pipeline that consists of the four aspects: Continuous Exploration (CE), Continuous Integration (CI), Continuous Deployment (CD), and Release on Demand.
An example to this, supporting the Continuously Delivery Pipeline, is the SAP Project Piper using Jenkins and the relatively new Github actions enables automatic deployment to your different SAP Cloud subaccounts based on branch merging in GitHub.
Or by using Github action,
There is a nice blog about this here as well:
As well a tight integration into Git from SAP Cloud also enables to setup Workflows like Git Gitflow and Feature and incident branches to keep track of the agile work there is constantly going on.
A Continous Delivery and Contionus Intergration also mean continuously testing. In addition to this Here SAP Fiori/UI5 has built in UI5 Testing tools like Qunit, OPA, UIVeri5 and more:
To enable release on demand as well as fast roll back to recover in case a released version did not work as expected, SAP does as mentioned above support this by easy version switch in each deployed application, even in production sub accounts.
As well, easy destination control enables easy testing on different backends if needed.
Enterprise Solution Delivery
Lean solution and system engineering to build big systems, Coordinate trains and supplier, Continually evolve live systems.
SAP Cloud Platform is by itself a very large Live System. SAP evolve the system through quarterly released updates, as well as smaller updates even more frequently. Very important as well is, the SAP Cloud Platforms ’s extendibility that is recently made simpler and faster to get started with, through its new extension factories. This as well enables the customs, to keep their live system continuously evolving through extensions. As a side note, a side by side extension strategy is recommended, to ensure the Core is not getting cluttered and to difficult to update.
Developing SAP Fiori applications using SAP’s Cloud tools does absolutely support the SAFe® v.5.0 principles, as I have tried to describe above.
But being able to think and act agile, is not something you do mechanically. And I do sometimes feel that SAFe® tries to make concepts for every small human activity involved in the agile process. And if you just mechanically follow the principles, you might end up losing your agility and room for improvisation. As well, getting the “pluming” done, to get all the technicalities ready to support a continuously pipeline setup working in SAP cloud, does ad a lot of complexity into daily work life. At least until you get established a routine. Therefore, be open to the new possibilities and ideas and experiment with them, but do not eat the full plate at once, and do not forget to keep the helicopter perspective on things. Emphasize with those you are making the solution for and be patient! Keep moving forward in small iterative steps and choose another track if you fail a step. Failing fast is greater than later. Rome wasn’t built in a day either …
Please feel free to add your comments in the topic
/ August // Gavdi Labs