Skip to content
This repository has been archived by the owner on Aug 17, 2018. It is now read-only.
Kara Reinsel edited this page Jan 26, 2018 · 31 revisions

Overview

This repo describes the final phase of the migration of FEC.gov from the 18F to the FEC team. It is intended to be a place where project participants can keep track of the overall migration project goals, training roadmap, milestones and and post-project support. It is also intended to be a project “home page” where members can access important and up to date project information.

Vision

With the redesign of FEC.gov complete, the 18F and FEC teams are now focusing on the final phase of the project - migration. There are two priorities.

  • Priority 1 - transfer the knowledge, expertise and skills necessary to successfully own, manage and continue to grow FEC.gov moving forward from 18F to FEC. The focus is on mission critical skills to set-up the FEC team for success post-hand off.
  • Priority 2 - calibrate the training to align with FEC team’s bandwidth. The FEC team is not fully allocated to the website - they split their time between website and non-website responsibilities. In addition, many of them volunteered to work on the FEC.gov project because they were interested in the work. Therefore, we want to use training time wisely and efficiently to maximize success and minimize undue burden on the FEC team members.

Goals

The FEC has the skills and expertise to continue user-focused, agile product delivery going forward, after 18F leaves.

Training Roadmap

The FEC team has made great strides in deepening their proficiency and experience in all functions - engineering, design, content and product. The training roadmap focuses on solidifying foundational knowledge, addressing skills gaps and highlighting additional training resources. Pairing/coaching will be the preferred method of training for mission-critical knowledge and skills gap training.

In addition, the FEC will hire 1 senior/experienced Python developer and 1 senior/experienced JavaScript developer per 18F’s recommendation. These positions will be brought on-board as quickly as possible so that their time overlaps with 18F’s. The on-boarding will be led by FEC (with support and coaching from 18F) and the addition of these developers will strengthen the FEC team.

Engineering

Training is focused on Python, Javascript, SQL, Git and GitHub and Cloud.gov because they are considered foundational and critical to success. 18F recommends these five because they will equip any engineer to learn additional languages, find appropriate resources and be set to grow their skills.

Back-end

Python

  • Flask web framework
  • Django web framework
  • Wagtail CMS
  • SQLAlchemy ORM
  • Celery framework

Front-end

  • JavaScript
  • How to manage the pattern library and add/edit/remove components, along with updating style dependencies from fec-cms
  • Differences between Django templates and Jinja templates, along with configuration and base template location hierarchy

Database/Back-end

  • SQL
  • PostgreSQL

Source Control

DevOps

  • Cloud.gov - deploying apps, updating services and credentials

Content

Style guide

  • Copyediting based on the guide
  • Managing the guide

Collaborating with designers

  • Generating new ways of presenting information visually
  • Working content into a usability testing plan
  • Identifying work that requires collaboration/support from other designers and planning requests accordingly

Managing work progress

  • Defining and scoping work to demonstrate regular progress throughout a sprint
  • Capturing timely review from colleagues
  • Managing stakeholders

Design

User research

  • Designing various research activities to uncover user needs or motivations that will lead to data-informed avenues for recommendations
  • Able to cite various methods and determine which are appropriate for needs
  • Able to conduct/perform/facilitate various research or design methods
  • Able to synthesize data gathered from research in order to identify common themes
  • Integrating research and usability findings into regular sprint activities for consistent iteration

Information architecture

  • Organizing, labeling, and designing navigation

Interaction design

  • Using technology, communications, and visual design to create highly usable behaviors and features
  • Creating wireframes and user interface prototypes to test concepts before they’re built by developers
  • Understanding and applying best practices for interface design patterns
  • Designing responsive layouts and interactions

Design systems

  • Building, using, and maintaining style and pattern systems
  • Recognizing component and pattern architecture
  • Applying/translating existing components and styles to new designs

Facilitating design feedback

  • Managing stakeholder vs user needs
  • Facilitating constructive conversations around a design solution with the greater team

Collaborating with content designers

  • Using content models to design flexible, reusable templates
  • Identifying opportunities for UX writing and targeted microcopy

Collaborating with front end developers

  • Communicating/discussing interactions, behaviors, and functionality of intended designs
  • Helping define MVP stages of design to implement in an agile, iterative way
  • Balancing technical complexity with usability and intuitive functionality
  • Pairing to ensure designs are understood and implemented as intended
  • Determine when and if new design patterns are necessary

Product

  • Maintaining and iterating on product vision, strategy and roadmap
  • Develop and maintain a communication strategy supporting product goals
  • Managing the product backlog
  • Preparing for ceremonies - sprint planning, sprint retros, demo’s and PI planning
  • Prioritizing features, bugs, epics
  • Working within the timebox - ensuring that work gets done within the sprint

Account Migration

18F will transfer the following accounts to FEC.

Cloud.gov - transfer complete

AWS

GitHub

CircleCI

New Relic

Post-Migration Support

Although the 18F-FEC project officially wraps up on March 31, 2018, there is a need to provide engineering and product support to the FEC team post-migration.

The purpose of the support agreement is twofold - provide “phone a friend” engineering support to the FEC dev team for when they need additional expertise to solve a problem and provide coaching/pairing to the FEC product team.

The support agreement is not intended for 18F team members to lead development work; rather FEC will lead all work and consult with 18F when they need assistance. The support agreement can also be used to support the FEC team while they onboard the senior/experienced Python and JavaScript developers.

Phase 1 (April - June 2018)

Engineering

  • Two 18F developers
  • Capacity - full-time
  • Phone a friend support

Product

  • One 18F Product Manager
  • Capacity - 2 hours/week
  • Coaching/weekly product sync

Phase 2 (July - September 2018)

Engineering

  • Two 18F developers
  • Capacity - part-time
  • Phone a friend support