Firewise 2.0:

Bringing a paper process online with Drupal 8

+

Aron Anderson

Associate Project Manager - Wildfire Division, National Fire Protection Association and Project Manager for Firewise 2.0.

 

aanderson@nfpa.org

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Nick Switzer

Development director and Elevated Third and technical project lead for Firewise 2.0.

 

d.o/Twitter: @switzern

Firewise 2.0: Bringing a paper process online with Drupal 8

+

What is

Firewise USA

Since 2002, The Firewise USA™ program has empowered neighbors to work together in reducing their wildfire risk.

| What is the Firewise USA™ program?

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Recognition Program

  • Communities complete a five-step process:
    • Obtain a wildfire risk assessment.
    • Form a board or committee, and create an action plan.
    • Conduct a “Firewise Day” event.
    • Invest a minimum of $2 per capita in local Firewise actions.
    • Submit an application to your state Firewise Liaison.
  • Communities must renew every year.

| What is the Firewise USA™ program?

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Approval Process

  • Work is done at the local level.
  • New applications are submitted to the state for review and approval.

| What is the Firewise USA™ program?

Firewise 2.0: Bringing a paper process online with Drupal 8

  • State approved applications are forward to NFPA for final approval and onboarding.

+

Moving the process online with Drupal 8

Firewise Online

| Moving the process online with Drupal 8

Old process:

PDF documents

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Firewise Online

| Moving the process online with Drupal 8

New process:

Drupal 8.

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Deciding on Drupal

  • We were completely open to any technology and all proposals.
  • Our priorities were:
    • Cost effectiveness.
    • Flexibility in the product we chose.
    • Developer's UX experience with our target audiences in mind.

| Moving the process online with Drupal 8

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Organizational Hurdles

  • No in-house developers and no in-house IT Drupal support.
  • Moving away from existing contracts.
  • Convincing Leadership - NFPA has never used Drupal.

| Moving the process online with Drupal 8

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Going From an Idea to an RFP

  • Re-evaluated the program and created a Firewise life cycle.
  • Research and outreach with key stakeholders.
  • Developed a Functional Requirements Document (FRD) which lead to the RFP.
  • Long process: Nearly two years from starting Firewise 2.0 to selecting a developer.

| Moving the process online with Drupal 8

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Questions? 

Comments?

Designing Firewise 2.0

Discovery

  • Initial discovery meeting lasted two days.

  • Elevated Third team and all Firewise stakeholders participated.

  • Covered everything from low-level requirements and task priority to big ideas about how to make the process better.

| Designing Firewise 2.0

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Initial UX

Elevated Third team combined all of the notes from discovery and spent an afternoon doing a card sort.

| Designing Firewise 2.0

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Personas

  • You can't write user stories if you don't know who your users are.
  • Three main user personas were defined, which turned into five Drupal roles.

| Designing Firewise 2.0

Firewise 2.0: Bringing a paper process online with Drupal 8

+

User Stories, Wires and Flows

  • User stories we were written based on features and needs of personas.
  • User flows for each role were produced to be sure we didn't miss any steps of the process.
  • Production of low-fidelity wireframes began to flesh out how the process might feel.

| Designing Firewise 2.0

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Site Architecture and Estimation

  • Content types, entities, users and roles started to take shape based on wires and flows.
  • Implementation estimate, based on user stories, wires and flows.

| Designing Firewise 2.0

Firewise 2.0: Bringing a paper process online with Drupal 8

+

The Blueprint

The final discovery deliverable brings together the vision. This document combines all deliverables, in addition to a full feature list and build estimate.

| Designing Firewise 2.0

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Implementation

Agile Mentality

  • The team chose to continue the collaborative process from discovery.
  • Dev and design worked together in sprints to quickly produce working features.

| Implementation

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Sprint Planning

Initial sprint planning involved the whole team, product owner included, to determine the plan and priorities for the duration of implementation.

| Implementation

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Sprint Structure

  • Two week sprints.
  • Three 15-minute standups/week, one of which is a progress review.
  • Progress and new features demoed live with the product owner at the end of each sprint.

| Implementation

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Implementation must-haves

  • Focused, organized meetings
  • Clear, honest communication
  • The right ratio of tools and docs to shared understanding.
  • An eye for the details without losing site of the big picture.

| Implementation

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Drupal 8 Workflow

Version Control

  • During development, master branch was deployed to dev, with tagged releases on staging for review.
  • Individual features built on feature branches and merged to master when complete.

| Drupal 8 Workflow

Firewise 2.0: Bringing a paper process online with Drupal 8

+

CMI

  • All configuration managed through CMI.
  • Used Config Read-Only to prevent changes on remote environments.

| Drupal 8 Workflow

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Composer

  • All Drupal packages and dependencies managed with Composer.
  • Simplifies dependency and patch management.
  • Built on top of internal starter kit that uses the Drupal Composer project as a base.

| Drupal 8 Workflow

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Release Cycle

  • Post-launch, the team has adopted a release cycle to create organized, predictable updates to the live site.
  • Three types of release: hotfix, maintenance and feature.
  • Helps keep the team on the same page regarding expectations around deadlines for feature builds, QA and approvals.

| Drupal 8 Workflow

Firewise 2.0: Bringing a paper process online with Drupal 8

+

QA &

Functional Testing

Test Plan

  • Test plan developed based on user stories - all testers used the same document.
  • People unfamiliar with the project were assigned roles and used the test plan to complete stories and file bugs.

| QA & Functional Testing

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Reporting Bugs

  • Asana used for task management and bug tracking.
  • Bugs reported by both the Elevated Third and Firewise teams the same way.
  • Reported bugs prioritized in standups.

Image Credit: kaet44 on Flickr

| QA & Functional Testing

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Releasing Fixes

  • Fixes released daily and tagged based on the release date.
  • Updates released to a dedicated testing environment.

| QA & Functional Testing

Firewise 2.0: Bringing a paper process online with Drupal 8

+

QA Key Takeaways

  • All testers need to work from the same test plan.
  • Bugs should be reported and managed the same way across all teams (agency and product owner).
  • Releasing fixes on a predictable schedule in a dedicated testing environment is key to reducing confusion.

| QA & Functional Testing

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Launch

Phased Rollout

  • Closed beta style launch.
  • Lots of testing and review in production environment before new system was rolled out to the general public.
  • Some features needed to be in production to be fully tested (SSO).
  • May not work for every scenario, but we had the luxury of this being a brand new site.

| Launch

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Training & Documentation

Admin Training

Product owner and Firewise team learned the system gradually through sprint reviews, with one larger training after the end of the final development sprint.

| Training & Documentation

Firewise 2.0: Bringing a paper process online with Drupal 8

+

PDF Manuals

  • PDF training documents targeted at specific user roles were produced and distributed.
  • Documents created for users familiar with the program and brand new users.

| Training & Documentation

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Video Tutorials

  • Make the app as easy to use as possible.
  • Screencasts providing detailed walkthroughs of key user flows put together and made publicly available.

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Lessons Learned

Assume Nothing

All projects float on a sea of uncertainty, so try to limit that uncertainty by identifying all assumptions as early as you can.

|Lessons Learned

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Plan for Contingencies

Things will come up that you just didn't plan for, so have a plan for unexpected contingencies.

|Lessons Learned

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Track Everything

Manage team expectations by tracking everything. Meticulous documentation of every decision and outcome will help keep your team on the same page and help to avoid things like scope creep.

|Lessons Learned

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Straight Talk

Clear communication and honesty will always benefit the project. Even when the news hurts a little, don't pull punches. Dig in and find a solution as a team.

|Lessons Learned

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Environment Parity

Push to make your dev, stage and production environments as similar as possible. Software stack is important, but don't forget things like users, SSL certificates, migration data and files.

|Lessons Learned

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Staying on Budget is a Team Effort

Project budget and burn rate are two things everyone involved in the project should know and hear about multiple times a week. When the team is aware of the time allocated to solve a problem, it helps narrow the possible solutions.

Firewise 2.0: Bringing a paper process online with Drupal 8

+

Thank You!

Questions? Comments?

+

DCCO17: Firewise Case Study

By Nick Switzer

DCCO17: Firewise Case Study

  • 773