Blog

  • Linking to Timesheets in SAP SuccessFactors Stories, or the most complex calculated field in a Story that I have yet been unfortunate enough to need to create.

    Don’t worry, I could have come up with a more complex title for this piece, just looks at the mess I ended up creating!

    So what on earth is this all about? Well, I had this crazy idea one night sitting in a hotel room whilst I was waiting for an SAP Mentor meet-up – or it might have been a SAP SuccessFactors Confidant meet-up (I have to say the Confidant group have recently had the better outfits! – Here I am modelling one of the last ever pieces of SuccessFactors kit to officially be allowed to use the ole heart logo…

    It’s a terrible selfie – but I wanted to show all the Northern Hemisphere people that it wasn’t autumn/fall everywhere in the world!

    Anyway, I digress. The point was I was sat up lateish in the evening and I had an idea…

    What if?

    What if I could help the People team at the company I was implementing SAP SuccessFactors Timesheet for, have simple report that could allow them a direct link to all the unsubmitted/unapproved timesheets in the system? Or even a link that opened the ones that were submitted, but had some strange details, like more than 8hours in a day across multiple assignments? But the main point, give them a link so they don’t have to go the the person’s profile, choose the correct assignment, open the time section, navigate to timesheets, then find the week that the timesheet corresponded to!

    That would be cool!

    Here’s the Doco

    Enter SAPSF quick links:

    So SAPSF has a quick link/deep link to timesheets:

    Basically,

    <sapsf_url>/sf/timesheet?selected_user=<userId>&selected_date=<yyyy-mm-dd>

    the selected date is the start date of the timesheet.

    The great bit is that all of this info is available in Stories – I can get the start date of the timesheet – super cool!

    The bad bit is that I need to format the date of the start of the timesheet in ISO standard YYYY-MM-DD, so 2024-12-16. At least they didn’t ask us to use the insane US MM/DD/YYYY format, but, still, surely it shouldn’t be too hard to format a date into whatever format I need…

    Wrong!

    There is no “Date” -> “formatted string” function in Stories. You’d think that this would be a very basic functionality of the calculated field logic, but you’d be disappointed.

    Start Hacking

    Okay then, so what functions do I have for dates? Start at the beginning – I need YYYY, is that doable? Well there is a YEAR function! Awesome! But it returns a number and I need to concatenate this together into a string. No worries mate!

    This is what happens when I get access to Gen AI image stuff. Nightmares!

    We have the number to text function! TOTEXT( <number>). So we can easily get the year. And we can concatenate it with a hyphen

    CONCAT(CONCAT( TOTEXT(YEAR([Time Management#Employee Time Sheet#Start Date] )) ,"-" )

    This will give us “2024-“. Also known as a great start!

    Now, on to the month… Again, we have a function “MONTH()” which gives a numeric month from a given date, so (dealing with the concatenate function only taking two string inputs) we get:

    CONCAT( TOTEXT(YEAR([Time Management#Employee Time Sheet#Start Date] )) , CONCAT("-" , CONCAT(TOTEXT(MONTH([Time Management#Employee Time Sheet#Start Date] )) ,"-" )

    Which gives us “2024-12-“. Nice!

    So now on to the date! There is a DAY function! Yeah! Brilliant… Ah, but it returns the day of the week… of 1 through to 7. Useful, I guess if I wanted to know if a given date was a Monday or a Sunday, but a fat lot of good if I need to know the day of the month.

    Out of the box thinking.

    This is where things got “fun”. So looking at all the remaining functions available that worked with dates – the was one “DAYS_BETWEEN” that could be useful. If we had a date that was the first day of the month, then we could work out the days between that date and the timesheet date, and the day of the month would be the number of days in between plus 1. Okay – how to do that? Well, there is a “TODATE” function that takes a string and turns it into a date given a particular date format (oh for the love of things less complex, why couldn’t we have a “TOSTRING” function that worked on Dates!) , and we just worked out how to get a string of month and year… so! To generate the date of the first day of the month in which our timesheet exists:

    TODATE( CONCAT("01" , CONCAT( TOTEXT( MONTH([Time Management#Employee Time Sheet#Start Date] ) ),TOTEXT( YEAR([Time Management#Employee Time Sheet#Start Date] ) ) ) ), "DDMMYYYY" )

    This gives us a date of 01/12/2025 (and yes I’m using the right date format I mean why would you put a month before a day?)

    So, with this, we can now calculate the number of days between the start of the month and the timesheet start date and then make that number a text value!

    TOTEXT( DAYS_BETWEEN( TODATE( CONCAT("01" , CONCAT( TOTEXT( MONTH([Time Management#Employee Time Sheet#Start Date] ) ), TOTEXT( YEAR([Time Management#Employee Time Sheet#Start Date] ) ) ) ),  "DDMMYYYY" ), [Time Management#Employee Time Sheet#Start Date]  ) + 1 )

    I have my elusive 16! And now can construct the ISO format date of 2024-12-16. Win!

    Well, it was a win right up until the next month when at there were timesheets that started on the 7th of the month… unfortunately, nothing to allow us to easily pad the day of the month with a leading zero if it was only one character. Fortunately there was an IF function and a LENGTH function that allowed for testing the length of the day of the month value and then adding an additional zero.

    Which is how we got to the final code (which thinking about it, is going to fail in January when the months have less than 2 digits too. Oh well, will be a fun challenge to give to one of the team and see if they can follow the logic and solve for the month bit!)

    Using the standard ways of getting a hyperlink into a story report, then allows for this to be embedded into a table and a shown in the Story:

    Now – some useful hints here – you’ll notice that I have two columns – This is because for some almost as strange reason as not being able to just do DATE_TO_STRING(), the hyperlink function does not allow you to just have a field value as a hyperlink, it must start with either http:// or https://

    But if you want the user to be able to download the report to Excel and then just click on the link there – well you need to content to actually have the URL in it, hence two columns.

    In conclusion

    Anyway – I hope you found this helpful and somewhat entertaining and perhaps if your name is Søren and you happen to read this, you’ll remember the conversation we had at SuccessConnect, and you’ll think about asking one of your team to just make a “DATE_TO_FORMATTED_STRING( <date>, <date format>)” function that we can use in the calculated fields of Stories?

    Have a good day all!

  • SuccessConnect 2023 – Expectations met and exceeded

    After a bit of a journey to get to SuccessConnect, I have to say my conference has been pretty great. (Couple of highlights in the pics above, seeing a cool AI use case and chatting to Amy and Aaron.)

    I promised Jon Reed that I’d do a recap blog post on how what I’d seen about SuccessConnect that matched with, underwhelmed or exceeded my expectation – as I’d laid out in my prior post. So here goes!

    AI… was there any mention of AI, OMG, you couldn’t stop hearing about it. The keynote was AI, every sessions had a reference to AI, current or future plans, it was everywhere except the Tuesday night party. Meg Bear did make a good point – expecting to not hear about AI at a tech conference would be more remarkable.

    However, I did see a demo of using generative AI to put together a performance goal that really did wow me. (first photo in this post) A simple use case, but it took my prompt for a goal of “create an SAP BTP SuccessFactors extension application” and turned it into a SMART goal, added a bunch of very relevant steps, and SAP will be happy, even suggested I add it to the SAP Store. All with a set of reasonable date and details for each step. I was impressed, there are very few people I know who could have come up with a better representation of that idea as a performance goal.

    My only worry, now, is that creating goals is going to be far to easy and fun for my team if they were to use this (we use SAP SuccessFactors internally at Discovery) and I’m going to end up reviewing a stupid number of goals, but at least they would all be SMART ones! But to that point, my next thoughts were around how is this going to be paid for, because it can’t be “free”! Generative AI costs money to run. This took a little more digging into, but I was happy to find an answer that made sense to me.

    SAP, after realising that building their own LLM tooling was silly and that others do it better, have chosen not to only go with the one LLM/AI/ML platform but instead are using multiple. The SAP-wide chat agent “Joule” being powered by IBM Watson, the goal setting piece that wow’d me being powered by Microsoft. In the end the customer shouldn’t really care which underlying engine does the processing, as long as it doesn’t leak personal or company data (and I’m pretty sure that SAP are making sure that doesn’t happen.) But on the other-hand, customers shouldn’t have to purchase subscriptions for each piece of AI logic they use. And this, is what I’m told will happen – a single SAP-wide subscription to AI services that can be used on perhaps a pay-as-you-use basis – that bit apparently not 100% sorted yet – but the single subscription model sounds great.

    I had some great conversations with a few people about the potential for vendor lock-in coming from AI – or at the very least the need to provide much more historic data in any system migration to “train” your AIs on your company’s data (with the associated up tick in migration costs meaning that there will need to be some really compelling reasons to migrate.)

    This will be more relevant for some areas than others. Whilst Holger assured me that technically import/export of trained models will be possible, I’m not seeing that will happen. No vendor is going to let you bring your AI training with you when you leave the platform, you’re going to have to re-train, and that is going to mean migrating LOTS of data. There may be scope for data load that isn’t “in-system” just for training of AIs – think this is a new problem that hasn’t happened yet, but there may some benefits for first movers in this space – let’s see what happens.

    Opportunity Marketplace – Yeah, was mentioned quite a lot, references to is from pretty much all tracks apart from payroll. I should have made that one a drinking game. But customer stories on how it had benefited them, I didn’t hear too many of. The one customer I was hoping to hear from had pulled back from implementing due to desire to reset all the Talent Intelligence Hub links and skills and competency model in their organisation. So I’m still looking for those stories that can help me justify the implementation to a new customer. I still think it’s a great tool and I like it, but just because I like it doesn’t mean it solves a problem for a customer well enough that they will buy it. I think the problem here might be with so much new cool stuff happening in Talent Intelligence Hub, customers are struggling to figure out how to get their houses in order to benefit. They all know they will benefit, but deciding on which skills your organisation uses, that’s not as easy a task as you might think it could be!

    Recruitment – well I can tell you they heard LOUD and clear the feedback about removing the drag and drop in the new recruiter experience. The new experience is here and aligns with Horizon theming in rest of platform. Some cool use cases for AI in allowing detection of skills in candidate CVs and allowing comparison of candidates by skills alignment with role. Think we will be entering into the new war of AIs – with AIs generating candidate CVs to make them as attractive as possible to the AI that are pulling the details out of them. This is going to be a space to watch.

    Learning – No surprises here, the new experience looks great, lots of discussion about how this will work with new skills and competencies. I think biggest thing to come here (apart from the new experience) is the offline mobile experience for Android. That will make a difference for many, especially the “deskless” workers.

    Talent Intelligence Hub – again, nothing unexpected. Great news is that it seems the SAP teams responsible for the product are as genuinely excited about handling the difference between employment level info and person level info – looks like we are aligned on this one. Now just looking to see how to ensure it happens. i hope we see some significant customer adoption of this solution as pretty much ever new non-payroll enhancement to the suite appears to be based off it.

    Concurrent Employment/Temporary Assignments/Higher Duties – Okay, it wasn’t as hidden as I thought it might be, but it certainly didn’t get the exposure it deserves. Great thing is I met with Farah Gonzalez who is the VP, Global Product Management for Public Sector. Kicking myself for not having taken a photo of the two of us, but here’s her LI profile shot – given the effort gone to here, seems a shame not to share!

    Anyway, I have found someone to share all my hopes, dreams, expectations and disappointments for this area of the product and we’re setting up a meeting to discuss, I’m very much looking forward to that (once I get over the jetlag and backlog of customer stuff from being at #SuccessConnect.) I still think these solution are very relevant for organisations that aren’t public sector and very much play into the #FutureOfWork type discussions. But making connections with people like Farah is exactly why going to SuccessConnect in person is so valuable for me (and my customers!)

    Payroll – Well, this is interesting. Next Gen Payroll has a new name – SAP SuccessFactors Payroll and will be in early adopter (as in productive usage!) for some customers implementing in UK this year for hopefully go lives next year. US version to follow, with Germany, Canada and Australia, to follow some undetermined time later. Likely target market for near future will be smaller organisation with payrolls of less than 1000 emps, so not really your legacy SAP payroll or ECP customers yet. Hoping that means my company might be a possibility when Australian push happens, we have both S/4HANA (public cloud) and SAPSF… ( hint, hint any SAP people reading this!) A LOT of discussion around customers needing more certainty on timelines and SAP not being able to give this, which I found a little frustrating (not that SAP couldn’t communicate a timeline, but that we spent so long discussing it. but it is worthwhile that SAP knows how frustrating that is. So I guess I can handle a little frustration for the global good.)

    APIs/Third Party Cookies deprecation handling/Audit logging – really enjoyed a couple of sessions around the more “techy” areas of SAP SuccessFactors. There is probably enough there that I could fill an entire post by itself – so I probably will. But highlights/call outs:

    • The poor guy running the main tech roadmap session hadn’t been pre-briefed on who I was (evil grin) and probably let me ask too many questions,
    • Had multiple customers come up to me afterwards and thank me for asking those same questions!
    • Very surprised that SAP didn’t use the conference as an opportunity to pre-brief customers on upcoming URL changes to ALL SAPSF instances and IAS/IPS instances.
    • We’re moving away from OData! seems that SAP isn’t pushing CAP into it’s own products, because SAPSF going to move to a REST based API and away from OData. The things I heard about streaming/websocket APIs are apparently not going to happen (boooooo), But good news is that new framework for API development should be MUCH simpler for SAP to implement internally, so getting an external API to new functionality, should be much faster and simpler. Think there will be a lot to play out in this space.
    • Finally Audit and access reporting functionality coming back. Audit logging will be using the SAP BTP Audit logging functionality – thus ensuring compliance with all those tricksy global compliance legislations. Access log reports will also be available shortly (if not this coming release – I honestly can’t remember, but will be checking release notes and the slide decks when I get them.

    Overall

    Thanks to the amazing Liliana Zolt who helped make the whole experience so smooth over the three days of the conference, huge appreciation. Was wonderful to catch up with the undeniable brains-trust of the SAP SuccessFactors consulting world, all the interactions with everyone were fantastic and the people we spoke to on the SAP side were all amazing and so willing to make the time to chat to us. Was amazing to be there. Really looking forward to next year in Lisbon (now just to figure out how to convince the company to pay for an even longer flight!)

    • *Updated to note SAP SuccessFactors Payroll expected to be live for some limited initial customers *next* year, not this year, just implementation this year! Still very exciting though!
  • SuccessConnect 2023 – expectations

    Okay, just arrived at SuccessConnect, bumped into Eric, AJ and Aaron so far and met Nagesh.

    Before the real thrust of SuccessConnect starts and I get the real info some thoughts about what we will see this week.

    My Predictions

    AI. Yes there will be AI mentioned, I think I will need a new t-shirt with

    But I think I’ll have to work on getting it a bit more snappy.

    Yes we will have more AI, some of it will even be provided to customers without additional charge, but for most use cases, especially generative AI there will be a charge. Will be interesting to see how Joule fits into the SAP SuccessFactors landscape.

    There will be one or two new use cases for AI that I hadn’t thought of which will make me smile, but in general, I doubt I’m going to see these as “game changing” in the near future.

    Opportunity Marketplace, there will be more discussion and hopefully some updates from customers that have been playing with the tool. I’m hoping to hear some numbers about ROI that

    Recruitment finally the refresh we’ve been waiting for, but not without it’s challenges, why on earth did we loose the drag and drop. We’ll see a bit about this.

    Learning – looking forwards to demos of new learning experience and understanding if and how there will be opportunities to extend it.

    Talent Intelligence Hub – the bit I am looking forward to understanding more about, how can we best integrate all the components of the suite to provide a go to solution. I’m really excited about bringing in of licences and education into this model and away from custom MDFs, but see this also as a big challenge for many organisations, especially for those that are using concurrent employment.

    Concurrent Employment/Higher Duties/Temporary assignments – we _should_ hear more about this, but honestly doubt we will. It addresses a real need in the market, but seems not so many people seeing this.

    Okay, that’s all for now, will update afterwards with what I got right and wrong.

  • What is “table stakes” for API functionality?

    What is “table stakes” for product development these days? Do you believe that we should be following an “API first” development strategy?

    I recently (well it was a year or so ago) came across some cool SAP SuccessFactors functionality which allows for a person to be put temporarily into another position, returning to their substantive position after a fixed period. Many of you will know this as “Higher Duties” or “Temporary Assignment” functionality. The problem I found (more recently) was that whilst most of the information about the temporary assignment was available via API, one key piece of information (very important information), the end date of the assignment, was NOT available via the standard SAP SuccessFactors OData API. ☹

    Surprisingly, and luckily, the information is available via the old SFAPI (a SOAP based API, and we all know how much developers love SOAP!) So I can work around this for the moment.

    This said, to my thoughts, new(ish) functionality, like HD/TA for SAP SuccessFactors should always allow for the data that can be seen in the frontend application to be available via the OData API. That should be “table stakes”. A modern HRIS must be supported by a secure, open, documented and complete API. I often ask potential customers during sales presentations, to compare SAP SuccessFactors with the other products they are considering to Google “name of HRIS solution” + “API” and see what is returned, whether they need to sign in to see it, are there supporting document, examples, etc. SAP SuccessFactors pretty much always wins this game (mainly because Microsoft and Google don’t have competing products in the space, because they use SAP SuccessFactors.)

    SAP has come a long way in making its products somewhat developer friendly, so it really irks me when I’m told “We do not have this on our roadmap at this point in time, please raise an influence request”. So I did – https://influence.sap.com/sap/ino/#/idea/308298

    If you’re an SAP customer and you manage to read this far into this post, please do me a solid and log in to vote for my influence request! Thank you! Whilst you’re there, have a look around there are loads of requests that would make so much sense to implement, vote for them too.

    Customer voice is so important – and this “influence.sap.com” space is one area where we as customers actually get a little bit of a say!

  • The end of an era

    Screen shot from very last SAP SF IAS IPS open office hour

    It was with a fair bit of sadness that this week I was part of the end of something that I think was a bit special.

    The SAP SuccessFactors IAS/IPS open office hour has been running for what I think was 2 years now, and for many of those Thursday evenings (it ran at 6:30pm to 7:30pm my local time) I would join, sometimes with a beer or wine in hand and would sit, listen and contribute.

    I think Richard Feynman the American Nobel Laureate and Physic Professor once said :

    “If you want to master something, teach it. The more you teach, the better you learn.

    Richard P. Feynman

    Well, I think that’s what happened to me! By spending so much time in this call, trying to help other people figure out how to solve their IAS and IPS issues, I’ve learnt so much! I’m waiting for an IAS/IPS certification to come out and nice easy one to pass!

    During this journey, I’ve developed some great relationships with SAP teams in this space. I’ve presented at SAP TechEd on the topic, had multiple influence requests turned into reality and been involved in beta testing new functionality. And more importantly, made some good friends.

    There is still so much more to learn, but this opportunity to gather weekly to help out other SAP customers that were stuck in a tight spot is now over. It probably had run its time and it was time to focus the support efforts elsewhere, but whilst it was there I really did enjoy it.

    Thank you to all those who helped make it happen!

  • Back at SuccessConnect

    Back at SuccessConnect

    How awesome was it to be back to see all the wonderful SAP SuccessFactors people in person. I now can actually recognise Ankur (CTO SuccessFactors) when I see him! Had some great conversations there. So impressed with all the work he and his teams have done on the migration to “next-gen” cloud – aka the hyper-scaler move. Throughly friendly chap – a new favourite for the Confidants group! We all enjoyed his frank and open discussions.

    Finally met Meg in person!

    The energy was amazing – and I’m not just talking about the party at TAO beach club which went OFF!

    But even cooler was the clear message from SuccessFactors about returning value to their customers.

    After many years of getting bad screen caps/photos of Amy I decided a video would be safest, and got her to vet the selfie! – shame I got the “old” model ,in video but still, the details are clear – a single employee talent/skill/competency model for use across the platform. And what is even better, no additional cost to customers. This is returning value for having a subscription.

    Okay – my flight back to Aus boarding in 5 mins, where I’ll be off to SAUG Summit to present as soon as I get off the plane – think I’ve just about got the preso decks ready!

    Thanks #SuccessConnect it was awesome!

  • Grounded in Reality and Pragmatism.

    That’s not a title to any piece about AI or ML that I’ve heard for quite some time, especially not something out of any HXM vendor’s keynote!

    If you haven’t already – please listen (watch too if you like) to this really short – less than one minute, clip of Meg Bear talking about Artificial Intelligent and Machine Learning as part of the executive open Q&A at the last SuccessConnect conference (2021).

    sourced from twitter: https://twitter.com/megbear/status/1467231582184296449

    I’ve included the transcript (as I could make out) below:

    “So what we know deeply, is that machine learning and AI are great tools but they are not sufficient conditions for the overall experience that we are trying to drive. It needs to be bringing that technology in concert with people, in concert with who I am and what I want to add to it. To create something that is truly powerful.

    And, so, while we are absolutely putting machine learning and artificial intelligence inside our data model. We’re talking about it in a much broader way. Because we know that just saying that you have machine learning is not sufficient. It needs to be about what is the outcome for me as an individual and what is the outcome for the business, and it needs to be grounded in deep reality and pragmatism.”

    Meg Bear – SuccessConnect Executive Keynote 2021

    Okay firstly, hats off to Meg! When she gets going on a topic that she’s enthused about, there isn’t anyone that’s going to stop her. I think if you listen carefully you can hear some of the the rest of the the team giggling slightly in awe of Meg doing her thing. It was a completely passionate geek-out that was by far the highlight of the whole conference for me. Mainly because I couldn’t agree harder and would have had trouble articulating it more eloquently, especially if I were on a live Q&A in front of thousands of people. Thanks Meg for following up on my request to get that video. (I’ll not include the link to the original request because Amy Wilson might not ever speak to me again if I reposted that particular screen grab!) (oh to be able to retrospectively edit the photos in livestream tweeting)

    The current state of ML in people management is pretty basic and some of the uses that have been attempted are pretty bad. For an interesting take on what not to use ML for – check out Thomas Otter’s piece on flight risk indicators. Just looking at what SAP have managed to deliver in this space recently and we haven’t got much more exciting than the Amazon “other shoppers who purchased a course in first aid also purchased a course in CPR”. It’s not inspiring (which is probably why some organisations try to do things like flight risk.

    So, Meg turning the conversation around from a technology bang-whizz smoke and mirrors magic show to instead focus on the objective that we are trying to achieve of great employee experience is very important. We need to realise that there is very much a “human” in HXM and attempts to remove it will fail.

    I watched a demo, in the same conference (eek), of a chat bot that had been put in place to help gather more details about how people were coping during lockdown due to COVID 19. What was very interesting to me (other than I manage to stop myself from screaming at the screen) was that there were quite a range of opinions in the session I was in about whether this was good or bad. Let’s just say I was in the “You have got to be f’ing kidding me” side of the opinion poll, whilst others were more on the “That’s a cool way to get feedback” side. The reason I think this is terrible is because if your outreach to people who are suffering because of isolation is to throw a bot at them then you’ve completely missed the H bit of HXM. And that bit is important to me (and Josh Greenbaum it seems.)

    And so, why is Meg’s focus on HXM and not technology so important? Because if you give techies technology -> they will build with it, and scarily enough, they will also believe what they are doing is good. I know, I’ve fallen into this hole so many times that I have a ladder purpose built for climbing out of tech for tech’s sake holes (it’s called a phone call to my good friend who has no issues in telling me I’m an idiot and to stop being stupid.)

    So, I look forward to what comes next. I would really like to be able to make ML models that could help recognise things like which managers are helping their teams perform better so we can all learn what human interaction driving better experience. I want ML to send me alerts when thresholds of leave liability are likely to be exceeded so that I can send dashboard to managers who can then use their on-the-ground relationships with their staff to check those numbers and have person-to-person conversations with them. But I want all of it in a supporting, not supplanting role. Tech to help people interact with people, not replace that interaction.

    We are getting (slowly, oh so slowly) to a state where we have platforms that can build these types of experience enhancing solutions. But as Meg says only when “grounded in deep reality and pragmatism”.

    Okay – that’s enough SAP SuccessFactors love for one evening.

    SuccessFactors team, remember all these nice things I said when I start complaining (again) about the Reimagined Home Page Migration! 😉

  • What would you like in analytics?

    Quick one today. Whilst I’m getting over (actually I’m not) my disappointment that Analytics Cards (Stories in People Analytics widgets) are very unlikely to be available as part of the 1H2022 release, and therefore dashboard tiles will not be part of the new SAP SuccessFactors homepage when it is forcibly pushed to all customers next year, I thought I’d write quickly about a different take.

    Recently, I asked a senior non-HR exec what they wanted from their HR analytics dashboards. Any guess what they wanted?

    “Don’t show me any dashboards. “

    Senior Exec.

    They didn’t want to be required to look at a dashboard. This is an extension of the themes I expounded on in my last post. This person wasn’t going to ever action anything based on glancing at a dashboard – mainly because they didn’t have the time to look at a dashboard. What they wanted instead was a prompt to investigate.

    You might be devious and say – but I could just build a dashboard that only showed prompts where there was a need to investigate. But what this manager wanted, was external prompts. I.e. an email or a notification that then linked to dashboards and analytics pieces.

    Good thing is that this 2H2021 release just enabled the possibility to deep-link to a given SiPA story. What we need now is some way to actually ping links to relevant analytical stories when they are needed.

    This would be a super simple thing to do for some situations. Bets on SAP SuccessFactors tooling being introduced in next few years that allows for the configuration of ML based triggers that can then be linked to custom designed dashboards.

    Then I can throw a link to custom dashboard at my exec when they have a huge spike in leave liability and people not taking leave. Then they only look at the dashboard when there is a need for them to take action.

    So if I wrote an SAP BTP extension that enabled you to email links to specific dashboards to your managers based on certain thresholds being met (or not), would that help you get over not having dashboard tiles on the home page?

  • Let’s talk about People Analytics and Dashboards

    I recently presented at Mastering SAP Africa around my thoughts on HXM and SAP SuccessFactors People Analytics. I tried my best to “Timo Elliott” it but I’m just not that polished, and I like that, it’s authentically me!. My daughter says that it can be watched at 2x speed and still makes sense, but has no idea what all those SuccessFactors words I used mean…

  • Permission to be seen (or not).

    Permission to be seen (or not).

    Hello! Time for me to go on a bit of rant again. So far, these little rants have been very successful! With support from the community (and demonstrating this to the SAP SuccessFactors leadership group), we’ve pushed the dial a few times in the right direction (well, I thought it was the right direction anyway!) Although, I’m perhaps not as optimistic about this one… let’s see!

    The “Reimagined” Home Page (a naming that is going to get tired very quickly!)

    A little while ago (quite some time actually – end of 2020) SAP announced that it was going to retire the existing Fiori Launchpad style homepage and move to a new “reimagined” home page. The reimagined home page had been demo’d during a few SuccessFactors conferences and looked quite exciting. The new home page is pretty cool. The whole concept of having the things that are important to you right now highlighted and brought to the front is a good one. Show me what I need to act on right now! Make me do it quickly!

    Image from SAP Help – https://help.sap.com/doc/62fddbd651204629b46bbccbabf886ba/2011/en-US/e13ea0e595b148edbb44f424f1a00b7c.html

    This said – it seems that it’s still a bit of a journey to parity with the old home page. (which may never happen, given the different idea that we’re working with – some things just wouldn’t make sense in a one-to-one mapping.) However, relatively important pieces of functionality, like to-do notifications, manager team tiles and ability to use with onboardees is still being added. There’s also the minor/major issue that you can’t do a refresh to or from any system that has the reimagined home page implemented using the instance refresh tool, you have to request SAP to do it. The plan is that by end of 2H2021 release, everything that is needed to go live with the new home page will be added and these issues fixed. (And hopefully we’ll be able to have that text in the middle of the top panel in some colour other than white).

    The (forced) migration to the reimagined home page

    There was a plan to push all customers to the new home page by 2H2021. (I just can’t manage to keep typing reimagined… it’s so going to get renamed to “Home Page” as soon as it’s the only option. Can I chalk up another product renaming before it even happens?) But then due to some functionality not going to be available until then, there was this strange idea to push the release universally to all customer’s preview instances 2H2021 and then production 1H2022.

    So, I had a bit of a rant about how it really didn’t make sense to push the new home page to all customers’ preview instance before all of the fixes were rolled out and customers had some time to test them. (It wasn’t just me that had this rant – lots of community support for that idea). SAP have now pushed back that idea, we should instead get the universal push in 1H2022 for all customers. So, you’d better get ready for it! Cos it’s coming!

    Okay…  so what’s the problem?

    Well, see the thing is, the main reason that we need the new home page experience, is also the main reason why the existing experience is so useful.

    Image again from SAP SuccessFactors What’s New Viewer – https://help.sap.com/doc/62fddbd651204629b46bbccbabf886ba/2011/en-US/e13ea0e595b148edbb44f424f1a00b7c.html

    Note how there’s a lot of content on the old layout compared to the new one… well that screen shot is pretty minimalistic compared to some customer instances I’ve come across. (And, I’ll admit, helped implement.)

    Here’s a screen shot of one of our demo systems there is a LOT here.

    Screen shot of a system that’s using a lot of Fiori Launchpad tiles

    The original idea of the Fiori Launchpad was that a user would be able to see all their important information in one place and drill down to bits that stood out. Of course, that doesn’t work because having pages of stuff means people don’t look at any of it. So the idea of using machine learning to figure out which bits to surface for a person to look at, makes great sense.

    The problem is that in many cases SuccessFactors doesn’t know what’s important.

    This is especially the case for extension use cases and the “We don’t use just SAP SuccessFactors for all our people processes” use case.

    Here’s a couple of examples from one customer I work with:

    “My Team” tiles: approve leave requests and Leave balance for my team

    These two existing home page tiles, “Legacy” I believe the terminology is now, link off to BTP Cloud Portal, which then uses SAP Cloud Connector to tunnel through to an on-premise SAP ECC instance and display Fiori based apps showing leave balances and approval apps that are based on data still stored in SAP Payroll, not in SAP SuccessFactors.

    It is exactly the same with these tiles:

    Employee Self Service links to payroll (non ECP) applications

    The customer also has additional BTP based extension applications – here’s one example:

    SAP SuccessFactors Extension running on SAP BTP

    All managers get the team leave balance tiles/applications and all employees (not contingent workers/contractors) get the leave and payslips apps. And everyone gets the Network Compliance App (it’s really cool btw, if you need something like this, please give me a shout!)

    In the new home page these would ideally be part of the leave management quick links or approval tiles that popped up as needed, payslip tiles that appeared when payroll has been sent to bank (dreaming here about next gen payroll, but you get the idea). However, because all these tiles are just links out to other systems/application, they can’t be part of the “intelligent” framework and instead must be part of the “Organisational Updates” section of the homepage. And take up about twice as much screen real-estate. There’s also a limit on the number of tiles that will show in this section, so you’d better hope you don’t have too many custom applications/extensions that you want to link to. (Originally the SAP team had thought to limit the number of “cards” in this section much more, but fortunately a few more are allowed now. (Feedback works!)

    New Home Page “Cards” – graphic is required. Sizing approx 1.5-2 times larger than existing tiles

    Managing Sections with Permissions

    So, whilst I would argue that custom cards look really bad in this new experience (they are big, chunky and not sorted into any meaningful categorisation, certainly they are not “Organisational Updates”! – but that’s a topic of a different set of feedback!), we’re only just now getting into the crux of this particular rant, which involves figuring out how to limit who gets which tiles/cards. In the “legacy” home page there is functionality which allows an administrator to create “Sections” on the home page. These sections can then be shown/hidden based upon Role Base Permission (RBP) roles and groups.

    Capture of the “Sections” area of legacy home page configuration – access via “Manage Home Page”

    It’s as easy as creating a section and then using the drop down to pick as many roles/groups as you want to allow to see that section.

    Multi-select list of all permission roles and groups.

    One particularly useful thing is that you can choose the system generated roles used by compensation, but any role can be used and this can can be one that is assigned to a population of “Managers” for example:

    Standard role assignment screen, where a role can be assigned to a permission group or also to a set of automatically determined user populations. Very useful!

    This gives a particularly powerful way to assign access to sections based on system generated subsets of the employee population.

    Then we can simply assign whichever tiles we want to whichever sections we want and hey-presto, we have managed to use RBP roles and groups to restrict which users have access to which tiles.

    There is the downside that quite often we ended up with a section with only one or two tiles in it, but that wasn’t so bad.

    So, again, where’s the problem? Well, the thing is, in the new home page, you can’t do this!

    Managing custom tiles with Home Page groups

    The solution that has been adopted by the new home page is one that also existed in the legacy home page, but we didn’t use because it’s (my opinion) rubbish. When you create a custom tile you can assign it to a “User Group”.

    Final step of creating a custom tile (very similar when creating a custom card) – assign a user group to the tile/card

    It is possible to edit these user groups:

    Dynamic Group maintenance for home page tile groups. (very similar to permission group maintenance.)

    You’ll hopefully be familiar with the layout of the editor as it’s the same one used in managing role-based permission groups.

    However, note that you are creating and maintaining “homepage tile groups” and not RBP groups.

    There are some serious restrictions here – you cannot make these groups contain all managers for example or any of the other automatically built permission role assignment groups.

    If you have an extension application that relies on the end user accessing the application having a certain set of SuccessFactors role-based permissions, then you MUST ensure that any editing of the home page tile group that includes the list of people who can see the custom tile that links to the extension application MUST also update the associated role-based permission group and the two must not get out of sync.

    Work Arounds

    Well – if you have an extension application that you only want to display to managers as a custom card, well, you’re pretty much stuffed – you cannot use the new home page tooling as it works today. The only way would be to manually maintain the list of all employees that are managers in your organisation. And, ummmm, sorry, this ain’t happening!

    I’ve considered building tooling that could automatically maintain these groups based on similar logic to the existing home page, but unfortunately the APIs for dynamic groups are all read only and cannot be used to update a group.

    The only things I have so far come up with to enable effective filtering and using custom home page cards are:

    • an additional extension application that is launched from the home page and then provides another view of which “additional” applications a user can access. In effect, a secondary launch page which provides the functionality to filter links to applications based on permission roles and groups that the new home page does not.
    • An application/integration that regularly goes through all users and updates one of the custom fields to a value which can then be queried by the home page tile dynamic groups (i.e. populate a “is a manager” flag against custom field 14 or something. )

    In standard configuration it is still (thankfully) possible to use permission roles and group to decide which items are available in a given user’s navigation menu. Just like the logic that allowed sections to be permissioned in the legacy home page.

    Configuration of custom navigation – menu item access can be controlled by permission groups and roles.

    So, it is an option to remove these applications completely from the homepage, and just have them in the custom navigation. For those customers that don’t have a crack extension development team to provide a custom tile that can handle using RBPs to provision or not a secondary launchpad, I think I’d be suggesting that they build a custom tile that explains how to find the now missing links in the user menu.

    Plea for support

    Okay, hopefully you can see now why I’m really worried about the forced push to the new home page in 1H2022. I have spoken at length with the product team for the reimagined home page and whilst they see the potential issue, my feedback to date has been that they do not envisage fixing this issue before the universal migration to the new experience. They actually encouraged me to write this blog post because they want to see if others believe this to be an issue! I did ask them to just run a query on any existing customer that were using the permissions in existing home page sections, but I haven’t got a response on whether that is a large number or not.

    SO… if you’ve read this and thought, “Crap, that could be something that’s going to cause me an issue!” Please, please, get onto the SAP SuccessFactors community web site – post your comments on the Migration to Reimagined Home Page Within 1H 2022 Release – Innovation Alert blog post.

    Give me some “Kudos” for my comment on that post about this issue: https://community.successfactors.com/t5/Platform-Resources-Blog/Migration-to-Reimagined-Home-Page-Within-1H-2022-Release/bc-p/268878/highlight/true#M1833 and write about your own concerns. If we have enough customers express to SAP SuccessFactors that this will cause a problem we might just yet, get a solution.

    Cheers! Here’s to getting the community involved!