Giter Site home page Giter Site logo

18f / cic-site Goto Github PK

View Code? Open in Web Editor NEW
1.0 14.0 7.0 31.59 MB

Cloud Information Center website

Home Page: https://federalist-proxy.app.cloud.gov/site/18f/cic-site/

License: Other

HTML 65.19% CSS 32.81% JavaScript 2.00%
cloud jekyll government procurement howto

cic-site's Introduction

What is this?

This repository organizes project activity for development and operation of the Cloud Information Center (CIC) site.

The CIC is a joint creation of the GSA's Technology Transformation Services (TTS) team and GSA's FAS Office of Information Technology Category (ITC).

GSA is a trusted partner for federal agencies seeking to buy goods and services. This creates an opportunity for GSA to help fellow agencies navigate early steps into cloud platforms and services, by providing guidance on how and where to get started. We're planning to a deliver a web-based prototype of a solution containing self-service information about cloud migration and acquisition options that is designed based on real user needs and which meets the stated business goals of ITC. The intent at this time is to create new content for gsa.gov informed by research into needs and goals of government agency cloud acquirers and industry cloud providers. This content will replace and improves on existing content currently on the GSA.gov site.

Where is the site?

The latest version is available at https://federalist-proxy.app.cloud.gov/site/18f/cic-site/

Previews for changes in progress are noted in the pull-requests where they're being proposed and discussed.

What's here

  • Version control for the Jekyll code for actually generating the site
  • Issues and stories related to development of the site
  • The backend content management system for the site, in the form of pull-requests on the code stored here.

What's elsewhere

  • Story Map (Mural.ly)
  • Mockups (InVision) - Links will be added when these resources exist
  • Richer text artifacts
    • User research (Google Drive, accessible only to the project team)
    • Presentations (Google Drive, accessible only to the project team)

How do I set up and run the site locally?

This is a Jekyll site. It is a simple prototype site to showcase the work of an organization with a few different page types.

This particular site is made for use with Federalist in mind.

This template uses the CSS and JavaScript from the U.S. Web Design System. To update the version of the system, download the code from the website. Unzip the download and drop the entire folder (which should be named something like uswds-1.1.0) into assets/vendor.

In your _config.yml, update the wds-version value to the new version number. This should match the version number in the name of the folder you just downloaded. In the case of our example, it would look like this: wds-version: 1.1.0. You'll need to restart your Jekyll server to see the new code take effect.

Things you'll want to have:

Fork this repo, and then clone to your local machine. Create a new branch for your changes:

~$ git clone https://github.com/18F/cic-site.git
~$ git checkout -b <your-branch-name>

When you have made your changes, you can test them locally using Jekyll. From the directory where you are working, simply type: jekyll serve. You should be able to view your changes at http://127.0.0.1:4000/.

Commit your changes and push to your forked repo:

~$ git commit -am 'My new changes!'
~$ git push origin <your-branch-name>

You can now submit a pull request to the 18F repo with your changes.

Things you'll want to have:

Fork this repo, and then clone to your local machine. Create a new branch for your changes:

~$ git clone https://github.com/18F/cic-site.git
~$ git checkout -b <your-branch-name>

When you have made your changes, you can test them locally using Jekyll. From the directory where you are working, simply type: jekyll serve. You should be able to view your changes at http://127.0.0.1:4000/.

Commit your changes and push to your forked repo:

~$ git commit -am 'My new changes!'
~$ git push origin <your-branch-name>

You can now submit a pull request to the 18F repo with your changes.

Templates

Page

Just a normal template that pulls in the global nav

Sidebar Page

Has a sidebar layout that pulls from the _data/navbar.yml for the relavant section. That section is specified with the page metada key of sidenav_ref: SITESECTION

Overview Page

Also includes the page sidbar basedo n the sidenav_ref key in the page meta data.

An overview page can also include option page cards. To add this you must include the link_cards key in the page metadata. A page can have as many cards as you would like.

For a card to be displayed it must be included as an yaml object item in the array. To do so please include the following. But please note that the link is optional:

link_cards:
  - 
    title: Item 1 Title
    summary: Summary of the item 1
    permalink: /item-1-link/
  - 
    title: Item 2 Title
    summary: Summary of the item 2
    permalink: /item-2-link/
  - 
    title: Item 3 without link
    summary: A summary of the third item that has no link

18F Open Source Policy

This repository contains the official Open Source Policy of 18F (a digital delivery team within the General Services Administration).

Read 18F's Open Source Policy.

18F Team Guidance

For 18F team members, we have guidance on how 18F puts this policy into practice, and how we handle the narrow situations where we may delay or withhold the release of source code.

18F's open source team practices.

Credits

This policy was originally forked from the Consumer Financial Protection Bureau's policy. Thanks also to @benbalter for his insights regarding CFPB's initial policy.

Public domain

This project is in the worldwide public domain. As stated in CONTRIBUTING:

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

cic-site's People

Contributors

abbeykos avatar acboland avatar dhcole avatar dyokum avatar hbillings avatar jdamis4xd avatar jeremiak avatar laurenancona avatar mogul avatar nahiggins avatar skonzem avatar wcongdon avatar wslack avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cic-site's Issues

In order to take advantage of existing GSA tools, point users to the best resources at the right time in their journey.

Notes

There is a landscape of GSA tools & resources created to help government technologists, program officers, and CIO/CTO shops make purchasing cloud products/services faster, easier, and more informational.

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • A list of tools has been identified for the first scope of integration
  • List consists of only GSA programs/tools (for the first round, so that we can quickly convene with their SMEs)
  • SMEs from those products have been identified
  • SMEs have been contacted for conversations with our team (see list of SMEs below)
    • FedRAMP
    • DCOI
    • USSM
    • OCIO
    • GSA IT Solutions Navigator
    • apps.gov
    • Acquisition gateway
  • We understand where these programs add value to a user's journey and reflect that in our content outlines

Definition of done

  • Acceptance criteria met
  • Code, design, or content reviewed by team members

Transfer institutional knowledge between CIC contractor team & 18F team

Based on work done on Jive site to date, 18F team needs to know:

  • What's been tried
  • What worked
  • What didn't work
  • Key features prioritized to date

Based on research done to date, Colin & Garrett need to know:

  • The synthesis of research findings from govt + industry

  • Hold a kickoff session between to team to introduce each other in more detail and walk through these topics

As a team member, I want to know where the site will live so that we can start building toward a production-ready environment

Notes

So that the team can begin integrating the site to the technical and design environment it will live within, we need to learn what the production URL will be and understand the technical steps to get there.

Tasks

Any specific steps or tasks we want to make sure to do

  • Setting up a meeting with GSA Kathryn Speevy(?)

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • A production URL has been identified & agreed upon by team & stakeholders
  • Follow-up issues have been created to identify technical and design steps to integrate the site to its new environment

Definition of done

  • Acceptance criteria met
  • Code, design, or content reviewed by team members
  • Tested with users (?)

As members of the product team, we need to be aligned on what the first release needs to achieve

So that we have a clear target of what's in scope for the first release, we should use the story map to define the core needs that should be met in order to create a minimum viable product, ready for public release.

Definition of done

  • The team agrees on the core features that support primary users' tasks from #26
  • Those features have been delineated in "Release 1" in the story map
  • The product owner and the team do an initial backlog prioritization to focus on what to build first

[research: 5 days] Collect (and identify missing) materials that target cloud buyers' jobs, pains and gains

In order to build a CIC that addresses the expected user's needs, we'll identify existing resources as well as missing assets that address user pain points and satisfy their need to follow successful precedents.

Acceptance Criteria

  • We have a list of the concrete needs we heard
  • We have a backlog of identified resources that address each need
  • We have a notion of the value vs effort to bring each resource forward

Implementation sketch

  • Schedule time with SMEs to identify pockets of existing materials
  • Cull through existing materials for the good parts/references
  • Make a list of what's missing relative to the user needs
  • Do some prioritization based on work vs value

In order to make the right decisions about cloud models, users need to understand the difference between service models (IaaS, PaaS, and SaaS).

Notes

Many sources of this information exist, but it's a foundational concept for acquiring & transforming cloud practices. We should help govt agencies understand these concepts in terms that make sense to them.

Tasks

Any specific steps or tasks we want to make sure to do

  • Synthesize notes from other sources into recommended descriptions
  • Understand where in the site flow people need to learn this information

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • Explanatory concepts exist for IaaS, PaaS, SaaS
  • Content has been incorporated into site wireframes

Definition of done

  • Acceptance criteria met
  • Code, design, or content reviewed by team members
  • Content placed in Basics page

Acq - Templates - RFP: As a program manager, I want an RFP template, so that I don't have to start from scratch every time

Notes

Shared templates allow government program managers to more quickly begin their acquisition process, and help vendors respond to more uniform requests.

Tasks

  • Define which examples are best in class, work with Skip
  • Turn examples into templates — 
  • Use what we learned in #48 to complete the following:
      • Higher design fidelity design decisions (icons)
      • Implement new document layout
      • Add asset capability for these documents (where do they even liiiive?)
      • Generate data type to allow for easier adding of new document

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • Template documents are defined and listed
  • Template exists as a downloadable document
  • Template allows users to edit & add their own content

Definition of done

  • Acceptance criteria met
  • Content reviewed by team members
  • Reviewed with subject matter expert

Acq - Templates - SOO: As a program manager, I want an SOO template, so that I don't have to start from scratch every time

Notes

Shared templates allow government program managers to more quickly begin their procurement process, and help vendors respond to more uniform requests.

Tasks

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • Collection of templates are available from a template landing page
  • SOO Documents are available from the demo site
  • Template exists as a downloadable document
  • Template allows users to edit & add their own content

Definition of done

  • Acceptance criteria met
  • Content reviewed by team members
  • Reviewed with subject matter expert

Build buy-in with senior cloud stakeholders at GSA

So that the team keeps senior cloud stakeholders in the loop for this project, we need to come up with and execute a plan that keeps GSA's Cloud Working Group informed and happy.

This task will be complete when we've:

  • Identified the right balance of involvement/forging ahead
  • Cleared this plan with Crystal
  • Had Crystal kick things off with the working group (as needed) in a meeting

Test site architecture to determine if it matches users mental model

As a site, a user will need to be able to successfully navigate across the site to learn about cloud tech identify cloud solutions/products available for their business need, and how to implement, so that their agency can successfully migrate to the cloud.

Notes

Need to test with wide switch of users to make sure you're representative of user base
Ideally 40-100 participants

Tasks

  • Refine sitemap
  • Create card sort exercise to determine users info hierarchy understanding
  • Define goal/realistic number of participants from each user group
  • Tree test the information hierarchy

Resources

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • Participant user groups identified & recruited
  • Feedback has been gathered from number of participants identified
  • Results synthesized & findings identified

Definition of done

  • Acceptance criteria met
  • Code, design, or content reviewed by team members
  • Tested with users

In order to test the method of organizing existing content, prototype the process based on one document.

In order to identify the most useful parts of the content we have (and need) for the first round,
separate documents down into constituent parts.

Demonstrate approach through one document as an example to create team-wide buy in for the approach, and to start informing the building blocks within the future IA. These building blocks will help us prepare to card sort an IA with users.

This task will be complete when we have:

  • Identified one area and created an example.
  • Skimmed, prioritized, and culled down content.
  • Demonstrated this work to the project team
  • Learned how long this process takes so we know what the return on the investment for doing more of it would be.

As a user of the site, I want to know why I'd use it, so that I can accomplish my goals most efficiently

As a member of the product team, I want to have a shared updated product vision, so that we all know what we're building toward and can prioritize the product backlog confidently

Notes
A refined product vision:

  • What is our unique value proposition/add for this product
  • What needs to be on this site vs what's other places
  • defining scope for first release

Steps to completion:

  • Use the research findings that we'll get this week from #26 + #27
  • Present at the 8/27 Monday demo — ask for follow up meeting in which we prioritize the findings

Acceptance criteria

  • An updated value proposition exists
  • We made a new issue to integrate the value proposition on the home page
  • We made a new issue for creating materials and talking points around the value proposition (for EBC / stakeholders up )

Define priority tasks for each user type

In order to understand what core features we should prioritize building (and make sure we're building the right thing), we need to understand and define what main tasks each user segment needs to accomplish through this site/tool.

We'll use these tasks in usability testing to validate the success of features as we build them.

This task will be complete when:

  • A list of personas or user types exists
  • Each persona has a minimum set of needs/tasks to accomplish
  • We've called out any gaps in our knowledge

Use a shared calendar for project meetings

In order to keep visibility of project activity high and involvement consistent, we want a shared calendar for the CIC project that canonically displays rituals that are on a cadence and who's expected to attend them.

ACs:

  • There's a shared calendar for the CIC project
  • "Accountable" people all have administrative access to the calendar
  • Sprint review, retro, and planning rituals are set up and recurring
  • Appropriate mailing aliases are used for managing the set of people invited

In order to make UX/content as user-centered possible, take advantage of industry user research

As a member of the product team, I want to take advantage of industry user research so that my UX/content is as user-centered as possible

Notes

Vendor partners are willing to share some of their user research insights on how they've optimized their layout/content for people learning about the cloud. We want to have a conversation with those vendors to see what they've learned works and doesn't work.

Tasks

  • Work with Colin to get a meeting on the calendar with some vendors
  • Synthesize notes from the call into learnings
  • Get access to any documentation, if relevant

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • Conversations have been had with vendors
  • We've synthesized what we've learned and made updates to our UX/content taxonomy as appropriate
  • We've communicated this work to our larger team of stakeholders to demonstrate industry coordination

Definition of done

  • Acceptance criteria met
  • Code, design, or content reviewed by team members
  • Tested with users

Wireframe Developments

Need to create a low fi prototype for Usability testing to help us identify user tasks and content needs for cloud products.

  • Create wireframe templates for content structure

  • Create a sitemap

Set up a story map for CIC roadmap management

In order build alignment with our stakeholders around the work being envisioned and prioritized to meet user needs, and track top-level thinking around that vision, we want to establish a dedicated space for maintaining a story map.

Acceptance Criteria

  • We've got a Mural space dedicated to the CIC project
  • We've got lightweight personas visible in the Mural (to help us remember who we're building for)
  • We've got a story map skeleton (even if skimpy) visible in the Mural
  • We've got links off of the Mural to delve further into materials generated/used in the process

Onboard Jennifer to CIC project

So that Jennifer can get up to speed with project context and contribute to the product vision, we should help her know where to start.

Important project documents & history:

Resources for cloud context:

Resources for GitHub

  • TTS Intro to GitHub Check out the links to Will Slack's GitHub for beginners course at the top.
  • How to use GitHub and the terminal: a guide, 18F blog. This one is more oriented toward folks who want to work in the terminal, but don't let that stop you, it sets up good intros to vocab and concepts that your engineering team members will be using.
  • Intro to version control (Stop reading when you hit "Meet Git" if you want — that's the programming language and you don't need to know it for our purposes)

Tools:

  • Mural.ly account
  • Sketch
  • InVision for prototyping
  • Zenhub / GitHub proper permissions
  • Jive

Establish path to find and talk to cloud procurement experts

In order to have a standing pool of experts we can talk to for insight and get feedback on the accuracy of any procurement-related material we produce, we want to identify procurement SMEs who are in a good position to provide authoritative feedback.

Acceptance Criteria

  • We have a list of people we can use for this purpose

Implementation notes/sketch

Set up mail aliases for use in calendar

In order to ensure continuity as the people involved in the project change, we want to use groups to represent the set of people who should attend recurring events.

ACs

  • There are appropriate Google Groups for the set of people who are running and attending meetings, populated with the people we know about based on our best guess from the RACI sheet.

Get access to GitHub for CIC team

So that the team can comment on issues & pick up tasks that match their skill sets, Colin, Garrett, and John should have access to the GitHub repo as project collaborators.

Steps to completion:

  • Create a GItHub team for collaborators
  • Team members create a GitHub account with their GSA emails and 2 Factor authentication enabled
  • 18F team secures correct repo permissions

As a government user, I want content that matches with my understanding of the mental model

Notes

Integrate card sort findings into content strategy
This will depend on the amount of feedback we get

———

Tasks

Any specific steps or tasks we want to make sure to do

  • x

Resources

  • y

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • z

Definition of done

  • Acceptance criteria met
  • Code, design, or content reviewed by team members
  • Tested with users

Set up analytics on CIC site

In order to understand how users are traversing the CIC site at each stage of its development, we want the site to log visitor info to Google Analytics.

Acceptance Criteria

  • There's a dedicated Google Analytics entry for the CIC site
  • Appropriate people on the project have access to the Google Analytics data
  • Visits to the CIC site show up in Google Analytics reports

This involves talking to the DAP folks to get an ID for this site/project, and then making sure it appears in the Federalist template in the right place.

Set strategy for moving from audit to writing

Prior to this issue

  • Need to finish grouping the content in #18 & #19
  • Finalized taxonomy from [other issue]

Based on usability testing results and planning (and prioritized story map), identify what content to begin writing sooner than later

As a govt user, I want to navigate site information in a way that fits my mental model of needed cloud information

In order to make the content easier to find through browsing, searching, and asking (which supports task completion), we should use what we learned in Sprint 1's round of testing to iterate on the navigation and taxonomy for the site.

Tasks

Any specific steps or tasks we want to make sure to do

  • Use wireframes from
  • Revise draft of content organization and labeling
  • Update site map
  • Prepare coded prototype for testing with users (likely an update to the dev prototype)

In order to flesh out the components of the site architecture, complete the first half of the content organization

Complete the process demonstrated in #17 with the total known documents (~20 of varying lengths) to get a first sense of the content components available. We'll break down this content work into two parts.

To complete the first part:

  • Cross reference the content list with Colin, CIC team to make sure we've identified the full list of content
  • Create a list of the documents that we need to get through
  • Create a list of subject areas to split content into
  • Outline the content building blocks through the process in #17

As a user of the site I want to be directed to other existing resources at the right part in my journey

Notes

[More detail on the user story]

Tasks

Any specific steps or tasks we want to make sure to do

  • Identify existing list for other cloud tools/resources
  • Identify SMEs for those resources

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • z

Definition of done

  • Acceptance criteria met
  • Code, design, or content reviewed by team members
  • Tested with users

Establish path to find and talk to CIC users

  • User research template
  • Email request to list
  • Go through research with industry to synthesize it
  • Check summary with member of BU

Acceptance Criteria

  • Email request has been sent to cloud working group
  • User research calls have been scheduled
  • Industry insights have been synthesized and sense checked by BU

Test & validate user needs and tasks by usability testing prototype on Federalist site

Use a prototype to understand and validate feature sets and interactions so that we have a more updated sense of priority features and tasks.

This task will be complete when we've:

  • Identify how many people in each user segment we want to usability test with
  • Create the interview/testing script
  • Usability tests have been scheduled
  • Usability tests have been conducted
  • Usability tests have been synthesized into findings that tell us what features are critical to MVP
  • Define how to update the team or read out what we've learned
  • Add links to script / prototypes / findings to this issue

Get a Federalist site+repo set up for CIC project

In order to organize project activity and manage content for the CIC site, we want a dedicated GitHub repository set up with an appropriate kanban board and Federalist previews.

ACs:

  • Public GitHub repository created
  • Kanban board configured and populated with known issues (tasks and stories) in ZenHub
  • Federalist site available and previewing content based on the same GitHub repository
  • Repository links prominently to external artifacts in the README.md: (Google Drive, Mural, Invision, etc.)

Set up accounts for site-wide search

Notes

We can start by using search.gov to set up a fast and free basic search. This issue is to set up the accounts needed, but does not include implementation on the front end.

User stories
As a site user, I want to be able to search across the site, so that I can quickly tell if this site contains info relevant to my needs

As a product team member, I want to be able to track user search analytics on the site so that I can better understand what people need.

Resources

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • We've identified a URL that will be searched & indexed
  • Search.gov account has been provisioned & set up for CIC project
  • Search is configured for indexing CIC site
  • A follow-up issue for implementing the front end has been created

Update Wireframes

Incorporate user feedback into next iteration of wireframes

Notes

[More detail on the user story]

Tasks

Any specific steps or tasks we want to make sure to do

  • Refine current wires to reflect feedback
  • Create new page templates

Acceptance criteria

Acceptance criteria define when a work item is complete and working as expected.

  • Wireframes (low fidelity) have been updated and reviewed by team
  • A static prototype exists and is transferred for development

Definition of done

  • Acceptance criteria met
  • Code, design, or content reviewed by team members

Home: Understand what types of things are available on the site

In order for users to know what they'll be able to accomplish on the site, we should use the homepage to help them understand what's possible.

Using the value proposition of the first release from #39 , update the design & content on the homepage

Based on our research to date, conversations with existing products in the landscape, and our release slicing, we believe that the first release of this product can deliver value to users in these two ways:

  • helping government users (specifically program managers) take advantage of existing GSA tools by pointing them to the best resources at the right time in their journey
  • helping industry vendors by enabling a better-educated cloud-buying business partner

Create RACI sheet

In order understand who our stakeholders are and keep them informed and involved at the right level of detail, we want to create a sheet identifying everyone who's involved and what level of involvement they should have in various ongoing activities and rituals.

ACs:

  • We have a Google Sheet in the CIC project directory for this purpose
  • The sheet has a matrix of people vs activities
  • Each cell shows whether the person is Responsible Accountable Consulted or Informed for that activity
  • It's easy to find the sheet for anyone interested in the project.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.