You have come to this blog for three reasons. First, you understand the need for an extensibility cloud platform to build and run solutions that address your company’s specific needs beyond the standard product. Second, you want the flexibility to meet trends in innovation without risking your ongoing operations i.e. “Bimodal IT”. And third, you assessed your options for extensibility : either custom develop an extension application in-house or purchase an SAP partner’s pre-packaged extension application on SAP App Center that meets your requirement. This blog is for you, if you have decided to pursue custom developing an extension application with SAP Cloud Platform
Note : Is this the first that you’ve heard that you can easily purchase and run an extension application built by SAP’s partner ecosystem? It’s true! You can find partner extension applications that encompass a variety of HR use cases including employee engagement, learning, legal and compliance, employee productivity, security and privacy, and talent acquisition. If you are interested in knowing more about purchasing and running partner application’s through our subscription model, please refer to this blog.
Now that you’ve made the decision to custom develop an extension application, you might be wondering what this extension project would require? Who should I pull in to the extension project team? What roles do I need to fill on this team and what skill sets are required to develop extension applications for SAP SuccessFactors on SAP Cloud Platform? And where do I even begin? The purpose of this blog is to answer these questions and provide you with an example setup for an extension project team including high-level personas to involve, the roles of these personas, and a suggested path for execution of an extension application from design to deployment.
As you read this blog, keep in mind that the personas, roles, and tasks that we will mention are intended as suggestions based on best practices. Your available resources, both talent and financial, will shape what your exact extension team and extension project will look like. The best practices that we provide can be molded to fit your specific situation.
Anatomy of an extension application
Before we deep dive into discussion about personas and skill sets required for extension application development on SAP Cloud Platform. Let’s briefly look at what is contained within a typical SAP SuccessFactors extension application running on SAP Cloud Platform.
As you can see in the solution diagram above, a typical SAP SuccessFactors extension application consists of a frontend SAPUI5 interface and/or a Java application all running on SAP Cloud Platform. The extension application will access the HR data within your SAP SuccessFactors system by consuming an OData service provided by the SAP SuccessFactors platform. The management of this OData service will be done through the SAP Cloud Platform Connectivity service. If your extension application needs to store “custom data”, i.e. data that is relevant just to that application and doesn’t belong in your SAP SuccessFactors system, then you can use an SAP HANA instance provided by the SAP Cloud Platform, SAP HANA service. To give users access to your extension application and integrate the extension seamlessly into your SAP SuccessFactors user experience, you can create a tile that will appear in the SAP SuccessFactors’ home page. Authentication for the extension application will be handled by your existing identity provider and authorization by re-using role based permission group of SuccessFactors.
Note: These solution diagrams are a piece of a greater piece of content that we call “SAP Cloud Platform Blueprints”. If you are interested in seeing more of these blueprints, check out the SAP Cloud Platform Blueprint Finder. Please note that these blueprints will not only cover scenarios for developing extension application for SAP SuccessFactors but many development scenarios on SAP Cloud Platform.
We show you this to illustrate the different systems and components in play when developing and managing an extension application. This is important to know when staffing an extension project team because the personas required for this team will take ownership of each of these systems and components.
Staffing an extension project team
When custom developing an extension application for SAP SuccessFactors on SAP Cloud Platform, you will need to staff the right mix of personas to the project team. Certain personas will need to have expertise with your SAP SuccessFactors system, certain personas will need expertise with application development, and certain personas will need to have expertise with your company’s HR processes and the use case for the extension application.
Typical roles and personas for an SAP SuccessFactors extension project team
Depicted above is a suggestion of personas that should be part of an extension project team. Please note that the above diagram depicts a general team setup based on best practices that we have seen work successfully. The exact setup of your extension project team may change depending on your use case or on the scenario that you are planning to develop.
Extension Project Roles
When staffing your extension project team, it is also important to keep in mind the roles that these team members will fill.
Typical roles of an SAP SuccessFactors extension project team
In the diagram above, we have merged the personas of a typical extension project team with the solution diagram of a typical extension application to show where the team members should be assigned. As you can see, we can bifurcate the members of your extension project team into those working on SAP SuccessFactors and those working on SAP Cloud Platform. On the left-hand side are our “HR LOB Personas” working on the SAP SuccessFactors side and on the right-hand side are our “SAP Cloud Platform Personas” working on the development and management of the extension application.
The details of each role pictured above are as follows
SAP SuccessFactors side
The SuccessFactors administrator is mainly responsible for governing and performing the daily operations within the SuccessFactors system. Their role will be to manage and maintain the SuccessFactors roles, deal with permissions for extension application access within the SuccessFactors system, and to manage user access to any custom roles that are being imported or hooked to by the extension application. They also have important role to play during initial set-up, authentication and authorization preparation for extension application.
The IT administrator might be also need to be involved to manage corporate users store “IDP for SuccessFactors” or to manage any on-premise systems and third party systems that may be used during extension application development. The IT administrator will also be the one managing and maintaining the corporate users, enforcing corporate policy, IT policy and network polices, etc.
SuccessFactors Application expert
The SuccessFactors Application expert is mainly responsible for defining the requirements of the extension application and helping to guide the project. Typically, this role is filled by an HR professional with a deep understanding of the use case to be solved, of company-specific standards such as data governance, and of existing HR processes.
SAP Cloud Platform side
The Front-end developer is mainly responsible for building the UI of the extension application. Typically, this role is filled by someone with extensive SAPUI5 expertise or expertise in another web framework.
The Application developer is mainly responsible for building the backend business logic of the extension application. Typically, this role is filled by someone with extensive Java development expertise.
SAP HANA Modeler
Depending on the chosen persistence service, you may need an SAP HANA modeler as a part of the extension project team. If SAP HANA is not used, then typically the application developer absorbs the role of determining how custom data is handled.
SAP Cloud Platform Administrator
The SAP Cloud Platform Administrator is responsible for distribution of the pool of resources from within the global account to the various subaccounts. In addition, their role will be to manage the account members, manage destination definitions and trust configurations, and to monitor and manage the application once it has been deployed.
Implementation Partner (not pictured):
It may be the case that you have used a third-party to implement SAP SuccessFactors system in which case they will have access to your BizX Provisioning Suite. If this is true for you, your extension project team will need to include whoever is the main contact from your Implementation Partner. They will need to work with your SAP Cloud Platform administrator and SuccessFactors administrator to create and configure the development, staging, and production accounts that your development team will use to test and deploy the extension application.
Note:-In case if your working with partner for extension development, some of the project team roles might be assigned to them that might include roles both on SuccessFactors and SAP Cloud Platform side.
Similar to the disclaimer in the previous section, this is also a suggestion of the roles for an extension project team based on best practices that we have seen. Depending on the use case and resources available at your company, you might have more team members to double-down on the same role or you might have a single team member covering multiple roles. For example, we have often seen the “Application developer” role and the “SAP HANA modeler” role being covered by the same team member.
Various phases of SAP SuccessFactors extensions development on SAP Cloud Platform
Now that you have an extension project team put together, we can start to look at how to break apart development of your extension application. For this, we can apply agile methodologies for cloud development.
We can break development into four phases : Discover, Design, Develop, and Deploy. Each of these phases comes with a list of tasks to accomplish. In the diagrams above and below, we provide some SAP tools available on SAP Cloud Platform that can be used to complete these tasks.
High-level tasks for each phase of extension application development
At a high-level, the Discover phase is where your extension project team discovers what is available and determines the specific goals to be achieved by this extension application. The main personas driving this phase are the SuccessFactors Application expert, the SuccessFactors Administrator, and the SAP Cloud Platform Administrator. To discover and test the APIs that are available from SAP SuccessFactors, the SAP Cloud Platform Administrator and SuccessFactors Administrator can go to the SAP API Business Hub (previously “SAP API Hub”). To discover how users will interact with your extension application ideas, the SuccessFactors Application expert and SAP Cloud Platform front developer can use SAP Build to create some prototypes/mock-ups of your ideas and launch small internal campaigns with embedded analytics to see user interaction.
The Design phase is when the extension application is designed, required landscape set-up and system set-up is done to ensure that the goals are being met. Development will need to start so the Front-end developer, Application developer, and SAP HANA Modeler personas will need to be engaged and involved. The team will also need to setup the development account for testing the application, so the Implementation Consultant persona may need to be brought in depending on your company’s implementation of SAP SuccessFactors.
Once the design of the extension application is finalized, the Develop phase is initiated. The main personas driving this phase are the Front-end developer, Application developer, and SAP HANA Modeler personas. In this phase, the Front-end developer can start developing using SAP WebIDE which comes pre-integrated with SAPUI5 to make building the user interface much easier. The Application developer can start developing using the Eclipse development environment for which SAP has built a software development kit to easily integrate with SAP Cloud Platform. And the SAP HANA Modeler can use the built-in web tools for HANA made directly accessible from SAP Cloud Platform by the SAP Cloud Platform, SAP HANA service. While development is underway, the SAP Cloud Platform Administrator and the SuccessFactors Administrator personas will take a back seat to support the development process. Also, the SuccessFactors Application expert will begin aligning with the relevant stakeholders, preparing employees for the new capabilities resulting from this extension application, and helping development to test the extension application as needed.
After the extension application has been developed, the Deploy phase is initiated. The development team will package their extension application into a deployment file and, along with the SAP Cloud Platform Administrator, they will deploy the application to the team’s SAP Cloud Platform account. The SuccessFactors Administrator will be involved to ensure that the appropriate configurations in the SAP SuccessFactors system are done to make the application available for the right employees. And you’re live! After go-live, ongoing support and continuous delivery will proceed as determined by the extension project team.
Having read this blog, you should have a clearer understanding of how to set up an extension project team, who to staff as your extension project team members, and what roles they will play at each phase of the project. You should also have an idea of how to execute your extension project and an idea of what tools SAP provides to complete various tasks along your execution path as well as which team members are mean to use which tools.
As we said at the beginning of this blog, the personas, roles, and tasks that we have mentioned in the sections above are intended as suggestions based on best practices. If you have delivered a successful extension application using a different team setup, please let us know by commenting on this blog below.
If you are interested in learning more about SAP SuccessFactors extension applications on SAP Cloud Platform, we recommend checking out the SAP SuccessFactors Extensions for Developers (an SAP ID is required to access that link) Learning Mission available on “PlatformX”. “PlatformX” is a free service provided by SAP to remove the obstacles in getting started with SAP Cloud Platform. One means to do this is through providing you with so called “Learning Missions”. A Learning Mission on “PlatformX” pairs you with a map of learning resources, called a “Learning Journey”, as well as an SAP expert to provide guidance along the way, called a “Learning Coach”. Like we said, “PlatformX” is a free service do discover its value for yourself without fear of commitment by clicking the link above and starting a Learning Mission.
Here is link to SAP SuccessFactors Extensions on SAP Cloud Platform – for Developers Learning journey.
I want to give big shout out to my colleague Colin Kraczkowsky for providing idea to come up with this blog, for inputs and for co-editing the content.