Mobile App Development Overview
Mobile App Development Overview adminThe U.S. Department of Veterans Affairs' VA Mobile App Store houses three types of apps:
- Apps built by the VA Office of Connected Care (OCC).
- VA-certified apps built by other VA groups.
- Third-party apps that VA specialists recommend.
The Developer Portal explains how Connected Care builds their apps, how they ensure those apps are safe, secure and useful. In the Developer Portal, prospective VA Mobile app developers can learn about the effort and the level of expertise it takes to deliver a VA-branded app. (See Development Stages and VA Mobile App Compliance Requirements for more information.)
Mobile App Development Overview
OCC, working closely with the VA Office of Information and Technology (OIT), has created the Mobile Applications Platform (MAP). Supporting MAP are OCC and OIT teams that own specific operations, from development operations, to reviewing the apps' compliance with all VA requirements, to brokering data to and from VA records, to support. Below are some key features of the MAP solution:
- Agile-based methodology
- Microservice Architecture
- Amazon Web Services (AWS) cloud
- Docker-Jenkins-Kubernetes containerized platform
- Highly automated Continuous Integration, Delivery, and Deployment (CI/CD) workflows
- Github code repository, Jira and Confluence project management
OCC App development teams must use only approved tech stack tools.
About CI/CD
VA Mobile app developers continually improve their apps, and MAP's Continuous Integration and Continuous Deployment (CI/CD) methodology approach allows them to efficiently release their improvements and still maintain required VA quality. Developers iteratively develop, deploy, test, and release app versions by automating key phases of the development lifecycle. Developers can continually improve an app in increments, so the development lifecycle is circular. The following diagram shows the CI/CD pipeline:
A VA-sponsored development team determines the requirements and obtains the needed approvals.
About the MAP Workflow
The MAP workflow is iterative and software may go through several pipeline cycles before the app is ready for Production. Below is a summary of the MAP steps:
- The app team submits an app's design and requirements for approval to OCC and OCC creates the appropriate MAP account credentials. (See Getting Started)
- The app team develops locally within a Docker and Kubernetes container environment. (See Local Mobile App Development.)
- The app deploys to the VA External Cloud Mobile Application Program (VAEC-MAP) Sandbox environment for testing. The Sandbox looks and acts like a VA environment but is not a part of it, so the app can be modified and tested without jeopardizing VA systems. Passing Sandbox testing automatically triggers deployment to Staging. (See MAP Sandbox Environment.)
- The app deploys to the Staging environment for testing. Staging provides a real integration environment that ensures the app functions in the Production environment. Developers can test code against the VA system, ensure compliance through Compliance Body reviews or Self-Certifications, and submit updated documentation to the MAP Verification and Validation (V&V) team for review. (See MAP Staging Environment.)
- The app is ready for deployment to Production and Field Testing (FT) after V&V findings are approved by OCC management. (See MAP Production Environment.)
- The app is ready for national release when the app's Business Owner provides final approval for release.
Development teams may continue to release new application versions with added functionality as illustrated in the above diagram.
Concepts and Principles
OCC adheres to development concepts related to automation, containerization and design principles. These concepts and more are described by the U.S. Digital Services team. Developers working on VA apps must be familiar with these principles. Below are some links to the guiding principles, behaviors, and processes:
- Open source technologies
- Agile/Scrum
- Building Twelve-Factor App
- DevOps
- The Agile Manifesto
- Project Management Institute (PMI) Project Management Body of Knowledge (PMBOK)
- The U.S. Digital Services Playbook
- The TechFAR Hub
- Lighthouse API Platform
Navigating the Developer Portal
The pages in the Developer Portal match the major development stages OCC apps follow to reach the VA App store. (See About the Map Workflow, above.)
To navigate to another section in the Developer Portal, select any menu item listed in the top navigation for Developers. You can also use the navigation links at the end of each section to move forward and backward between sections. Selecting the UP link takes you back to the Developer Portal Home page.
You can access printer-friendly versions of the Developer Portal pages by selecting the printer-friendly version link that is at the bottom of each page. For a printable version of the entire Development Portal, select the printer icon on the Developer Portal Home page below.