India Inclusion Summit(IIS) 2018

Present at India inclusion Summit(IIS) 2018. Thanks to Feroze and team to receive invitation to me to attend the event. Event started  with songs by T.V Gopalakrishnan and troupe (tamil, Purandaradasa). They ended sharing about running Academy of music that includes everyone who is interested to learn art, irrespective of their backgrounds.

Zoyeb Zia shared his learning from journey with “ataxia” a medical condition, calls himself Champion for Rare diseases.  Learning includes “I should have come earlier and asked for help, instead of shutting down” and “Disability no more comes in the way of things that I love”. Everyone at my school and college helped me to perform/achieve and I want to help others. Thanked and gave full credit to his father who quit his job to take care and brings Zoyeb to current state. Zoyeb is Asst Professor of Zoology in Chennai and pursues PhD now

Brij Kothari came to talk of mass literacy and emphasized need to see literacy coverage as weak literates, Literates and Illiterates. While one can claims that we have more literates than illiterates, the weak literates form more than 60% of literate’s population. His plan to reduce weak literacy segment.

The more we have subtitles in TV programs and movies, the reading practice of audience increases and enables weak literates to become literates.  When one starts reading, one continues to read and 3 hour movies can lead to 3 hours of reading practice. The same subtitle enables hearing impairment segment of people.

Brij shared that English TV channels have started to sub-title and the same needs to get followed by Indian channels and Rights of Persons with Disabilities Act, 2016   Section 29(h) already mentions “ensuring that persons with hearing impairment can have access to television programs with sign language interpretation or sub-title”.

Suchitra Shenoyemphasized that ” inclusion” refers to “society” andpointed to background of  Latika Roy Foundation  thatstarted with family adoption of  a little girl named Moy Moy,differently enabled child and today has ended creating  livelihoodand  employment of people. Suchitra ended up with ” Everyone hassomething to give”. 
RajniBakshi started with sharing of Indian Tradition for inclusion,quoting Ramayana where Rama’s army is made of monkeys and other animals andvery few human beings and story of Indian squirrel to emphasize ” Nobodyis too small for any task”. He compares us to like Hanuman deprived ofknowledge and IIS 2018 makes us aware of our traditional knowledge. Rajni endedwith Virender Kumar pointing of what we can learn from making of Dahi orYogurt.

  • To make Dahi, the input needed is also Dahi along with milk.
  • The milk and Dahi needs to be mixed in right proportion and else Dahi may not comes good.
  • Once cannot just leave and should be ready to stir things. Be more assertive.
  • One needs to be patient. if you poke Dahi, it will melt

All tha above needs to be done with complete faith, not disheartened with failures and not overjoyed due to success.

Shubha came to talk about losing her job for the reason of being disabled and how she has turned herself to creating Swarga Foundation that now employees people, support education and also publishes “I am special” calendar.  In Coimbatore, they enabled some government schools to create disabled friendly toilets, (also maintain them clean), enabling more children to come back to school. While thanking her husband for support to take care of her and her children, Shubha shared her learning as “Turn every adversity in to an opportunity” and ended saying that “ what I have created is only a limited edition” and it looked like a challenge to all normal people including me to create better editions of the product called society.

Vaibhav Kothari was first speaker to speak in Sign language and must be interpreted for others (like me) in English by translator.  Vaibhav started with childhood journey with “Accept up with what you have/reality” and “Be grateful to parents”.  Vaibhav shared where parents can enable their deaf children in best way explaining that 90% of deaf are born to hearing parents and only 15% of those parents learn to communicate with their children in sign language. Hence communicating with their deaf child in the sign language brings confidence in the child. 

Vaibhav proposed an intriguing concept called “Deaf-Gain” where his family moved to Delhi to provide son with best access to facilities and all what they did was due to the fact that they had deaf son, may be they would not have relocated if they have a normal child and positioned that differently enabled people have ability to influence the people around them in positive way.  Vaibhav also studied in USA and returned to India. Vaibhav created documentary  video “Not Anymore” to show how Indian Deaf person can successfully works as a leader in a dynamic and challenging profession like in infrastructure sector and has produced/created   20 minute talk shows where conversation is in SIGN language.

 Follows  dialogue between Suhasini Maniratnam and Swarnalatha. The most striking term for Suhasini is “inclusion”and shared her nostalgia where she was the one girl learning photography with more than 60 boys. She talked about  Manthil Uruthi Vendumand the lead role Nadini. For me, who has seen movie, Nandini character is most  humble character that stands out for service to others. She comments,”Magic happens in IIS!”. Suhasini shared the magic that she met man in this trip  to Bangalore who owns group of restaurants in Bangalore that rhymes with Nandini and shared that role inspired owner create restaurant and she shared that Nandini role has larger impact.  

When asked whether movie industry encourage people with disabilities, Suhasini shared that Tamil film industry has female playback singer, differently enabled and a movie director, physically challenged and it is for audience to fins them. When asked what it means to perform role of mother, Suhasini response was there is no difference whether it is mother, sister or wife and it is just a role that I perform.

Followed by Jerry White, a Nobel Peace co-winner for banning the land mines, claims, “We need each other for resilience. I find my missing piece in all the people in IIS”, “We all are one. All are in me. Together we are a whole”.

Facing disabilities for both her mother and herself, Devika Malik, the International Para Athlete, learned to be different. In her childhood, she felt the urge to break the rumor that “Mother passed to the child” and pushed herself to achieve everything. Her mother Deepa Malik is also Paralympic medalist.  In early childhood, she took courage to explain other children in her school “ why she was different” and created her own friends for life. Effectively she attempts to transform situations from being “Laughed at “ to “Laughed with” and also has established the Wheeling Happiness Foundation.  She completes with “We differently enables can perform everything, until society enables us, rather than disabling us”.  

The next speaker was Yetnebersh Nigussie Lawyer and Disability Rights Activist, Recipient of Right Livelihood Award. Yetnebersch… means where have you been in Ethiopian! She said that she got benefited being blind as that send her to school, instead of pushing to be married. She called everyone to have “Open mind to embrace diversity” and called herself billionaire as she has billion friends who take care of her.

The next speaker Rupert Isaacson, a parent of a child with autistic spectrum  has produced “The Horse Boy – a documentary feature film“ which won the 2009 Feature Film Audience Award for the Lone Star States. Rupert talked about his exposure to inclusion and shared his learnings of how to parent differently enabled child and called “Autism is not a catastrophe… its an adventure!”  Rupert emphasized need for self-compassion and self-care that parents needs to develop to better care for their special child. Rupert asked these parents  to  “Setup yourself for success” first to “Setup your child for success” and emphasized importance of spending significant time with special child. Rupert Isaacson shares wisdom in 3 pointers and shared the website https://ntls.co/ for detailed reference.

  1. Follow your child
  2. Follow him/her emotionally
  3. Follow him/her intellectually

Caroline Casey – Irish Activist, Founder of Valuable, WEF Young Global Leader emphasized importance of business to be in conversation with disability and called upon each one of us to follow twitter hashtag#valuable – A global call to business to recognize the value of 1 billion people with disability”. She shared her 3 principles (below) and ended her talk with the connect “Everyone has story to tell. None of us is better than others. Every person is equally valuable. You can be the best that you can be.”  

  1. Freedom to be who you are
  2. Believe in magic of possibility
  3. Freedom to love and connect.

Caroline shared her dad saying “ Be yourself because everyone else is taken.”

Chithra,playback singer graced the occasion be being present in person and performed some beautiful songs in multiple Indian languages.  Raghavendra Hegde, sand art artist creates magic(see below) and was followed with announcement on India Inclusion fellowship winners 2018.
Feroze took to session end saying “Everybody is good at something and everyone can be great at giving” and followed by volunteer dance

Advertisements

Integrate 3rd Party API – Develop and Deploy

This is final blog of series Integrate 3rd Party API – my learnings, an attempt to share my  learning from experiments to integrate with 3rd party API  from 3rd party API selection to  post production. Here are few API vendors  crossing my software journey including  SignNowYodlee, DecisonLogic, avalara, stripe, goshippo, salesforce,marketo

For our application, any code  needs to pass through 3 environments of DEV, QA and PROD environments. Observed

  • 3rd party vendors support only QA and PROD environment externally, while your application may have DEV, QA and PROD environments internally. Ensure that developers and QA engineers have access at-least to QA environment.
  • Be ready to be charged for QA environment by 3rd party vendors and it is onus of the development owner to emphasize importance of the same to business owner.
  • At times, one create trial version of 3rd party SaaS API provider and leverage same  during development of  integration. On trial version expiry,  we reached 3rd party API support team to extend trial duration.
    • Most request to extend trial version are honored until your application goes LIVE(first time).

Testing integration requires understanding of features of 3rd party provider and creation of data in 3rd party API portals. As developers  lack bandwidth to  create data in 3rd party portal, early engagement of QA engineer enabled QA engineers to

  • Get complete grasp of integration
  • Enable developer to create their test data for unit testing
  • Identify root cause of errors  when system that went in to production(live)

At end of code completion, you feel relaxed. Breathe a little and be prepare to handle the following.

3rd party APIs white-listing for machine from where API end-point is being invoked in production and this is not done QA environments. If developer machine IPs are not white-listed and application production IPs are white listed, developers will not be able to simulate challenges/failures on live environment in QA instance. for some instannces, we  white-listed integration developer machine for Live environment.
Partial wrong response from 3rd party API portal. The maturity of QA engineers helped to diagnose tricky scenarios and demonstrate to stakeholders’ root cause of the error/issue. Observed that end user wanted to provide access to 3 months of bank transactions and our application displayed PDF with last one month transaction only. We debugged and found that 3rd party API returned 3 month transactions for some banks and 1 month bank statement for some banks and the same was mentioned in their terms and conditions. In addition few fields in response are present for one end-user account and are not available for other end-user account with different bank.
Expiry of API credentials Some API credentials like password expires after 6 months. In these scenario, business owner needs to create new password prior to expiry of old password and update our application so that integrated solution works seamlessly and this was not easy for developer collaboration. As  3rd party API  provided way to change their password on periodic intervals via programming, we  implemented the same.
Performance,Limit and Security tests Performance tests have to be executed to tests application performance during large amount of data transfer between application and 3rd party portal  and vice-versa. Limits tests enable our application not to cross API limits specified by 3rd party provider. When API response receives “Out of limits” error, code needs to reattempt API, follow with wait and attempt to invoke API again, prior to sending error message to client for display to end users. Recommend that 3rd party integrations to undergo application security testing via third party like Veracode.
VPN security configuration Some 3rd party API mandates that machine where your application is deployed LIVE and 3rd party API LIVE servers have to be  part of of  enterprise VPN for security reasons .

  • At times, we have to make QA machine join VPN connection to reproduce errors that happen in production instances and facilitate easy debugging of errors to reproduce errors in production. Once debugging is complete, machine needs to be removed from VPN network of LIVE servers.
  • One can pay and on-board extra enterprise QA VPN instance and 3rd party API QA server for purpose of quality.

Post-production, we were deep in situations where bug was not in development and issue was created due  to wrong communication of functional requirements or due to operational gaps like end-users did not complete configuration or missed configuration in manual process. As test engineer was engaged from early stages of integration,  test engineer was able to look at issue and found operational issue & returned  to operations team, saving a lot of developer time.

Some developer tips

  • Developers could never unit test the process to obtain business bank statement as our stakeholders were hesitant to put their business bank accounts on developer machines.
  • Unit testing of API integration with more real-world data than simulated data brought challenges to forefront ahead of time. For examples, to test getting access to bank application, developer must put their own bank account credentials to get bank statements, as part of unit testing on local machine.
  • Logs help developers to find root cause faster. Hence developers need to add audit logs at  integration code sections with 3rd party APIs, so that the same can be accessed to facilitate easier debugging and enable quick resolution.

Integrate 3rd Party API – Solution Design

This is  third  part of my blog series “Integrate 3rd party API- my learnings” and covers details to arrive at proposed solution design and also publish stories to act as reference for development. Completion of “Build prototype” moves busienss owner and architect  to a matured stage to create solution design and product stories to covers the use cases.
Solutions

The first step to develop solution design is to look objectively at current application WorkFlow and either to define new or upgrade existing application workflows for integrations with features required using 3rd Party API. Any integration has potential to  to have additions and modifications in both both front-end and back-end.

Front-end: The user interface needs to be simple to not create anxiety for  end-user.

  • Identify input fields and display elements for display in UI/UX  collecting data to be passed to 3rd party API and distinguish input data  displayed to end-user and data  not shown to user and passed along with API requests.
  • When 3rd party UI gets embedded as part of application UI/UX, please find how to  use application specific CSS  & personalized message in 3rd party UI, include icons, ” text” message & “Acceptance confirmation” checkbox message.
  • Take  care to display error messages  to end user corresponding to error codes received in API responses, to ensure that anxiety of end-user does not increase.
  • UI design needs to balance need to display minimal information to end-users and transparency needed to understand that data came via from 3rd party API or from a external data source(say SalesForce).

Privacy: Every  application needs to provide granular control to end-user to decide what data gets shared to whom. When privacy needs are captured  at solution design level, developers find it easier to implement, as privacy becomes norm, rather than exception. Hence the integrated solution design focus needs to create  comfort and easiness for end-user and also protect  privacy and ensure end-user feel safe.

On integration with 3rd party aggregation API that enables  application to get data about  end users from multiple data sources via 3rd party, ensure that your end user provides explicit permission for your application to store data from multiple data sources.

Can your application share the data received from 3rd party API with other stakeholders of your application? Do you provide granular control for stakeholder to decide what data received from 3rd party API gets shared to whom? We did not have situation where data received from one 3rd party API needs to be send to other 3rd party API.

When we obtained bank transactions, we displayed bank transactions(obtained via 3rd party API) in terms of downloadable PDF statement to end user. This allows  end-users to verify that data from 3rd party API is right or not. Also observe that data pulled by 3rd party API contains transactions from 2  bank accounts in same bank and the end-user wants to share data from one account only. Providing explicit option to delete bank account puts onus of the end-user to decide what to share and what not to share.

Back-end. At top level, focus needs to  prevent multiple round-trips across systems and  to store data transmitted as 3rd party API response/request in easier way to consume later, taking in to account needs to protects end-user rights and secure data. The solution design needs to consider the following.

Storage view  Whether to store data from 3rd party API in your application database or store data from 3rd party API in separate database? If your application is multi-tenant, should the additional database can be multi-tenant? Do we need  to encrypt data received from 3rd party API (data at rest)?

The need to encrypt data at rest depends on type of data  being stored. Here are additional questions to has answers during solution design stage

  • Which data needs to encrypted and stored in the database?
  • Should data be encrypted at rest?
  • If there are data issues, what is approach to debug data issues and resolve?
  • Are your enterprise customer data subject to PCI compliance?

Logs, Performance & Security View  Logging needs to be done to store logs of interaction of application with 3rd party APIs. if API response contains confidential section, we need to distinguish parts of API response,  stored in human readable  log and  parts of AI response with end-user financial information, not to be stored in log. Logs help developers in debugging. Logs have to be recorded to enable developer to reach enterprise where error was found in few steps

Some popular 3rd party APIs specified the number of API calls allowed in a single day & enforce limit constraints on API usage based on different parameters.  One needs to address how solution design would not violate limit constraints.

One solution design that is useful is  when 3rd party application offer webhooks, and the application can subscribe without need of polling on regular intervals. Here one needs to implement functionality on receiving call back function and ensure that delay in notification does not impact  application performance or lead to bad user experience?  Please evaluate risk of using 3rd-party API no-authentication webhooks in your application and possibility to create means to verify data received via webhooks.

Configuration to access 3rd party API   Recommend to add ability to enable/disable 3rd party API integrations via admin interface, allowing to enable/disable integration in one shot  and  entire integration(front-end and back-end) gets removed/disabled seamlessly.

Some 3rd party API  request require password to be send in base64 format and some API requests require sending client secret and client identifier keys. In case of passwords, password needs  reset on regular time intervals via API or manually. Recommend to store API access credentials in separate table/collection as part of the persistent storage.

File Upload: We evaluated 3rd party API where our application needs to submit large files to 3rd party API. Before that, angular application did not store AWS S3 credentials and uploaded files to S3 directly from angular.  We evaluated server-less(AWS lambda) component to pick uploaded file present in S3 and send to 3rd party API.

Micro-service in 3rd party integration

Our first integrations was implemented as simple functions in our core application. then we found that some  enterprise users asked “Can we leverage integration as independent piece. We liked anxiety free flow” pushing us to implement the integrations as micro-services and micro-front-ends. From our development

  • API integrated solution design document exists one per each 3rd party integration and covers special needs and workflows specific to integration.
  • We had separate stories in product backlog, specific to each integration and their sub-stories to be completed.
  • While we did not move to separate database, we had logically separate tables to store data specific to each API integration. All these tables have enterprise key as unique identifier to filter data per enterprise.

Entity Mapping during integration Another development  was need to map our application entity (& its fields) with  3rd party API entity (and its fields). While mapping  can be created during setup and used to transform API request/responses,  mapping can be achieved in 2 ways based on whether both systems supported dynamic fields or not.

Let us assume that  application supports only static fields and 3rd party API(SalesForce) supports dynamic fields, mapping can be created as part of custom development of SaaS API(SalesForce).  The mapping gets used by 3rd party API custom code to transform 3rd party entities to suit our API requests/response.

Let us assume that both  application(call A) and 3rd party API(SalesForce)(call B) supports dynamic fields, a independent  component was developed to  stores data mapping during setup and  handles data transfer(using mapping). This component sits in middle  to transform entity and fields of A to entity and fields of B and transform entity and fields of B to entity and fields of A. This component can be deployed as server-less component also.

Testing Integration :  It is important to address testing needs of 3rd party integration even prior to start of development and capture testing needs as part of solution design.

  • To test integrate with SalesForce,  test engineer needs to understand basic working of SalesForce to test integration.
  • To test integration where bank statements are got via 3rd party API, developers and test engineers can be motivated to pass self bank credentials for unit tests.
    • Developers and test engineers do not provide their(self) bank credentials on QA or Prod.
    • When application needs business bank account, I found that business owner also did not have credentials of business bank account, present with their finance teams only, who did not want to share with developers.
  • For digital signature,  setup activity needs to be done on 3rd party portal for a loan template and fields that needs to be filled dynamically need to be marked and also placeholder for digital sign needs to be marked.
    • Specific to application, APIs used manually configured standard template and filled fields and presented to individuals for digital sign.
    • With manual step involved, test engineer played major role to enable developers to complete API development.  Some programmatic checks and balances identified by test engineers prevented   API errors in action.
    • Post deployment, test engineer becomes “Go To” guy for operations personnel to  setup templates.
  • For OCR processing of bank statements, testing and setup was  more tricky and development stopped in middle.

The solution design document serves as reference for engagement between developer, test engineer, architect & business owner during development and also post production. Recommended  that development starts with Sprint 0 to complete integration of one use case, along with setup activity and  put configuration and log requirements  in place. This helps in better estimation and execution of  future use case integrations targeted in subsequent sprints.

solution design

Found developer created API notepad file with API request/responses important when there were doubts and clarifications in the process of creating solution design. When we need to get more clarifications on use cases, We simulated API notepad file for use case needs and shared prior to discussions with 3rd party API support or 3rd party API provider’s CTO to enable all of us to understand problem from same page and reach to  faster resolutions in short duration meetings.

Integrate 3rd Party API – Build prototype

This blog is continuation from Integrate 3rd Party API-my learnings.

To start, I wrote  top level end user use cases and reviewed with customers and started to check for website (may be our competitor) to explore/ learn how feature has been implemented and how it is used by end users.  Fun to observe that both me and my customer are not  capable to write user stories for Product backlog for estimation. Hence we went to develop actual prototype and tracked progress daily.

There were instances where business stakeholders called integration effort to 1day to a week and it took 6 months to get access keys with 3rd party for integration for a month of actual development. The prototype really mitigates risk and brings clarity in to uncertainty in integrations.

Observe product companies outsourced integration with 3rd party as they lack expertise. Developers in product company may not have full background  to grasp the complete picture of integration in the product. hence it becomes more important to create prototype for complex 3rd party integration use-case and understand the nuances of integration. strong belief that one 3rd party integration is same as other 3 party integration backfires.  Taking simple use case for prototype has resulted in developers providing wrong estimates and impacted release time line.

Some APIs are REST based. Some APIs are SOAP based. You need expertise to leverage APIs. To start with APIS, subscription to API is required. Asked my business owner to subscribe to API portal and provide keys and engage with 3rd party vendor on cost, ask for references and understand support.

At the same time, you start to understand APIs. There are 2 parallel approaches to follow her.

  1. Create hypothesize sequence in which APIs shall be invoked to achieve integrated solution design. Now you need to validate hypothesis of solution design.
  2. Experiment with APIs, following sequence and evaluate whether hypothesis is satisfied or not. If the hypothesis is not satisfied

As this was happening parallel with MVP development, I engaged developer and provided hypothesis of API and functional know-how to execute APIs and verify whether APIs are working.

Alas! developer wanted to develop generic prototypes. One should not develop complex prototype. What is is needed is a simple prototype.

Better to create simple prototype making use of either curl  or  postman to check whether APIs are working in specific sequence. Observe that some 3rd party vendors provide curl command for their APIs in their documentation.

Please capture the request and response based on curl command in notepad file. When failure of hypothesis is reported, one can learn from notepad what failed and relook at API portal to identify what change we can attempt and update hypothesis.

Documenting API requests and response  in notepad enabled to on-board development with an additional developer who used notepad as basis to understand sequence  of APIs invokes. Observed that  3rd party API documentation are not always sufficient  to map their APIs to  workflow ( say in  2 or 3 days).  effort. Ended up setting us call with 3rd party integrator  teams to clarify.

Pushed to extent in one case to get on a call with CTO to ensure that use case feature can be implemented. For those meeting, I leverage my word file with API rewuest and response and the other end person treats you as serious customer

A hidden benefit, the more APIs developer attempts,  developer start to understand functionality offered for solution better. At end of the iteration, modified hypothesis-based API sequence worked for all use cases.  The notepad file becomes raw reference for my QA engineer to run APIs via postman and confirm working. The notepad file can be shared with customer.

When API integration involves UI integration as part of sequence, simulation of UI flow in HTML/JavaScript in our application was created and feedback collected from stakeholders. This exercise helped to identify different screens and inputs in the screen to make requirements complete.  Saw 3 distinct UI needs arise in most integrations.

  • Admin UI to capture 3rd party API credentials at enterprise level and do mapping
  • End-user UI to capture end user credentials to access end user data via API
  • Workflow interface corresponding to use case scenarios of using 3rd party APIs.

Developers say that 3rd party API credentials can be in config file. My answer to them is 3rd party API password expires or needs change for security reasons. If  password reset can be done via UI, operations folks can perform change at late hours too.

 

 

Integrate 3rd Party API – my learnings

Earlier during tech development, I desired to develop  components from scratch, having started my career developing my C++ template class and  my first C++ COM components. Over time, I have leveraged  3rd party UI components in desktop and web application in Pre-API world. Currently where data plays strategic role and one needs to think of data ownership, data sharing and data privacy, I see a lot of value for  application integration with 3rd party API, to enable feature development  faster and efficient, more with data.

In FinTech, application needs access to  bank statements details of end-user. One approach it to integrate with each bank , complex and time consuming process. Other options can be

  1. Leverage bank aggregator and ask for end user to provide application with access his/her bank statement details via aggregators API.
  2. Upload scanned bank statement and leverage 3rd party API to extract contents of bank statements.

Both the above options can make application design more modular as  application is  abstracted from frequent changes that banks incorporate in their bank statements to meet growing demands of regulatory changes  across multiple geographies.

A different integration scenario can be. The enterprise finds your SaaS offering helpful for a functional work flow. As enterprise employees currently makes use of CRM or another tool, the enterprise may want ability to move data between CRM(likes Sales force) and your SaaS application to enable quick adoption.  In addition, enterprise does not want to share entire database leads with SaaS application and would share leads as and when required.

http-api

Two years ago, I lead fin-tech development from scratch and experienced that integrating with 3rd party APIs has advantage  to reach MVP cheaper and faster.  I got involved to evaluate a bunch of 3rd party APIs, for  feasibility of integration with our application. Sharing  about the fun journey starting from selection  of 3rd party API, identifying decision parameters, develop and deploy integrated solution. It was humble experience to go live and learn solution gaps in the real world, drill to root cause & resolve issues when rubber hits road flat.

At top level,  API integration is not an individual effort and is collaborative team effort  across 4 areas product feature, functional know-how, savvy technical acumen and a disciplined DevOps culture.

To complete first use-case integration, I recommend that  integration developer sits along with product team under same roof. Prefer to on-board developer with little background in product and experience in full stack development, a positive attitude to experiment and learn new, collaborate (free to ask questions or ask for help).

The functional knowledge enables one to be on the same page with business owner on the objectives to achieve on completion of API integrated solution.  Business owners aware of 3rd party vendors offering functionality  may have little or no ability to understand APIs. While business owner can add value on commercials and operation aspects, they are limited to evaluate technical feasibility for 3rd party API integrated solution to create a seamless experience for end-users.

The presence of product manager or product owner, along with business owner helps, when the person has working knowledge of 3rd party software or been involved with 3rd part integration earlier. In lot of cases, both of us are learning rd party APIs from different sides and there is risk that both of us can interpret a concept wrong.

In addition, business owners struggle to visualize how integrated user experience will be  after integration. i performed following  to enable smooth integrations development.

  • Share mock-up of  UI/UX experience journey as first step of requirements engineering.   Educate business owners of importance to provide regular feedback in early stages and throughout development lifecycle .
  • Emphasize importance for testing integrated solution with real data, in addition to  simulated data alone.  Business owners may not have ready-made test data . Continue to be persistent about testing needs and reemphasize value for test data.
  • Take ownership to call for online meeting with 3rd party API support team, even during period of trial version evaluation.  Educate business owner on time required post development to Go live due to activities like white-listing IPs, certification etc.
  • Demand for separate DEV, TEST and LIVE environment to test 3rd party integration. Some 3rd party API may offer only TEST and LIVE instances and need separate payment for additional instances. Try to get additional trial login of 3rd party API.
  • Integrations like “Integrate with Sales-Force” or “Integrate with Marketo”  need  on-boarding  additional  Sales-Force developer or Marketo developer to team. Do not expect developer to get automatic access to DEV and LIVE instance.
  • One team member needs to learn business view and functional aspects of feature. It is tricky to expect business/ functional owners to learn nuances of technology. Neither developers are keen to learn functional aspects of feature. Observe test-engineers(who joined in early stages of integration) can serve as bridge between developers and business owners. .

Any additional effort or additional infrastructure involves additional money and inform business owner to plan budget and get approvals.  My integration experience with 3rd party API has driven me to propose 3 stage milestone process (as below) for future integration(  mitigate risks & streamline from concept to going live & beyond).

Does data-driven recruitment really help?

Today on walk with two neighbors, I learnt a story and decided to blog after long time. One with experience of 18 years shared of receiving emails for positions like “Director”. Being curious, I interrupted “Did Director position mention technology, as if they hire a developer?”. My neighbor asked me to listen and shared it was Director(J2EE) and wanted my views on interview process that includes  CCAT – Common Aptitude Test(Mandatory), Technical discussion, managerial discussion and HR round.  The hidden question was how aptitude test is apt to evaluate person for senior role.  My other neighbor offered to share this story (read till last) and was eye-opening/interesting

[Story in his words] We had test drive in our office on Saturday for 2 open positions with experience of 8 to 12 years. My HR executive shared that 80 people have been invited for interview. I asked my HR that this is large number for interview on single day. HR executive gave me following convincing answer

  1. You guys have tough interview process and based on the data, we observe that you select 2 persons after talking to 40 persons
  2. On Saturday, when we interview, we observe that 1 out of 2 candidates do not turn up and hence we need to invite more candidates. Hence we doubled.

I am data guy and had to agree with logic from and we were on Saturday in the office to do interviews. Very interestingly more guys turned out for interview, may be 60 guys. Now there is a situation. The panel doing first round interview were struggling to complete. I  volunteered to do first round interviews(he generally involves in 2nd and 3rd). After finishing first round for candidate, I came out and to my surprise,  no candidates were in waiting room and inquired with HR.

HR senior executive shared that we do not want candidates to think they are made to wait for a long time. Hence we informed to them that they need to take test and that was filtering process. when asked where question paper came, HR senior executive shared that another department has hired using tests as filtering criteria. when I  asked for question paper and questioned  who will evaluate question papers. The response was “We have answers for the questions, most of them are objective type and one line answers and we will be able to evaluate them. We will leverage cutoff provided by other teams. You do not need to spend time”. I was able to appreciate that HR executive was not adding more work to him and his team techies. HR executive shared with me a copy of the question paper.

During lunch, I casually checked with junior HR executive whether all the candidates accepted to take test and was told ” One or two candidates raised questions that they came on Saturday for interview and not  for test. We responded that we respect their wishes not to appear for test and explained that test was part of interview process. They choose to leave.”

I  and our panel worked from 9 am to 9 pm to complete all the interviews . HR had reduced candidates for interview from 80 to 14 and we  decided/made offers to 2 candidates It was tiresome day & family was not happy, being late on Saturday too.”

Now is irony of the data oriented process.  On Sunday, seeing TV with his children, my  neighbor was reminded of  question paper and decided to have a look. The question paper has questions typically asked to freshers or candidates with 2 to 3 year candidates and was too basic. and shared 2 questions in his mind  and I added 3rd question to the conversation.

  1. What would have been experience met by those 2 or 3 candidates who refused to attend the test?.  Will they consider my company has been disrespectful?  How would I feel if I have this experience?
  2. We are proud of depending on data skills and not intuition. If I have viewed question paper that was used for filtering, would I have decided differently?
  3. Has the data of  challenge to interview 60 candidates in single day made me overlook the data that question papers was not suitable to candidates experience?

[Story ends] It was time to complete walk in evening and go to our apartments. I wanted to see that mention of aptitude test provides indication of the company culture and how company values talent (as human or resource). One can choose to respond to the email. Alternately, if one is interested and want to keep conversation open, one may write to recruiter and inform “I can undergo your process, but the first step would be a call with hiring manager or center head to understand things and then start process.”.

India Inclusion Summit 2017

Today I attended IIS2017. I actually attempted to volunteer event and was invited for event. I offered to volunteer. Received multiple calls in last 2 weeks, sharing my contact person and also inquired for any additional support needed, a meticulous follow-up. Gave me a surpise element for me wth question “why attention to person who offered to volunteer?”.( got answered too).

With a sense of wonder, I reached  Park Plaza,Marthahalli around 8 AM. I saw  a lot of specially enabled children and audience. Two people I recognized were  Carnatic musician T M Krishna(aware of olcott kuppam ) and Feroze (follow his Twitter)

Krishna apologized for delay, started with tamil song on love and moved to Bengali song and to Hindi song. In between songs, Krishna was was sharing his own inner questions.

  1. Can we look at “inclusion” as ” not excluding”. Who gave us right to include or exclude other?
  2. why gender is looked within context of other divisions in society? Should gender be looked first?

Followed by journey sharing by Shalini Saraswathi.Earlier She introduced Krishna and I did not realize that she was specially abled . Now I  became aware that she holds railing of ramp on her way down and she blogs too. I met her parents over lunch and blown down the way they take care of their daughter. Being parent, my respect grew for her parents grew multi-fold for being rock for their girl.

    • Is it fear of the situation or helplessness of the situation? Need to accept both.
    • How do we deal with our scars?

Then, there were a few more inspiring speakers like lawyer with vision disorder and a UPSC officer with bone disorder. I was engaged in their talks where want constraints removed for differently abled people to achieve their potential. Did not take notes.

  • Believe in your own strength to decide your destiny the way you want.
  • When we read someone biography, does biography share the challenges and vulnerability undergone by the person?

Followed by heartwarming story from former Senator Tom Harkins, who started with  desire to create inclusion way of life for his brother. He shared how approach to create an inclusive society can start by clearing path for people with special needs, as this actually has power to clear the path for everyone.

cartoon

Left me with a question to ponder upon at driver-less car beyond loss of job for drivers.

  • Can driverless cars change lives for disabled people?

Followed by discussion with Kris GopalaKrishnan, who shared insights in to mental health, that led to his drive towards brain research and the reason to start research from India with strength of diversity and push to make cure affordable and also emphasized need to balance with research world-wide.

Sai shared his story starting from being confined to a small room. to become a renowned graphic designer.

  • Make Sufferings your Surprises, your Surprises will make you Smile, with a Smile who is there to Stop you.

Prashant Kamat, content writer at Mind Tree was next speaker. His sister came along to the stage. She shares that the only regret growing with brother, specially enabled was  “No sibling fights with his brother”. Prashant had surprise video from his teacher at Spastics Society Bangalore. Amazed by focused attention of IIS Volunteers.

  • ” The work we do at mindtree is all about inclusion. We are given a lot of freedom in work place to exercise our choices.”
  • Life throws challenges at us. We must keep the faith. Believe in yourself. Only then others can believe in you and ur abilities. Do not be limited by ur constraint s, challenge ur limits.

During lunch, I finished lunch and started to observe arrangement for lunch for specially enabled folks. My curiosity lead me to these learnings.

low table lunch

  • Their counter was closer to audience, while ours were farther.
  • Their tables were of lower height to enable person on wheel chair to take their own food with little or no help.
  • The specially enabled folks have come with their parents or friends who helped them to eat and other activities.

Started to realize why volunteers called multiple times to check whether I needed support for the event. They were showering me with attention and care shown by IIS 17.

Met 22-year-old anchor/dancer/writer Meghana who believes disability isn’t merely physical but people with a negative attitude are truly disabled. In crude form, I articulate her optimistic attitude as “I am blind. I cannot see you. It is not a problem. I can dance and make you see me. ”

We saw a play hosted by mix of normal people specially enable children. while I was enjoying play, a mother who sat next to me proudly shared of her daughter in wheel chair in the play. She looked too small and thought that the girl should be smaller than my second daughter(10 years). Head 25 years(if i am right). Made me realize what is love and affection of mother towards her child. (My moher died when I was 12 years old)

Heard storyteller, film director Nagesh Kukunoor, share observation that movies focus more to create sympathy rather than empathy for specially abled people, and added how that he choose to direct 2 movies where the movie is a happy story around main actors who happen to be disabled.

  • Movie needs to be taken based on story and not based on cause, while one can be smart to may be embed the cause inside the story.
  • Magic happens when one believes. Hope builds when we listen to stories. Stories make us believe that miracles happen with hard work and persistence.

Major Anuradha runs a trust for PWD children in Asthagram, Kurnool in M.P. She did live show of how tribal children can be enabled irrespective of the fact that they are specially enabled. She was sending message that Normal child becomes more sensitive and sharper when they study along with specially abled children.Followed by two entertaining events

  • Prahalad Acharya who made us to listen and see wonderful stories told through shadows. Thought that shadows comes along with us everywhere and anywhere.
  • Vasu Dixit, who brought folk-rock to the masses in kannada. IIS 17 event that started with music ended with music.

My blog remains incomplete if I do not thank Leo & Sridevi for live translation of all session. Great job at sign language by Sridevi and Leo.

Finally, I said to myself. All my so called sufferings are nothing compared to suffering of  specially abled children, their parents and families. Hence I need to build resilience in myself.

Talking about our problems is our greatest addiction. Break the habit. Think positive. Talk about your joys.