Enterprise Class Mobile Application Development: A Complete Lifecycle Approach for Producing Mobile Apps, 1st edition

Published by IBM Press (November 22, 2015) © 2016

  • Leigh Williamson
  • Roland Barcia
  • Omkar Chandgadkar
  • Ashish Mathur
  • Soma Ray
  • Darrell Schrag
  • Roger Snook
  • Jianjun Zhang
Products list

Details

  • A print text

This product is expected to ship within 3-6 business days for US and 5-10 business days for Canadian customers.

This book introduces a comprehensive approach for team development of mobile business apps, combining best practices for collaborative software lifecycle management with newer requirements unique to the mobile space. Authored by a team of IBM experts responsible for delivering the cutting-edge IBM Mobile Enterprise product offerings, it has been designed to provide value for every participant in the mobile enterprise app development project. This book will help students to build robust enterprise applications that securely leverage existing enterprise services and data sources. It shows how to develop robust cross-platform mobile apps that support students, no matter what devices they choose.

Preface      xvii
Acknowledgments      xxi
About the Author      xxiii
Chapter 1: Mobile: The New Generation of Information Technology      1

Why Businesses Are Adopting Mobile Applications      1
Driving Business Process Innovation      1
A Formula for Designing Engaging Systems      2
Unique Challenges for Development of Engaging Applications      4
Form Factors and User Input Technology      4
Usability and User Interaction Design      4
Choice of Implementation Technology      5
Mobile Application Build and Delivery      6
Testing      7
Enterprise Mobile Development      7
Summary      8
Chapter 2: Mobile Development Lifecycle Overview      9
Introduction      9
DevOps and Enterprise Mobile Development Lifecycle Overview      11
A DevOps Approach Is Core to Delivering Client Value      11
One Essential View of DevOps: The Mobile Developer Perspective      12
Sprint 1: “Hello World”--Initial Operating Capability and Prototype      13
Design--The Big Picture      14
Integrate: Enterprise Services and Data      17
Test: Manual Testing Is Better than No Testing      18
Test: Simulate/Preview      18
Sprint 2: “Hello DevOps!”--Improve Developer Productivity      19
Develop: Productivity with Wizards and Mobile Platform Portability      19
Instrument: Quality Assurance and Testing “In the Wild”      19
Test: Code-Centric and Unit Testing      20
Deploy: Automate Your Deployment Pipeline      21
Sprint 3: “Software Delivery Is a Team Sport!”      23
Develop: Agile Planning      23
Develop: Work Items (Defects, Enhancement Requests)      23
Develop: Application Lifecycle Management (ALM) Imperatives      24
Test: Improving Manual, Automating User Interface Tests, and Test Data Management      26
Sprint 4: “Ruggedized for the AppStore”      27
Test: “FURPS” and Virtualization      27
Scan and Certify      28
Obtain Insight: Application Quality Feedback and Analytics      28
Sprint 5: “Optimizing Enterprise DevOps”      29
Integrate: Enterprise Developer Integration      29
Instrument and Obtain Insight: Customer Experience (CX) and Campaign Management      31
Obtain (AppStore) Insight: Mobile Quality Assurance      32
Manage: Application Versions, Updates, and More!      33
Summary      35
Chapter 3: Design Quality Is Crucial, Make the Investment Up-Front      37
Overview      37
Why Is Design Important?      37
Scope of Design in Mobile App Development      37
Design Research      38
Information Architecture      38
Interaction Design      38
Visual Design      38
Overarching Design Principles and Guidelines      39
Discover, Try, and Buy      39
Get Started      39
Everyday Use      40
Manage and Upgrade      42
Leverage and Extend      42
Get Support      42
Designing for Enterprise Mobile      42
Designing the IBM Way      42
Core Practices      43
Some Design Methods      45
Understand      45
Explore      46
Prototype      50
Evaluate      53
Summary      54
Chapter 4: Mobile Application Development      55
The Mobile App      55
Factors for Choosing      56
How Should I Build Applications?      58
The Case for Cloud      58
Mobile App Architectural Components      61
Mobile Device Components      61
Public Network Components      63
Provider Cloud Service Components      63
Enterprise Network Components      68
Complete Picture      68
Mobile App Flow      68
Mobile App Deployment Considerations      71
Summary      74
Chapter 5: Mobile Enterprise--Beyond the Mobile End-Point      75
Building Mobile Apps Powered by Enterprise Backend      75
Connecting the Mobile App with Enterprise IT Services and Data      76
Types of IT Backends to Integrate from Mobile Apps      78
Type of API Protocols      80
Security Integration      81
IBM DataPower XG45 Security Gateway      84
Mobile Devices Security Considerations      86
Loss and Theft      87
Malware      89
Phishing      90
Understanding the Worklight Security Integration Framework      90
Secured Data Store and Synchronization      92
Enterprise Mobile Application Management and Device Management      92
Special Challenges in Managing Mobile Applications and Devices      93
Example Product: IBM MaaS360      94
Architectural Choices for Secured Enterprise Connectivity      95
Summary      98
Chapter 6: A Comprehensive Approach to Testing of Mobile Applications      99
Why Is Quality Essential?      99
When Should Quality Be in Focus?      100
What Is the Cost of Quality?      100
Automated versus Manual Testing     100
Preproduction versus Postrelease     101
Automated Mobile App Testing Considerations     103
Test Devices     103
Emulators and Simulators     103
Device Clouds     103
Crowd-Sourced Testing     104
Using Service Virtualization to Isolate Mobile Code     105
Mobile Test Automation Techniques     105
Mobile App Programmatic Instrumentation     105
Random Generated Mobile Tests     106
Image Recognition Automated Mobile Tests     107
Making Manual Testing More Effective     107
Crash Data Capture and Analysis     108
Performance Testing     109
Load and Stress Performance Testing     109
Mobile Client Resource Metrics     109
User Sentiment as a Measure of Quality     110
Summary     111
Chapter 7: Best Practices of Mobile DevOps     113
What Is DevOps?      113
Some Definitions     113
The IBM DevOps Solution     115
Plan and Measure     115
Develop and Test     116
Release and Deploy     116
Monitor and Optimize     116
DevOps Best Practices     116
Plan and Track Everything     116
Dashboard Everything     117
Version Everything     117
Automate Everything     118
Test Everything     118
Monitor Everything     118
Mobile DevOps Challenges     119
Fragmented Platforms     119
Mobile Applications Front a Complex Enterprise Back Office     119
App Stores Add Additional Asynchronous Deployment Step     121
Security, Code Signing, and Keystores     121
Testing     121
Mobile DevOps Best Practices     121
Practice Continuous Integration/Delivery and Automate Builds and Deployments     121
Test Each Build     122
Simulate Backend Services to Expand Testing Environment Availability     123
Monitor Deployed Application and Backend Server Performance     124
Centralize Governance of Provisioning Profiles, Certificates, and API Keys     126
Use a Private App Store to Test Deployment Devices     126
Convert Real User Feedback to Enhancement     126
Summary     127
Chapter 8: Conclusions and Further Readings     129
Conclusions     129
Further Readings     130
Chapter 2: Development Lifecycle     130
Chapter 3: Design Related     131
Chapter 4: Mobile Development     131
Chapter 5: Mobile Server     132
Chapter 6: Mobile Quality     132
Chapter 7: Mobile DevOps     133
Index     135

Need help? Get in touch