To start thinking optimization in buiding, deploying & maintainting enterprise mobile apps, I would take a deep dive into what goes on today to build, deploy and maintain mobile apps.
Any business app requirement in a given enterprise is a mix of:
- Business requirements
- LOB/Business or functional owner will be the owner of this requirement
- He will guide functional requirements
- He will be the sponsor of the app
- He will be the biggest benefeciary of the success of the initiative
- IT Requirements
- CIO team will be the owner of this requirement
- CIO team will drive requirements on standards to connect to your backend systems, authentication, etc
- Compliance requirements
- All requirements pertaining to organisation standards will be driven by the compliance team
- Adherence to standards, performing tests like pen tests and guiding the app requirements to include ncessary compliances
- Security requirements
- requirements like encryption formats of data in transit, data at rest
- requirements on protocols to connect with enterprise systems
Picture above indicates that baring the functional needs of the app, major other requirements overlap across multiple apps.
Every enterprise app has 3 building blocks:
- Data intergation
- IT/Security and compliance
Below picture is our analysis of distribution of effort around each building block.
To understand our hypothesis on effort distribution, I attempt to walk you through an example.
Business requirement: Build leave management for your employees
Let's consider a trivial feature like user authentication and break down the requirement:
* Single sign on (SSO) connected to its user management
* User management with analytics
* Ability to allow multi devices per user
* Ability to disable a particular user device, if reported lost
The above requirement however trivial it sounds, fits into high engineering category and would demand good amount of efforts spent by quality engineers to get it running in a given enterprise.
Let us consider a business critical requirement like say - employee should be able to apply for a leave
* Front end of the app must be built as per the Ui/UX
* Pull data using appropriate APIs on the screen
* Build navigations
The above requirement, though as business critical it is, from an engineering perspective isnt much challenging. Let us call this a business requirement. The business requirements would need more efforts in building Ui/UX and frontend of the app, some engineering around integrating the API's. Given the complexity isn't much, this can be produced in no time.
Example above attempts to differentiate between business features vs others. On a closing note, business requirements of the app would majorly consume efforts at Ui/UX and integration layer, while the IT, security and complaince fall into core engineering layer.
A good understanding of the above process can lead you to optimizing building mobile apps. We at DronaHQ have built 100's of mobile apps for customers and that leads us to build a mobile platform targeting the core engineering layer of the mobile app. DronaHQ packages engineering layer as a prebuilt app across IOS, Android and Windows devices. To understand DronaHQ mCaaS in detail, click here.
To think optimization in building apps, DronaHQ takes an approach of decoupling business requirements from the rest of the requirements. It bundles the IT, compliance and security requirement into a platform. This helps an enterprise to standardize and maintain a common infrastructure for all business apps. DronaHQ works to make this infrastructure optimized for efficiency.
DronaHQ's approach lets you:
- build apps rapidly
- deploy them rapidly
- cut down dev ops
Need to know more? Get in touch or drop in your comments!