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.