Thursday, July 1, 2021

Consideration for Employee Hub Product

As a side project, I volunteered for defining the use cases for prospective/employee engagement portal few years ago. While HR Management system (e.g. PeopleSoft, workday, inhouse custom tools) provided variety of features but there were certain gaps related to employee engagement which employee hub product was expected to handle. Salesforce was intended as evaluation platform for building the product proposed for specific business unit. As I see, some of the use cases are still valid and up for grab.

Problem Statement

Track and monitor prospective "candidates" from interview shortlisting to offer acceptance

Engage actively with prospective "employees" from offer acceptance to onboarding phase

Address challenges/request from employees and provide a platform to collaborate on queries as cloud-based delivery rarely had team collocated.

Lack of engagement/communication touch points was causing disconnect at each level and high churn rate (declines/separation)

Business/Working Model

Prospective candidate list received from various channels were managed centrally on organization career portal and later exported into file and shared with respective talent units tagged to horizontal. Same file was used to manage the recruitment drives.

Manual process for assignment of candidates for interview process, capturing feedback on paper or online form/excel sheets

Connects with prospective candidates (PC), prospective/current employees (PE/E) primarily driven via the talent/human resource management team.

Solution Proposed

While it didn't reach till the solutioning stage but back of mind using process automation to track different stages of engagement was certainly there. Key considerations were-

  • Assignment rules to ensure there is no duplicate assignment of candidates with predefined forms/screen flows to capture feedback. 
  • Conversion from PC to PE on selection with further tracking in separate object to address communication challenges. 
  • Using activities to track list of items needed for onboarding process and to notify/email relevant units for smoother onboarding (like assets team for Laptop; security team for ID card, etc.). These regular connect and activity closure were expected to give an implicit indication on PE final conversion to E. 
  • Collaboration via chatter/private group to handle discussions related to projects and unit activities. 
  • Using email templates (for each communication type), auto assignments rules (for assignment of PC to interviewer or PE to a buddy), process builders, validation rules (to limit business rule violations), data loads (for capturing the candidate details), knowledge article for FAQs/documentation and so on. 

Cost of licenses, license type (community/platform/salesforce) and interaction between entities were not considered in initial stage.

L1 Use Cases

There were two broad level processes/use cases which product intended to cover - 

Employer key problem area - 

  • Candidates not turning up for interview (Outside the scope as handled by talent team but reverse engineering to revise the plans).
  • Prospective employees declining the offers.
  • Tracking accountability of interviewer for hiring only genuine candidate (principal-agent problem).
  • Last but not the least - driving engagement at project/unit level to address disconnects.

Employee (PE/E) key problem area - 

  • Lack of feedback or input from Employer on processing status of candidature for both selection/rejection scenario.
  • Disconnect and lack of communication from offer roll out till joining (this also led to deflection partially with trust as one of many other reasons).
  • Lack of touchpoints and navigation guidelines (while these are covered during induction but connect goes for toss).
  • Single platform for collaborating with point of contact for typical concerns faced by employees (e.g. continuous learning/certifications, policy links, project status, project documentation link, templates to be followed and so on).

Epilogue

While engagement was shelved after initial discussions and I too moved to another initiative, but got interesting insights while evaluating various use cases and capability mapping. 

Irrespective of tech choice (JS, Java, PHP or Salesforce) and associated cost it could have been an exciting product/idea to work on as it intended to cover some of the problem area industry wide. Some of the companies in 'best companies to work' list which I know indeed work on giving holistic candidate/employee experience and potentially the reason why they are in the list. Value based analysis (Anderson & Narus; Gyan Courtesy - Prof DVR Sheshadri) for any offerings is the key. :)

Saturday, June 19, 2021

Designing a simple approval app

Few year back had an opportunity to design M&A solution using Salesforce Lightning. Lightning was just introduced feature (Dec'15) and many of the so called base features of classic interface weren't available in lightning. After 5+ years there are few which are still in wish list. Mobile development wasn't mainstream and was not even considered in initial stage of plan. It was more of a strategic initiative ("cash strapped") to evaluate the system capabilities before putting more money or expanding. A high stake project considering user base involved for the life sciences/medical device organization. 

Problem Statement - 

  • Client's innovation unit was handling multiple opportunities throughout the year.
  • Each opportunities depending on their deal size (<1 Mn to >250Mn) had different approving units going up-to group CEO
  • All such approvals and reviews were happening over mails with no automated option for reminders or tracking mechanism to get real-time status of opportunity.
All this was leading to loss of potential acquisition opportunities to competitors. 

Business/Working Model - 
  • The overall model was classified into two broad area, typical of any acquisition process - Early Stage and Late Stage with sub-classification on Non Binding Term Sheets (NBTS) & Contracts deals.
  • Each deal type were further classified depending on funding source and associated units which had another sub-classification based on deal size range - <1 Mn, 1-10, 10-25, 25-50, 50-100, >100 Mn
  • The approval matrix and groups were different for each deal type/size and required either serialized approval or parallel approval model
Solution Proposed - 

A simple model to capture deals within the system with OOTB file attachment capability coupled with dynamic approval and custom reminder mechanism. Custom object based parameterization. No considerations on mobile as neither holy document called SoW specified it nor client wanted it. Anyways mobile development those days meant either customizing compact layouts for SF1 layout or going SDK route involving android/iOS developers to build Native, Hybrid or HTML apps depending on client ask. 

Fast forward 2021 - 

If I have to design solution in present time, I will probably think about mobile app first and then anything else. While lightning was introduced keeping mobile ready app in mind but as quite a few clients looked forward to have their own branded app salesforce revamped the mobile publisher few releases back.

Design would have certainly changed taking into consideration GA features now. I will probably go for metadata based parameterized solution. Will likely be using flows extensively for reminders instead of custom codes. incorporate state model, use feed driven approval as option and so on. And most importantly will probably evaluate mobile publisher capability to build the app which apparently give greater control and management of mobile app.

Fast forward future - 

And I am almost certain that even above solution will  look dull in another 3-5 years considering pace of technology evolution. May be system capability will get built to capture such opportunities automatically. Parameter based auto approval for low key items with random samples picked for evaluating the system decisions by stakeholders. 

P.S. - I was initially planning to write a note on mobile publisher capability and how easy it was for a not so techie guy like me to build an android app (prototype of course) but eventually got lost with the design and thought that how dull old solution looks once we have better technology available at our disposal. Last but not the least, detailed design was not given for obvious reason.

Tuesday, May 25, 2021

Corona byte

Disclaimer - This is my personal account/experience and doesn't mean to give any advice on what to do in situation. I am not a medical practitioner and details mentioned are only indicative of what I was advised for my conditions. But potentially this can give a hint on what not to do. Take everything with heap of salt as pinch may not be enough.

As saying goes - apne dusman ko kabhi kamjor nahin samjhna chahiye (you should never underestimate your enemy). I am certain that person who would have said this would have fought a prolonged war with his and would have won on each occasion. Thereby assuming he will win in future as well and one fine day enemy would have struck with all the vengeance after working (mutating) on its weakness. 

Not exactly on same line what happened with Corona but certainly fear of corona tapered off over the period and one fine day struck at its peak. I always considered myself cautious since the time Corona issue came. I never stepped out of my door without masks and washed or sanitized hands after returning home. This can be considered a new low compared to the initial lockdown days of 2020 when every time I ventured out I took bath after retuning and washed each and every item immediately and put it in a secluded area before using it. 

While I never know how and when I got it but with cases rising within the apartment even at same floor called for stricter regime like 2020 and I missed. And, probably one lax moment would have given the virus an opportunity to strike (Mistake 1).  I was waiting for announcement  for vaccination for my age group and even registered for it and then things came falling down. Can say, when I was about to get vaccinated I was bitten by the corona. (Apni kasti dubi wahan pe jahan pe paani kam tha - As per mythology, each one is rowing a boat which requires a fine balance and my boat drowned when the safety of vaccination was so near)

  • Day 1 - What started with a shivering and cold sensation followed by fever on day 1 was gone within a day after taking paracetamol and I became casual about it (Mistake 2). 
  • Day 2 went without any fever and I assumed everything is alright. (Mistake 3) but still requested for COVID test (Sensible Point 1). 
  • Day 3 - is when the fever and cough started rising and realized there might be some problem. Consulted doctor immediately and got typical medicine prescribed. While all this was happening I had move to a separate room from day 1 and limited interactions with family (Sensible Point 2). Till day 3 I was still considering it as common cold or seasonal fever. 
  • Day 4 - gave the sample for test even though temp was normal and I was confident that things are fine now while headache and body pain started troubling. And this is the point when things started awry from my expectation. 
  • Day 5 - started with loss of taste and smell along with diarrhea. And I realized things are not ok. Tried reaching out to doctor again and found doctor was not reachable when I want and there is a wait time (mistake 4). 
  • Day 6 - started with loads of coughing and sleepless night and then worry started on medical history. I couldn't find any doctor even by evening and I panicked (Mistake 5). Started reaching out to friends/colleagues who vaguely mention about knowing a doctor (Sensible Point 3).
  • Day 7 - my doctor returned and so did my friend with his doctor contact and prescribed lot many tests and asked to start with steroids. BTW while all this was happening my report from day 4 was still not available and realized this as another folly. Never ever trust the online folks when time is of essence ( Mistake 6). 
  • Day 8 - Blocked for RTPCR again for walk-in sample collection point, gave blood samples at diagnostic center by going there along with hospital for scanning. Thankfully I didn't fell anywhere unconscious alone and returned home safely. Cough bouts were increasing and I was remembering cast away movie tom hank character who mentioned never ever delay anything that requires medical attention. You will never know when you get lost in jungle. If corona could have been there at movie time he would have completed the dialog as - you will never know when you get lost in jungle or corona bites you making you more vulnerable to your problems. Not sure if this was a mistake or sensible thing as I was delaying things because of corona without considering the risk what if corona strikes me. Anyways. by day 8 end things started falling in place in terms of problem freezing. Got most of the report including the COVID report for day 4 morning sample confirming my worst fears. Blood samples pointed to some challenges and I panicked (Mistake 7). Dropped a note to my office support group for help as oxygen saturation values were going down. Consulted my doctor again and he moved me to higher doses of steroids and also told that entire family might have got it and asked them to start on steroid too immediately. More panic attacks! On the other hand, Friend doctor communicated informally via friend not to panic and not to start steroid for family and I didn't pushed it on family(Sensible Point 4) . 
  • Day 9 - By now as I learnt my lessons from previous online COVID samples folks. I contacted directly via network and got a guy to visit and collect sample for entire family next day morning and by evening same day got the report confirming things are fine with family. It was a BIG relief as things could have gone much more messier with entire family down. Seeing problem with my existing doctor changed the doctor and went with my friend's/alumni network doctor (Sensible Point 5). He changed the quantity of steroids, added some antacid, blood thinners to support the entire steroid setup which was missing from earlier prescription. And to tell you this helped in BIG way. 
  • Day 10 - Things started deteriorating with steroid doses and cough bout increased and leading to another sleepless night. My new doctor was out for conference and no slot of consultation available.
  • Day 11 - No signs of improvement and my new doctor was still not back. Searched the doctor over LinkedIn, activated the Linkedin Premium and dropped a SOS note. Doctor was kind enough to respond and suggested changes in doses of cough syrup and additional test. Again a walk-in to the diagnostic center late evening which helped as results were available early morning. 
  • Day 12 - Results were not that promising as I CRP doubled, ratio of neutrophil and lymphocyte entered the danger zone. Consulted the doctor and was assured that even though the results are not promising I should be fine and panicking will only make it worse. Asked for way to connect continuously. A channel was created for me whereby doctor will be available to respond promptly for any query via the official app (Sensible Point 6). I should have probably enquired for such channel availability on day 9 when I consulted my doctor for first time. (Mistake 8). This channel helped me to be in constant touch with doctor and get clarification on most of my worries over next few days.
  • Day 13 - Temp stopped exceeding the normal temperature range but no changes in cough. BTW over this entire period oxygen saturation continued to be a challenge. Prone position helped on all such occasion to bring back to normal range. Similarly elevated headrest position helped partially with the cough bout.
  • Day 14, 15 - Status quo but I felt I am doing fine so requested for RTPCR again assuming I will get an negative result and after that I can possibly stop mad sanitizer spray regime at each and every touch point. Unfortunately it was still early and result was not as per my expectation. Few more days of mad sanitizer spray everywhere.
  • Day 16 - Day20 - All these days went without major surprises but slowly I started feeling that things are improving and this feeling helped a lot. Finally gave the RTPCR sample again at Day 20 and by Day 21 morning got the result that things are fine now.
  • Day 21-Day 25 - There was still a hesitation to mingle with family and step out from isolation area even though doctor confirmed that there is no problem. Only thing that reduced was sanitizer spray. But slowly one step at a time towards normalcy started.
  • Day 26 - The day when finally I found comfortable to step out of room without much mental blockage and resumed with regular work.

It certainly takes a toll on mind and body. There are stages when care are not taken can lead to an ugly turn. Few of the lessons - 

  1. At least during current time, do not take even a minor fever cough incident lightly. Don't rush for testing as well immediately but start identifying places which can give quicker result. Mostly Day 4 is when getting the RTPCR done along with a result is what that is needed. Not that it makes corona recovery faster but government regulation requires a positive result and associated tracking number for hospitalization.
  2. Keep your mind engaged all the time and stay away from negative news/people. Mind plays a lot of trick and negative news make the game worse.
  3. Day 5-7 are critical. By day 4-5 if situation is not improving even after completing course of medicine prescribed by doctor then time to consult and get blood tests and CT done on day 7. Not before day 6-7 and not beyond day 8. Again, rule of thumb - go by doctor advice. People making random video on youtube or people posing as doctor and quoting random points in video forward do not have clue about your condition and medical history. Prescription/Medicine/Advice varies from people to people.
  4. While the most difficult part but definitely needed is not to panic. Delegate as far as feasible to your family member, friends or office colleague on items which is bothering you. Your family, friends and office colleagues are your biggest support system and are always there when you need it.
  5. Limit talking and communicate mostly over chat. Last thing you look for is increase in coughing bout because of talking.
  6. Last but not the least, live in the moment and be positive. Be grateful. Things will be fine. Keep your mind engaged and distracted. It helps a lot.
Need not emphasize more that Corona is definitely real and appropriate care should be taken till the time it goes away completely or majority of population is vaccinated. Stay home and stay safe!

Thursday, March 4, 2021

Salesforce Service Cloud Performance/Delighter Features

True to the core principle of Kano framework, salesforce product has evolved over the period to meet the basic needs, performance features and delighters for customers. Once delighters turn into basic needs, something new and interesting comes up again to keep the arena exciting. With increasing product portfolio with both organic and inorganic growth Salesforce seem to have identified the trick to select feature that can greatly enhance user experience. As per recent releases salesforce came up with few productivity features related to Service cloud to delight the users and customers alike. Some of it listed below that can help to cut down the customization and make application/product feature rich with little effort (read low code / no code).

  1. Identifying Knowledge article relevant to the case to give faster case resolution – In many of the engagement you may have used once a delighter feature of knowledge sidebar which gave a quick option to agent to select suggested article (unordered set) or search for knowledge article and attach it to case or email response to take forward the case for closure.  Any requirement around auto association of article based on certain set criteria ended up getting into customization route. And then came then Einstein knowledge article recommendation that gives an AI based model which continuously gets trained with each agent actions on article attachment or downvoting. Advantage it gives over standard suggested article is that outcome of recommendation is an ordered set with highest match on top of recommendation bar and will potentially saves the costly real-estate.
  2. Recommending probable picklist field value for case classification – Each second saved in resolving a case in service/call center industry counts a lot as each of those seconds by giving agents prefilled suggestion translates into millions of seconds for millions of cases addressed by the agents over a period. One such mundane and repetitive task is to fill some of the key fields on case which are useful for reporting purpose. Case Type, Sub-type, Reason, Resolution Type etc. which quite a few times left blank and hits on data quality. Only caveat to use this feature is a significant count of closed cases with relevant fields filled in (~4000) to train the model. But at same time model will get trained and start functioning with organic growth in data.
  3. Identifying likelihood of case escalation or reopening – Nothing beats the customer experience and enhanced loyalty than timely response to cases without a need to follow-up. Knowing in advance which customer can potentially reopen cases or identifying in advance the complex cases which potentially escalate in future help in routing the cases to expert agent to give attention case deserves as well win the customer loyalty. In service cloud context, prediction builder comes handy which again gets trained organically but having a cleaned data set to train it greatly improve the outcome.
  4. Einstein Reply Recommendation – Once a delighter feature called quick text for chat, email, etc. are slowly becoming a basic requirement. To up the game further salesforce has come up with reply recommendation primarily for chats. This gives an option to agent via side bar on possible response that can go for upcoming message from customer. To enhance the experience further sidebar gives opportunity to agent to edit the message before posting it. Unlike other features, here there is a mandate to have minimum number of chats replies available in system. It makes sense to include this once ample number of entries are available in the org and bring it in delta release to continuously wow the agents/customers.

While all these features greatly improve the experience it majorly feed on data. And, major issue with all data led models is – the models are as good as the input/training data. It always helps to have cleaned data to train the system and utilize the feature to full. If that is not the option, keeping those fields as mandatory and monitoring the data correctness in initial stage will serve as a good investment.

All these features typically come­­­­ along with Unlimited/Enterprise edition having Einstein service cloud feature license enabled. Bundled licenses typically comes at heavy discounts and certainly a good investment.

Details for implementing these features and associated prerequisite are available in reference links.

References –

Tuesday, February 23, 2021

Retirement Planning - How much is enough?

Disclaimer - Neither I am a financial advisor nor recommending any financial solution. This is plain layman view.

I am back again with a very random post with no linkage to what I do in professional life but certainly one area which always keep me excited. Finance/number crunching it is.

Of late one though kept me bothering how much is enough for future. While philosophical answer will suggest there is no end to what you can call as enough but thinking practically you can probably realize that what you are comfortable with right now will hold good even in future taking everything else as constant. You can certainly think about improving the stature but that is an uphill task where the hill keep on getting changed once you ace it.

Coming back to finance world - corporate finance 101 focus primarily on time value of money. What can be bought with X amount of money might be out of reach with same X amount of money in Y number of years. If this X,Y is troubling just recall the common phrase from your parents/grand parents - hamare jamane mein itne paise mein itni cheeze aa jaati thi (in our time, for this amount I was able to buy so many things). For example - a single lollypop some 10 year back costed may be 0.5 rupee but now probably cost around 2.5 rupee. To put it in simple words, money keeps on loosing value with each passing year and inflation is one to be blamed for that. Historical trend suggests an average 6% (Year-on-year) rate for inflation. 

To answer question how much is enough is a tricky task as this number will differ from person to person. For someone like Super cop Singham for whom 6000 Rs/month is enough because his zameer has dum as his necessities are kam (mere zameer mein hain dum kyunki meri zarurate kam) and may be for our great Ambani jee even 6000 lakh Rs/month may not be enough (not because his zameer doesn't have dum but because his necessities and daily expenses are huge to maintain his current life style). 

Simple excel calculation can tell you for 6% inflation 1 Rs today will be equivalent to 3.82 Rs at time of retirement age of 58 years, that is after 23 considering your current age of 35 years. That will also mean that you will get to live 24 more year post retirement and the value of 1 Rs will balloon to 15.47 Rs (47 years from now). Considering around 20% margin (I invented this number) over average current life expectancy of 69.93 years in 2021 in India . Why more you ask? Because if you were able to read this far and also intelligent enough to search and plan for retirement then you are above average and that would mean that you will get to live more (unfortunately from financial planning perspective). Moreover, when it comes to averages some number have to be above the average to make up for those numbers which are below average. 

Now comes the question how much is enough. If you are a minimalist of age 35 years and able to make ends meet with 20,000/month then multiply 20000 with the column 'Total Corpus needed at time of retirement' to get ideal retirement corpus at time of retirement or 20,000 to 'Present Value of FV corpus (@6%)' to reach amount that you need now (at present time) to stop worrying about retirement corpus completely. Rough calculation suggests that 2.3 Cr s what you require at time of retirement for someone with monthly expense of 20K after 23 years from now. Now doing a reverse engineering with that number will suggest how much you need to save per months to reach that number (roughly 25K/month assuming you have no savings as of now for minimalist person). I am ignoring all other future surprises and commitments like family/child's, your future health expenses, etc for which you should be maintaining separate corpus. If this sounds daunting then you got to relook at your finances and identify ways to either fix your finances or your expenses/lifestyle or probably both. 

Here goes the calculation which I did for person aged 35 years with monthly expense of 1 Rs/month having 23 years of professional career ahead and probable life of 24 years post retirement. I am also taking liberty to assume growth on future investment as 9% per annum and inflation rate aligned with historical inflation rate of 6% per annum. Choosing a expense number as 1 Rs so that you can multiply it with current expenses  to reach your corpus amount. As I have already considered your current saving growth at 6% inflation target you can forget about that part. If you hope to live beyond 82 then too bad! You may have to plan for additional earing avenue or probably cut your expenses. And, luckily if you live lesser then think of this as leaving a legacy for your next generation to act as a seed capital for their startup which you always thought about but never dared to open. After all in my opinion, there is a very thin line between being coward and practical.



What the lower part of calculation suggests is if you have mentioned amount as your current saving in "present value of FV corpus" then you can live peacefully and work only to take care of other commitments. Also, assuming that your current saving will only beat the inflation of 6% and you aren't making any specific effort to grow your capital other than getting into govt/sovereign bond. And finally the calculation for monthly saving you need to meet the retirement corpus target. All can be multiplied with number which you expect to be at your disposal at time of retirement/month.

A very long post but made an attempt just to understand where do I stand. From Gyan perspective, this is what calculation tells us but in real-life there are N number of things can happen and you can't plan for that But planning never harms as it helps to identify the challenges and any future regrets that I wish if I had done this or that. Train will anyways hit you if you aren't able to take any action but at least you will be aware that train will hit you at some point in time and you will be at peace.

Note - I have primarily used FV and PV function in excel to calculate the future value and present value. Used PMT function to calculate the monthly investment needed to meet the retirement corpus goal. In order to keep the calculation I had to make several adjustments but not something difficult to update. Will share the public link of the excel with columns that can be updated to get the actual number. It may not really give the Y-O-Y view but consolidated numbers can certainly be seen.