EIS-Modernization

How We Work

Principles

Our basic principles are those familiar to anybody who has contributed to a prominent open source project, or deployed code in a modern software environment.

Product Team

There is a cross functional product team for the Alaska DOH modernization project (ARIES) comprised of business, policy, security, procurement and technical specialists who are working together to move the entire enterprise forward towards its goals. In addition to this high level team, each of our procurements will be managed by a more immediate set of people who will be working with the product owner and product managers on the Alaska DOH product team to deliver on the prioritized backlog for that particular procurement. This product team will be comprised of the following roles

This team will participate in all scrum ceremonies in service of prioritizing, defining and delivering value to the department and the public it serves.

Meetings

There are two basic meeting rhythms: daily standups and agile sprint rituals. The sprint duration will be determined by the development team’s leadership in consideration of the work to be done, and the resources available. The duration of a sprint is typically two weeks, resulting in semi-weekly agile sprint rituals.

We hold regular, tight 15-minute standups, at a frequency decided by the team.

As each sprint ritual begins, we conduct backlog grooming (prioritizing work in the backlog) and sprint planning (define the work to be done over the next sprint). Each sprint ends with a sprint review (demonstrate work done, and accept or reject that work) and a sprint retro. In the sprint retro, we review how the sprint went as far as people, relationships, processes and tools, identifying what went well and ways that we can improve quality and effectiveness. These are all held back-to-back, on the same day.

All meetings are held via video teleconference. A telephone bridge is maintained as a backup method of connecting, but participants are encouraged strongly to join via desktop webcam.

Design Research

We recognize that the DPA field staff will be critical to helping us develop solutions that will deliver better service to Alaskans. In order to create an open and collaborative space for DPA staff to contribute, we will protect their privacy through the following:

Definition of Done

So that we can work more efficiently and be confident in the quality of the work we are delivering, we have a clear definition of what it means for a user story to be done, or production-ready.

Accepting Vendor Work

Acceptance of work happens through the sprint as work is completed. The procedure is as follows:

  1. Development team completes work - See “for for delivering a user story to the product team” in Definition of Done above
  2. Development team creates pull request to staging - See Pull Request Process
  3. The product team has verified the functionality against acceptance criteria in a deployed instance for a feature level pull request
  4. Code review takes place - See Code Review Process
  5. Pull request merged to staging DOH product team to accept the user story and ship it” in Definition of Done above, and Testing Strategy
  6. Product team creates pull request to master
  7. DOH product owner and network services deployment team merges pull request to master

Processes

Tech Strategy

We will move the programs currently in EIS off the mainframe within 5 years. This is a goal of the EIS modernization project. Strategies have been organized in themes. For more details about how we will do this work, see EIS Replacement Project Technical Strategy.

Testing Strategy

We practice testing at three levels: unit tests, integration tests, and feature tests.

For more information about how to create and maintain unit, integration and feature tests, see 18F’s “Automated Testing Playbook”.

Pull Request Process

Documented in our Git Branching Strategy.

Code Review Process

Documented in our Code Review Process.

DevSecOps

We rely on DevSecOps for automation and monitoring of code integration, testing, and deployment. Our DevSecOps pipeline is built atop Azure DevOps (not GitHub) for deployment to Azure. We practice continuous integration, continuous deployment, and continuous testing (including security testing). All new code has tests developed simultaneously, with cumulative test coverage of not less than 90%. See “Accepting Vendor Work” for more. For details, see our “Why DevSecOps?” document, in Github.

Tools