Professional Documents
Culture Documents
Contents
1 Executive Summary
The importance of user experience and designing it correctly is getting serious attention from companies
who aim to keep their users happy and productive. Users are demanding enterprise apps to work with
simplicity as defined by the consumer grade experience set by the Amazons and Googles of the world.
SAP Fiori promotes sophisticated, scalable and highly responsive user interface that seamlessly works
across desktops, tablets, or smartphones.
The business case for SAP Fiori is robust, as it claims to improve monetary values, including improved
productivity, reduced support & training costs, and improved data accuracy, along with human values for
improving user satisfaction, improving customer loyalty and increasing the overall solution adoption.
Despite these innovations, adoption was a little sluggish and Business and IT organizations were reluctant
to go full-throttle, and rather preferred the cautious approach limited to POCs and prototypes.
What is causing this slow adoption?
Even though 700+ apps are available from SAP, the cost of migration, maturity of the UI technology, and
limitations in functionality offered through the standard off-the-shelf apps, were few of the reasons
hindering adoption. Clients do want to leverage their SAP investments to their full potential, but the risks
of disrupting working systems and cohesiveness of user experience with other UI technologies from SAP
were known concerns.
Most of these concerns were addressed with the Agile Approach. The most repetitive build tasks for
prototyping and building were tackled by automation tools, making the business case much stronger.
This White Paper describes the path for Migration to SAP Fiori in an agile manner, and details the
approach, considerations & challenges that drive the game-changing UX improvement strategy.
Page 2 of 13
Understand end-user tasks and speak the language or human tone so as to enable them to
perform better.
Responsive
Smart adaptation based on the device, to deliver the best experience a device can provide.
Simple
Focus on the important tasks, and make essential functions obvious and easy to use.
Automate wherever possible.
Coherent
Provide one fluid, seamless experience across all platforms, devices and applications.
Delightful
Make an emotional connection to make end-users better at their jobs and go beyond what
is expected.
Off-the-shelf content: To help clients jump-start deployment, SAP has already provided 700+ Fiori
apps (transactions, analytics and fact-sheets) based on SAP Business Suite and SAP HANA.
Model-driven Approach: Modularized framework, with clear separation of server side business logic,
data model and UI presentation logic. SAP Fiori uses HTML5 components and a thin layer of
customized HTML page with two-way data binding. This helps in faster development cycles and easier
maintenance.
Easy Development Lifecycle: The Framework includes toolsets from SAP like WEBIDE, as a
development environment, BUILD for collaborated design and many other services on their cloud
platforms (translations, OData modeler) apart from plugins for Eclipse. WEBIDE provides gallery of
template apps and artifacts, API references, method cards, best practices. All of these help the
developer community for faster learning and faster deployments.
Integration with SAP Ecosystem: Well integrated with other SAP Business Suite components, SAP
Gateway, as well as with SAP Portal & NWBC. SAP Gateway includes Fiori Launchpad to act as a
Page 3 of 13
common entry point for all apps, Fiori or non Fiori, and Fiori Inbox for unified workflow/task
processing. SAP Gateway architecture helps in connecting with other SAP Business Suite components
through OData services.
Widgets and Event Handlers: SAP Fiori/UI5 includes a rich collection of 200+ UI elements, grouped in
cross-device (running on phones, tablets and desktops) for building great looking apps. The
Framework includes routing and event handling mechanism to track any browser-based events or
user interactions. The Library even includes components for charting to support sophisticated
analytics applications.
Automated Test Frameworks: Unit testing involves breaking down the logic of Fiori application into
small chunks or units, and verifying each unit of work as desired. In JavaScript apps, Function is the
smallest unit of code that can be tested; Unit Testing frameworks like QUnit or Selenium, along with
Chrome Plug-ins, help developers follow test-driven developments.
Single Page Application: SAP Fiori is a strong SPA framework, supporting features like Routing, Back
button support, view composition and dynamic loading of partial views/fragments.
Cross Browser Support: SAP Fiori contains HTML5 and CSS3-based design templates for typography,
icons, forms, buttons, navigation and other components. These libraries are compatible with all major
browsers latest versions.
Page 4 of 13
Applying agile methods to UX leads to working in short sprints of 2-3 weeks, focusing on a small scope
and building the solution incrementally. The Scrum works with 3 roles, 3 artifacts and 5 ceremonies as
described in the diagram below.
The Product Owner is responsible for release & sprint backlog, features and prioritizing them as per
business needs. Based on the principles of lean software development, the product owner needs to
ensure minimal waste, or in simple terms, needs to determine what is relevant so that the end-user can
perform the tasks effectively.
Scrum Master manages the sprint and coordinates with the team on the progress, or helps in addressing
any impediments. The Scrum Master would utilize daily scrums or daily stand-ups to discuss what the
team members did yesterday, are doing today and impediments blocking the efforts.
The Development Team is responsible for estimation, using story points and development tasks. User
Stories are described as As a USER <some role>, I want <some goal>, so that <some reason>. They also
include additional details and an acceptance criterion, which helps in test-driven developments.
Estimations are done in terms of story points, based on the efforts required to perform the identified
task.
In a nutshell, the agile team fosters transparency, identifies issues sooner and delivers features faster.
Since there are few stories in an iteration, tracking the status of each is fairly a simple matter, and status
L&T Infotech Proprietary
Page 5 of 13
is tracked by hanging visual indicators in a Burndown Chart, which is the aggregate to continuously
monitor current status and also estimate how much work remains. It depicts the sum total of the
estimation for all backlog items that are not yet started, and the estimated remaining effort for inprogress backlog items. The sum represents the estimated remaining work to be completed during the
iteration.
What are the Challenges?
The first major challenge would be the delivery of a fully-working (though with limited scope) Fiori app in a
short span of 2-3 weeks, especially when this involves multiple activities for building the app and the
underlying OData services. Further, agile works well with team in close proximity. So how can one
accomplish this in an onsite-offshore model with distributed teams? These are the typical questions when
dealing with large Fiori projects, the ones with the release scope of 20+ apps.
We approached this with a Scrum of the Scrum model and automation tools for accelerated deployment.
Although the initial model was defined considering the following perceptions, it underwent multiple
improvements during actual execution.
Factors Supporting Agile Approach
Fiori Design: Fiori apps are based on 1 User, 1 Scenario and not more than 3 Screens Principles. While
large Fiori apps can take up to 6 weeks for build, work packets can be split to limit the features or
scope that are achievable within short time boxes of 2-3 weeks.
Prototyping: Mockups and prototypes improve clarity on design for product owners and development
teams, and help keep things on track. Defining the wireframe and data model upfront also helps in
engaging end-users as they are able to visualize things better and provide clear definition of the user
story. Easy prototyping tools help build wireframes in a short span of 1-3 days during the design
phase. Early prototypes ensure usability is not compromised for the short sprint cycle.
Release and Sprint Backlog: The clarity, with which the user stories are defined, helps in saving
valuable time during the actual sprint and reduces rework. Stories also need to include detailed
acceptance criteria so that the team can perform test-driven developments. Clear definition of user
stories, epics & themes, upfront prioritizing of backlogs based on business needs and sorting
dependencies before the actual sprint starts, facilitates faster execution. Upfront prioritizing and
estimating the release backlog to the maximum extent possible, drives individual teams to function
independently. Such committed teams are self-motivated and deliver without a scrum master.
Estimation with Story-Points and Velocity: With agile, estimation is done based on story-points and
development teams vote with their estimation cards to arrive at a consensus on efforts. A typical Fiori
app build covers multiple development tasks around UI, Services and Data. A checklist with various
build activities enabled better estimates. Typical tasks envisaged include:
Page 6 of 13
The team estimates efforts using Fibonacci numbers 1,2,3,5,8,13 & 21. Stories with estimations
beyond 21 are split to ensure completion within the short sprint duration. Agile promotes adaptive
planning, evolutionary development, early delivery and continuous improvement, and encourages
rapid and flexible response to change. The Methodology enables improvement in velocity through
iterations, and typical improvements of around 200% are achievable with 3-4 sprints. In fact, we
observed these improvements to be 400% (from 50 to 200 per team), mainly attributed to
automation tools to cover repetitive tasks and doing things in an efficient manner.
Team Skill Mix: Fiori App build demands UI5 (front-end or UI), ABAP (back-end OData services), SAP
security and specific SAP functional skills (configuration & testing). These distinct skills and dedicated
team resources enable parallel simultaneous efforts. The typical recommended team size per agile
development standard is from 5 to 8. Larger Fiori projects however need multiple squads (or teams)
that are anticipated to be independently delivering. Concepts like parallel programming do help in
improving throughput and it is advisable to have at least 2 developers per key skill such as UI5 or
ABAP in this case.
Agile execution demands development team working in close proximity with the client, and
preferably in the same time-zone, as this boosts informal communication and collaboration. This is a
major challenge in an onsite-offshore delivery model. The Diagram shows the model followed with
scrumming the scrum approach. Each offshore squad has a dedicated Scrum Master and a proxy
Product Owner, both of whom are closely associated with the onsite squad. The entire team, team
members on both onsite and offshore, need to part of common daily scrum meeting. It is
recommended to have some overlap between work hours to facilitate coordination. All teams
working on a release need to work within the
same time box.
All agile teams are eventually expected to turnout as self-motivating and independently
operating without scrum master as the delivery
process matures through iterations.
Page 7 of 13
Off-the-shelf SAP Content: There is a plethora of SAP-delivered Fiori apps (700+) available from SAP to
help developers jumpstart the development process. It is very rare that a developer needs to start a
Fiori project from scratch. In most cases, it is either the standard off-the-shelf SAP app that can be
extended, or there is a bootstrap or sample application available, which can be cloned. These code
snippets are already based on best practices and distinct extension points to ensure clear separation
of custom code from the standard SAP-delivered code, thus ensuring support for future app
upgrades.
Mix of Waterfall and Agile Methodologies Most client projects prefer blended methodology for
various reasons. Issues observed are around status reporting or basically with the team mindset. Agile
sprints are slow at the beginning, but do pickup speed as the team becomes mature to curb
inefficiencies and improve velocity. This often negatively impacts the status reporting, particularly
when being confused with the waterfall methodology. We need to create awareness so that the
entire team believes in the process and sticks to the plan.
Early Backlog Prioritization & Refinement A clear backlog, with detailed user stories, reduce team
dependency of product owners and helps teams operate independently.
Sprint Retrospect Needs to be performed with the utmost sanctity to clearly identify the
impediments or course corrections. People have to accept and address what went wrong.
Sprint UAT As per the standard agile methodology, sprint outcome is a fully tested product. In SAP
ecosystem, the transport and setting-up of the UAT data takes time. We recommend following a
separate sprint for testing, rather than accomplishing all this in a single sprint. This becomes
specifically challenging in case of onsite-offshore operations. Moreover, testing teams (business
Page 8 of 13
users) also need to have a clear mindset or to limit testing for relevant features only, in current sprint
scope.
Happy Teams Deliver More Scrum Masters need to use different tactics to keep the teams
motivated and self-delivering.
Page 9 of 13
4 Conclusion
SAP Fiori is promising the enterprises to embrace the Design Thinking approach to delight endusers, and improve productivity and reduce costs. It is the preferred UI technology choice within
the SAP ecosystem for great looking, responsive enterprise applications.
Easy and risk-free migration to SAP Fiori is possible with the agile software development approach. SAP
enhancement projects, revolving around SAP Fiori, benefit from the iterative approach. Automation tools
help deliver rapid deployment of new technology, or renewal of the existing UI technology, in record time
and at low costs.
Page 10 of 13
5 References
Agile manifesto from ScrumInc.com
Page 11 of 13
Page 12 of 13
Page 13 of 13