Thursday, 23 February 2017

Data driven selection of mobile development platform for organizations

Introduction


Look at the word cloud

Native, PhoneGap and Apache Cordova, Angular JS, Bootstrap, Titanium , Xamarin, React Native, IBM MobileFirst Studio, Oracle Mobile Application Framework, Kony, Rhomobile, Sencha Touch, Telerik, Out Systems


Problem statements and horror stories


  • Intimidating technology cloud.
  • Which technology should be chosen?
  • Is my developer biased and prejudiced towards ABC mobile platform? Can I rely on his judgement?
  • John Doe who joined architecture team recently has told horror stories about XYZ mobile platform in his previous organization.
  • Already burnt fingers with XYZ mobile platform. Can’t risk job with another wrong decision.
  • Company ABC is migrating its flagship app from Hybrid to Native as Hybrid platform was not scalable for their app. 

Millions of dollars are going down the drain due to wrong platform choice. Choose platform scientifically through data driven evaluation. This requires lots of hard work but accurate platform selection after this exercise.

“Without hard work, nothing grows but weeds” - Gordon B. Hinckley


Step 1: Inventory of App ideas


Define inventory of apps you want to develop over the period of next few years. Check out Identifying app ideas and business cases for organization.

Data output from this exercise:
Data 1: Finalized inventory of apps with all the features planned for next couple of years. More exhaustive the feature set, more accurate the platform selection.

Step 2: Backend readiness

Prerequisites: Data 1 (Finalized inventory of apps with all the features planned for next couple of years)
  • Are your back ends ready for mobilization?
  • What back end integrations are required?
  • What are end points for these integration? – REST, SOAP, Database, CSV, FTP etc.
  • What is cost of changes to back end for mobilization?
Data output from this exercise:
Data 2: Changes required to existing systems, cost for these changes. 


Step 3: Organizations technology stack


Prerequisites: Data 1 (Finalized inventory of apps with all the features planned for next couple of years)
  • What is the primary technology stack of your organization? Ex: Oracle, Microsoft etc.
  • Does your tech stack have ready mobile platform? Microsoft has Xamarin, Oracle has MAF
    • Create a list of 3+ developers who can be trained for mobile platform (Data 4)
  • How mature is this ready mobile platform? Rudimentary OR Advanced
  • How many apps from app inventory (Data 1) can leverage ready mobile platform.
    • Mobile platform has ready app: Ex: Your organization is an Oracle shop and your app ideas contain Approvals and Inventory. Oracle already has these ready solutions.
    • Mobile Platform has ready components: app A can use Sync Server, app B can use security components, and both apps A and B can use Push Notifications etc.

Data output from this exercise:
Data 3: Inventory of ready apps vs app ideas, inventory of ready components vs app ideas.
Data 4: List of existing developers who can be trained internally.


Step 4: First Elimination Round


Prerequisites: Data 1, Data 2, Data 3 and Data 4

Create a check list similar to boxes below. And let us select some of the suitable mobile development platforms.




Now that we have four data points we can select few technologies and knock off others. The position of tick marks on below checklist is an example. Let’s see what scenarios made me make my choices.
  • I work in banking and insurance, Kony has ready apps for banking and insurance. This decision is influenced by Data 3.
  • My organization uses Microsoft stack. I can train developers throughout my IT to learn Xamarin. This decision in influenced by Data 4.
  • 50 % of features in two apps from inventory of app ideas require native development. Third party APIs are being used in these apps, third parties are providing native SDKs. This is influenced by Data 1.
  • Make sure you have at least one MBaaS and MADP in your list. We need to do cost vs benefit analysis during final selection.  



House rules for this elimination round, how technology selection should not be done.
  • “I don’t want to compromise on UI responsiveness and don’t want to have feasibility issues in future.” This decision is not influenced by any data point.
  • “My friend does not like a particular technology.” At the point of being repetitive - This decision is not influenced by any data point.
  • “I like Technology XYZ. Their sales pitch was good.” Never get influenced by sales pitches. Sales guys will always tell you their platform is best. Listen to all of them. Ask them all the data you require and make an informed decision.
Data output from this exercise:
Data 5: finalists. Technologies which are still in contention


Step 5: Calculate Infra, Development and Operations cost for next 3 years


Prerequisites: Data 1, Data 2, Data 3, Data 4

We now have three contenders for gold medal. We are almost there…
  • Create an estimate for apps planned for next three years on selected platforms.
  • Estimate should consist of
    • Resourcing cost for development and support for three years
      • Include effort for enabling mobilization of existing systems and back ends -  Data 2 
      • Software licences for next three years
      • Infra cost – Hardware, hosting etc.

Data output from this exercise:
Data 6: Infra, Development and Operations cost for next 3 years.


Step 6: Finals


Prerequisites: Data 5, Data 6

After all the hard work, this is easiest part

Take a deep breath and look at finalists and estimates and choose your winner.


Revisiting Problem statements and horror stories

  • Intimidating technology cloud.
  • Answer: You will agree, cloud is not so intimidating now
  • Which technology should I choose?
  • Answer: You know how mobile platform is chosen
  • Is my developer is biased and prejudiced towards ABC mobile platform? Can I rely on his judgement?
  • Answer: Data and numbers are key, prejudices don’t matter
  • John Doe who joined architecture team recently has told horror stories about XYZ mobile platform in his previous organization.
  • Answer:
    • Show John Data 1, Data 2, Data 3, Data 4, Data 5 and Data 6.
    • John will be convinced by your platform selection as you are showing him numbers and data. Everybody respects number crunching.
  • I have already burnt fingers with XYZ mobile platform. Can’t risk my job with another wrong decision.
  • Answer: This is tricky situation, Organization has lost faith in you and will ask a third party to vet out the platform selection. Be truthful and tell them you failed first time. Be patient and show them all data points and hope that decision makers are convinced
  • Company ABC is migrating its flagship app from Hybrid to Native as Hybrid platform was not scalable for their app.
  • Answer: Wrong platform selection is the biggest mistake mobile teams are doing worldwide, you now know how scientific data driven platform selection can be done.


Conclusion


Choosing a mobile development platform for organizations is not easy. It requires lots of serious number crunching and data evaluation. This methodology of tool selection has tangible outputs which can help IT teams understand all the facets of mobile projects:
  • Technology
  • Cost
  • Plan for three years
  • Peace of mind


Aftermath

9 months after you have chosen your mobile development platform, a brand new app idea or requirement has come which is not suitable for your chosen platform.
  • If new idea is good to have – scrap it
  • If new idea is must have – choose a different technology for this one app. Outsource development of app to third party. After development, minor support changes can be done by internal team with basic training. For big changes go back to third-party again.

4 comments:

  1. Mobile app Development is being an emerging and growing field and with a huge scope in the IT industry!

    ReplyDelete
  2. admirable post! I really like and appreciate your work, thank you for sharing such a useful information about strategic resourcing management strategies, keep updating the information, hear i prefer some more information about jobs for your career hr jobs in hyderabad .

    ReplyDelete
  3. Thanks for sharing such a great article. It has lot of useful information about mobile app development,
    keep sharing like this type of articles, thank you...

    ReplyDelete
  4. Nice information. Thanks for sharing. Maxwellglobalsoftware provide unlimited mobile application development services in india to build solutions that solve real-life problems. Maxwell global software is one of the best mobile application development company in india that started making Android, Windows and iOS apps. With capabilities of on-board business analysts and app usability analysis skills and with a team of native iOS & Android developers.

    ReplyDelete