Skip to Content

Overview

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

 SuccessFactors Administrator
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.

 IT Administrator
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

 Front-end developer

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.

Application developer
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.

Conclusion

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.

Happy exploring!

 

To report this post you need to login first.

8 Comments

You must be Logged on to comment or reply to a post.

  1. Chris Paine

    Hi,

     

    Great to see this topic being aired!

     

    However, with multiple years of experience in delivering SAP CP and SuccessFactors extensions, I would suggest there are a few things wrong here.

     

    Firstly, it’s rare ever to use HANA for an extension so that HANA modeller just isn’t required.

     

    The diagram showing authentication to the SAP CP is wrong. (Already raised this one before, it’s also wrong on the example SAP CP diagrams pack).

     

    A typical build is far more agile than described. Prototyping is a good way to start, but will not define scope as well as you might wish. Having seperate design and build phase is a direct line to project failure.

     

    Use of WebIDE to build UI will slow development for anything but the simplest of UIs. Local development is faster. If your team need support of drag/drop build tools, then resign yourself to a sub-optimal user experience.

    Use full stack developers, don’t split front and back end development, your build will suffer.

     

    A role completely missing here is the SAPSF API expert. SAPSF APIs are nowhere near standard or easy to understand, experience is absolutely vital.

     

    I have a presentation that I did on this topic, I’ll publish as a blog with a bit of comment and link here!

     

    Cheers,

     

    Chris

     

     

    (2) 
    1. Colin Kraczkowsky

      Hi Chris, thank you for the comment! I agree that there are other tools available, but (being SAP) we take care of our own 🙂 So I’m looking forward to your blog to see what other tools are being used!

      I’m interested in your point on HANA. Semos and their entire suite of engagement tools all use HANA, and those are some of our fastest selling extension products at this time. What have you been seeing?

      I completely agree that design and development should be done in tandem. So maybe to clarify, our interpretation of the Discover – Design – Develop – Deploy philosophy is that there is a certain level of design work that needs to be done upfront. Perhaps even while the development team is brushing up on SAP SuccessFactors’ data dictionary 🙂 That way design is one step ahead of development when the Develop phase actually begins. But design should absolutely not stop when development begins. It’s a bit idealized, but hey what did Wayne Gretzky say about never taking the shot?

      Thank you for bringing to our attention the error in how authentication is displayed in the diagram packs. I’m assuming that you are referring to our SAP Cloud Platform Blueprints? Our colleague Claudia Pacheco will be the right person to look at this.

      Thanks for reading, and make sure to comment when your blog is ready!
      Colin

      (1) 
  2. Bertram Ganz

    Chris Paine thank You for telling us what’s technically wrong within our official roll-out content including SAP Cloud Platform Solution Diagrams. You write “The diagram showing authentication to the SAP CP is wrong. (Already raised this one before, it’s also wrong on the example SAP CP diagrams pack).” As author of these guidelines (that also comprise a set of sample diagrams) I’m eager to know what’s wrong exactly. Could you please provide some more technical details and on the exact diagram you mean. I’ll then apply the correction within the next guideline version v05.
    Best regards, Bertram

     

     

    (0) 
    1. Chris Paine

      Hi guys – sorry not to reply earlier – I had an issue where something (I’m still not sure what) was locking my SAP account for an hour every hour, and I couldn’t log on. It appears to have stopped – so I can not log on again (has been a very frustrating time!)

       

      The issue with the IdP is around how authentication runs from SAPSF to SAPCP for extension accounts. The SAPCP account is not connected to the customer IdP but instead uses SAML to authenticate to SAPSF which serves as the IdP for the SAPCP extension account. Sorry, I had raised this via a Twitter discussion and thought it had been understood. It is through this mechanism that SAPCP SAPSF extension accounts are able to be auto-magically provisioned and connectivity and trust set up just using a simple token. It is a pretty cool and powerful feature of the whole extension framework.

       

      Cheers,

      Chris

       

       

      (0) 
  3. Manju Venkatesh Post author

    Chris,

     

    Thanks for your feedback and providing the solution diagram with the flow.  It makes lot clear from where your  coming.

    There are two ways how you can configure IDP for SuccessFactors :-

    1. Use SuccessFactors itself as IDP  as depicted in your solution  diagram
    2. Use SAML compliant 3rd party IDP , SAP Cloud Platform  Identity Authentication Service , or Corporate IDP  as IDP  for SuccessFactors   which is what depicted in the solution diagram of our blog.

    Both  of the options are valid scenarios.  But  when  it comes to best practice and  preferred option  for cloud development  it will be  option 2).  As you might know even SuccessFactors is moving towards using   SAP Cloud Platform  Identity Authentication Service as default IDP going forward. With solution diagram we are trying to be as generic as  possible, off course there could be always variation to the flow depending on  use case and requirements.

    Looking forward your blog series to share your  experience and  knowledge.

     

    Hope it answers your question.

    Regards

    Manju

     

    (3) 

Leave a Reply