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!