natc 2013 - mobility solutions - an engineering perspective by souvanik sarkar, cto, interrait
DESCRIPTION
NASSCOM Annual Technology Conference 2013 - Mobility Solutions - An Engineering perspective by Souvanik Sarkar, CTO, InterraITTRANSCRIPT
Mobility Solutions – An Engineering Perspective
Souvanik Sarkar
NASSCOM Annual Technology Conference 2013
Mobile application development is an exciting, sexy and challenging landscape.
NASSCOM Annual Technology Conference 20132
NASSCOM Annual Technology Conference 20133
iPhone
C#
I will be sharing some of our experiences in bringing order, and thereby revenue, to the chaos.
NASSCOM Annual Technology Conference 20134
Defining the boundaries
• Enterprise Mobile application An application on a mobile platform that requires periodic (frequent?) connectivity with an enterprise application in the data center to do its job.
• CustomerThe company contracting services from an IT service provider to develop applications for its customers.
NASSCOM Annual Technology Conference 20135
Mobile App Scenario #1
• Customer is a US $3B+ enterprise
• Required a mobile application on Android and iPhone for directly connecting with end-customers of their product‒ This would be their first mobile application for end-customers
• Key challenges during development‒ Freezing on the detailed requirements did not happen till very late in the
development cycle‒ Freezing on the User Experience and look-and-feel took much too long‒ Connectivity with their enterprise applications in the data center required an
enormous amount of heartburn‒ Deployment of the middleware on the datacenter required deploy-test-redeploy
cycles
NASSCOM Annual Technology Conference 20136
Mobile App Scenario #2
• Customer is a US $5B+ enterprise automobile manufacturer
• Required a browser application on the iPad for their dealers that would assist in the sales process‒ This would be their first browser application for dealers
• Key challenges during development‒ Freezing on the User Experience and look-and-feel took much too long‒ Freezing on the detailed requirements did not happen till very late in the
development cycle‒ Browser compatibility issues between Safari and IE on the desktop‒ Sizing of servers incorrect – production cut-over resulted in very long
response times
NASSCOM Annual Technology Conference 20137
Mobile App Scenario #3
• Customer is a US $40B+ enterprise, manufacturing consumer products
• Required a mobile application on Android and Windows for their field service to directly access customers and product information
• Key challenges during development‒ Freezing on the detailed requirements took a long time
‒ Freezing on the User Experience and look-and-feel took much too long
‒ Connectivity with their enterprise applications required a lot of time; no request for changes at the server application were entertained
‒ Development and UAT environments were not in sync
NASSCOM Annual Technology Conference 20138
Key Challenges faced
• Freezing Requirements
• Managing customer expectations of the mobile application‒ Time to development
‒ User interface
‒ Features in the initial version of the application
• User Experience‒ Quality of UI design
‒ Number of clicks to achieve task
‒ Number of pages to navigate to reach desired information
NASSCOM Annual Technology Conference 20139
Key Challenges faced …2
• Testing‒ Done manually – too much effort to automate, not enough payback
‒ All features not tested – short-cuts when trying to meet a delayed milestone
‒ Connectivity with the enterprise application always an issues – did it return the data
• Architecture‒ Additional features sometimes required rework of design
• Deployment‒ Keeping Development, Test and UAT environments in sync almost never
happened‒ Production environment is never under our control
NASSCOM Annual Technology Conference 201310
Lessons Learned
• User Experience and UI design‒ Has the most impact on the engineering of a new mobile application
‒ Budget sufficient time for this phase, and then some
‒ Separate look-and-feel from function – use wireframes for sign-off
‒ Plan for offline mode in native apps – this is a key user experience item
NASSCOM Annual Technology Conference 201311
Lessons Learned …2
• Requirements‒ Write Requirements down
‒ Separate Business Requirements from Technical Requirements
‒ Define use cases as much as possible, but don’t let it drag you down
NASSCOM Annual Technology Conference 201312
Lessons Learned …3
• Architecture‒ Spend time on architecture – it will payback during scope creep (with or
without change requests!!)
‒ Use OS framework for screen management as much as possible, rather than writing custom code
NASSCOM Annual Technology Conference 201313
Lessons Learned …4
• Testing‒ Create unit tests using JUnit or NUnit
‒ Create a small application to test connectivity with the enterprise application
‒ Always test the main use cases and business requirements
‒ Have manual testers comment on navigation and user experience
NASSCOM Annual Technology Conference 201314
Lessons Learned …5
• Deployment‒ Have multiple releases – customers like to play with mobile apps
‒ Plan for deployment early on in the development cycle
‒ Have a test deployment in the middle of the development, and repeat it if all the key issues are not sorted out
‒ Plan for approaches to App Store discovery
NASSCOM Annual Technology Conference 201315
Lessons Learned …6
• Application version control‒ Ensure that the application has strict numbering, linked to source code
versions
• Team composition‒ Have a mix of people in the core team –
UI, architecture, testing, deployment, enterprise connectivity
NASSCOM Annual Technology Conference 201316
Lessons Learned …7
• Manage Customer Expectations‒ Have regular and frequent discussions with the customer about the progress
of the development
‒ Keep providing the customer with deliverables – wire-frames, look & feel, initial build of the app with no functionality, limited functionality, initial connectivity to enterprise application
‒ Continually relate features with business requirements
NASSCOM Annual Technology Conference 201317
Mobile Application Development Cycle
NASSCOM Annual Technology Conference 2013
Business Requirements
Design Develop Test Release
User Interface Requirements
UI Wireframe
Graphics
1 2 3 4 5
18
Developing enterprise mobile applications is a very creative and satisfying venture.
It has its own challenges that are unique, and inherent to this landscape in software development.
Successfully navigating through this landscape requires a focus on engineering, at least as much as on creativity.
NASSCOM Annual Technology Conference 201319
Thank You
NASSCOM Annual Technology Conference 2013