Development Stage

 

VA assists development by supplying the resources and management support to develop a VA App. VA Resources include:

Note: If you have already developed the App, review these VA Planning Stage and Development stage processes, and make a Request. If approved, align your documentation to VA's required documentation and continue aligning your existing work with the required work.

Agile Methodology

For VA App development, VA subscribes to agile development methodology. VA has optimized the MAE JIRA project tracking system for agile development: Epics and stories, sprints and scrums. We define functional and nonfunctional requirements as JIRA issues, including generating all required documentation, adhering to compliance best practices, and passing all milestones. The MAE JIRA workflow aligns with the VA App project life cycle. Regardless of the methodology you follow to write the App code, when you upload your code to the MAE, VA manages its testing and release in an Agile-based project framework.

Development Workflow

The following workflow represents VA's Project Management Accountability System (PMAS) Mobile App development workflow, currently under development. If you have VA credentials your Project Manager can point you to the latest workflow draft. If you have VA credentials, you can view the latest workflow here:

http://vaww.oed.wss.va.gov/process/maps/propath_process_146.pdf

Hold a Kick-off Meeting

The Project Manager organizes a kick-off meeting with the development team stakeholders:

  • Business Owners
  • Subject Matter Experts
  • Project Manager
  • Scrum Master
  • Scrum team

In Agile terminology, the purpose of the kick-off meeting is to hold a kanban. At the meeting, define a roadmap and vision for the App:

  • Establish communication processes and tools used for all scrum team members.
  • Define its business objectives (Business Epics)
  • Define its architectural requirements and constraints (Architectural Epics)
  • Draft a high-level outline of three to six month deliverables.

Populate the MAE JIRA Project

To conform to VA requirements, the project team tracks every conceivable detail, including compliance requirements and documentation requirements, in the MAE JIRA system. However, the JIRA tool also supports agile development with the ability to document epics, features, user stories, acceptance criteria, risks, tasks, bugs, and more. At this point the team should review the use of the tool and build out the project's agile planning boards:

  1. Align the Business Requirements with epics, new features, and stories in the App's JIRA project and add them to the project Backlog.
  2. Devise unit tests for new features and stories.
  3. Add tasks to the JIRA Scrum Board.
  4. Identify any possible dependencies and link the task for the given top level task.
  5. Assign tasks to sprints.

Conduct Sprint 0

The development team conducts a Sprint 0 to test the system and to gather enough information to scope the App. The team again reviews the App's business requirements and reviews the design documentation for the VA Mobile Framework (VAMF: see About the Mobile App Environment and Services).

Conduct Sprint 0:

  1. Set up your MAE development environment.
  2. Install toolsets.
  3. Mock up a demo and present it to the stakeholders.
  4. Incorporate feedback from the demo into the project tasks.
  5. Identify any environment shortcomings that require modifying the MAE VAMF. If the team identifies required changes or additions to the VAMF, a change request should be initiated to ensure this dependency is identified and planned for early. The internal site, MAE Change Control Procedure provides the instructions for logging a change request. Changes to the VAMF require architectural reviews with internal and enterprise architects, so identify and pursue these requests as early as possible.

Scope the App

Based on the results of Sprint 0, revisit the App's deliverables. The initial business requirements document may contain a greater scope of functionality than is practically achievable in the App's planned schedule. (Or, there may be time to expand the App's functionality.) Adjust the plan to accommodate a reasonable set of deliverables that fits the App's overall schedule and obtain agreement to the scoped requirements from all project stakeholders. Adjust the backlog accordingly.

Develop the App

The development team conducts a series of agile sprints to develop the App. In each sprint:

  1. The developers code the sprint's targeted stories.
  2. Quality Assurance engineers run the unit tests.
  3. The team collaborates with the Compliance Review bodies to avoid potential issues.
  4. The team develops the documentation required by the Project Management Accountability System (PMAS). Your project's wiki comes with instructions and templates for these documents, which the VA refers to as PMAS artifacts.
  5. The team ensures the App works within the VA Mobile Framework (VAMF) architecture and MAE environments. If issues are found, a Change Request to the Mobile Application Management Team (MAMT) is submitted. See the MAE Change Control Procedure on the internal MAE network for guidance.
  6. At the conclusion of each sprint, the team holds a sprint review to demonstrate the App to the stakeholders and compliance reviewers.

Hand off to Verification and Validation (V&V)

When the development team completes its sprints and the stakeholders are satisfied with its functionality, the Project Manager notifies the Product Development office's V&V team that the App is ready to move into the next stage of the project life cycle. See Submitting an App for Verification and Validation for details.