├── .circleci └── config.yml ├── .gitignore ├── .jekyll-metadata ├── .ruby-version ├── CONTRIBUTING.md ├── Gemfile ├── Gemfile.lock ├── LICENSE.md ├── README.md ├── _config.yml ├── _includes └── solicitation.html ├── _pages ├── awardees.md ├── contact-18f.md ├── index.md ├── ordering-guide.md ├── orders.md ├── working-with-us.md └── working-with-us │ ├── agency-partners.md │ ├── industry-partners.md │ └── our-project-team.md ├── assets └── css │ └── styles.scss ├── data ├── orders.yml └── vendors.yml ├── go ├── images ├── description.png ├── federalist-add-repository.png ├── federalist-add-website.png ├── federalist-custom-config.png └── gh-add-guide.png └── test.sh /.circleci/config.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | jobs: 3 | build: 4 | docker: 5 | - image: circleci/node:6 6 | steps: 7 | - checkout 8 | - run: npm install js-yaml 9 | - run: sh test.sh 10 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _site/ 2 | .sass-cache/ 3 | .DS_store 4 | .*.swp 5 | -------------------------------------------------------------------------------- /.jekyll-metadata: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/ads-bpa/e92fd50019b83d65396cf347c48e5fd9a7fcb81c/.jekyll-metadata -------------------------------------------------------------------------------- /.ruby-version: -------------------------------------------------------------------------------- 1 | 2.3.1 2 | -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | ## Welcome! 2 | 3 | We're so glad you're thinking about contributing to an 18F open source project! If you're unsure about anything, just ask -- or submit the issue or pull request anyway. The worst that can happen is you'll be politely asked to change something. We love all friendly contributions. 4 | 5 | We want to ensure a welcoming environment for all of our projects. Our staff follow the [18F Code of Conduct](https://github.com/18F/code-of-conduct/blob/master/code-of-conduct.md) and all contributors should do the same. 6 | 7 | We encourage you to read this project's CONTRIBUTING policy (you are here), its [LICENSE](LICENSE.md), and its [README](README.md). 8 | 9 | If you have any questions or want to read more, check out the [18F Open Source Policy GitHub repository]( https://github.com/18f/open-source-policy), or just [shoot us an email](mailto:18f@gsa.gov). 10 | 11 | ## Public domain 12 | 13 | This project is in the public domain within the United States, and 14 | copyright and related rights in the work worldwide are waived through 15 | the [CC0 1.0 Universal public domain dedication](https://creativecommons.org/publicdomain/zero/1.0/). 16 | 17 | All contributions to this project will be released under the CC0 18 | dedication. By submitting a pull request, you are agreeing to comply 19 | with this waiver of copyright interest. 20 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | gem 'jekyll' 4 | gem 'redcarpet' 5 | gem 'rouge' 6 | gem 'go_script' 7 | 8 | group :jekyll_plugins do 9 | gem 'guides_style_18f' 10 | end 11 | -------------------------------------------------------------------------------- /Gemfile.lock: -------------------------------------------------------------------------------- 1 | GEM 2 | remote: https://rubygems.org/ 3 | specs: 4 | addressable (2.5.2) 5 | public_suffix (>= 2.0.2, < 4.0) 6 | colorator (1.1.0) 7 | ffi (1.9.18) 8 | forwardable-extended (2.6.0) 9 | go_script (0.1.9) 10 | bundler (~> 1.10) 11 | safe_yaml (~> 1.0) 12 | guides_style_18f (2.0.1) 13 | jekyll (~> 3.3) 14 | jekyll_pages_api 15 | jekyll_pages_api_search 16 | htmlentities (4.3.4) 17 | jekyll (3.6.2) 18 | addressable (~> 2.4) 19 | colorator (~> 1.0) 20 | jekyll-sass-converter (~> 1.0) 21 | jekyll-watch (~> 1.1) 22 | kramdown (~> 1.14) 23 | liquid (~> 4.0) 24 | mercenary (~> 0.3.3) 25 | pathutil (~> 0.9) 26 | rouge (>= 1.7, < 3) 27 | safe_yaml (~> 1.0) 28 | jekyll-sass-converter (1.5.0) 29 | sass (~> 3.4) 30 | jekyll-watch (1.5.0) 31 | listen (~> 3.0, < 3.1) 32 | jekyll_pages_api (0.1.6) 33 | htmlentities (~> 4.3) 34 | jekyll (>= 2.0, < 4.0) 35 | jekyll_pages_api_search (0.4.4) 36 | jekyll_pages_api (~> 0.1.4) 37 | sass (~> 3.4) 38 | kramdown (1.15.0) 39 | liquid (4.0.0) 40 | listen (3.0.8) 41 | rb-fsevent (~> 0.9, >= 0.9.4) 42 | rb-inotify (~> 0.9, >= 0.9.7) 43 | mercenary (0.3.6) 44 | pathutil (0.16.0) 45 | forwardable-extended (~> 2.6) 46 | public_suffix (3.0.0) 47 | rb-fsevent (0.10.2) 48 | rb-inotify (0.9.10) 49 | ffi (>= 0.5.0, < 2) 50 | redcarpet (3.4.0) 51 | rouge (2.2.1) 52 | safe_yaml (1.0.4) 53 | sass (3.5.3) 54 | sass-listen (~> 4.0.0) 55 | sass-listen (4.0.0) 56 | rb-fsevent (~> 0.9, >= 0.9.4) 57 | rb-inotify (~> 0.9, >= 0.9.7) 58 | 59 | PLATFORMS 60 | ruby 61 | 62 | DEPENDENCIES 63 | go_script 64 | guides_style_18f 65 | jekyll 66 | redcarpet 67 | rouge 68 | 69 | BUNDLED WITH 70 | 1.15.4 71 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | As a work of the United States Government, this project is in the 2 | public domain within the United States. 3 | 4 | Additionally, we waive copyright and related rights in the work 5 | worldwide through the CC0 1.0 Universal public domain dedication. 6 | 7 | ## CC0 1.0 Universal Summary 8 | 9 | This is a human-readable summary of the 10 | [Legal Code (read the full text)](https://creativecommons.org/publicdomain/zero/1.0/legalcode). 11 | 12 | ### No Copyright 13 | 14 | The person who associated a work with this deed has dedicated the work to 15 | the public domain by waiving all of his or her rights to the work worldwide 16 | under copyright law, including all related and neighboring rights, to the 17 | extent allowed by law. 18 | 19 | You can copy, modify, distribute and perform the work, even for commercial 20 | purposes, all without asking permission. 21 | 22 | ### Other Information 23 | 24 | In no way are the patent or trademark rights of any person affected by CC0, 25 | nor are the rights that other persons may have in the work or in how the 26 | work is used, such as publicity or privacy rights. 27 | 28 | Unless expressly stated otherwise, the person who associated a work with 29 | this deed makes no warranties about the work, and disclaims liability for 30 | all uses of the work, to the fullest extent permitted by applicable law. 31 | When using or citing the work, you should not imply endorsement by the 32 | author or the affirmer. 33 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## Agile BPA micro-site 2 | 3 | This is a skeleton repo containing the 4 | [CFPB/DOCter](https://github.com/CFPB/DOCter)-based 5 | [Jekyll](http://jekyllrb.com/) template for 6 | [18F Guides](https://guides.18f.gov/). 7 | 8 | ### Getting started 9 | 10 | #### Installing Ruby 11 | 12 | You will need [Ruby](https://www.ruby-lang.org) ( > version 2.2.4 ). To check 13 | whether it's already installed on a UNIX-like system, open up a terminal 14 | window (e.g. Terminal on OS X) and type `ruby -v` at the command prompt. For 15 | example, you should see something similar to the following: 16 | 17 | ```shell 18 | $ ruby -v 19 | ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-darwin15] 20 | ``` 21 | 22 | If the version number is less than 2.2.4, or instead you see something like: 23 | 24 | ```shell 25 | $ ruby -v 26 | -bash: ruby: command not found 27 | ``` 28 | 29 | Then Ruby is not installed, and you should choose one of the installation 30 | methods below. [The "Installing Ruby" page of the official 31 | Ruby language web 32 | site](https://www.ruby-lang.org/en/documentation/installation/) explains how 33 | to do this in a number of ways across many different systems. 34 | 35 | ##### Quickest Ruby install/upgrade for OS X 36 | 37 | On OS X, you can use [Homebrew](http://brew.sh/) to install Ruby in 38 | `/usr/local/bin`, which may require you to update your `$PATH` environment 39 | variable: 40 | 41 | ```shell 42 | $ brew update 43 | $ brew install ruby 44 | ``` 45 | 46 | ##### Optional: using a version manager 47 | 48 | Whether or not Ruby is already installed, we strongly recommend using a Ruby 49 | version manager such as [rbenv](https://github.com/sstephenson/rbenv) or 50 | [rvm](https://rvm.io/) to help ensure that Ruby version upgrades don't mean 51 | all your [gems](https://rubygems.org/) will need to be rebuilt. 52 | 53 | #### Cloning and serving the Guides Template locally 54 | 55 | To create a new guide and serve it locally, where `MY-NEW-GUIDE` is the name 56 | of your new repository: 57 | 58 | ```shell 59 | $ git clone https://github.com/18F/guides-template.git MY-NEW-GUIDE 60 | $ cd MY-NEW-GUIDE 61 | $ ./go serve 62 | ``` 63 | 64 | The `./go` script will check that your Ruby version is supported, install the 65 | [Bundler gem](http://bundler.io/) if it is not yet installed, install all the 66 | gems needed by the template, and launch a running instance on 67 | `http://localhost:4000/`. 68 | 69 | #### Follow the template instructions 70 | 71 | The Guides Template (either [running locally](http://localhost:4000) or the 72 | [published version](https://pages.18f.gov/guides-template/)) will walk you 73 | through the rest of the steps to edit and publish your guide. 74 | 75 | ### Public domain 76 | 77 | This project is in the worldwide [public domain](LICENSE.md). As stated in [CONTRIBUTING](CONTRIBUTING.md): 78 | 79 | > 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](https://creativecommons.org/publicdomain/zero/1.0/). 80 | > 81 | > All contributions to this project will be released under the CC0 82 | >dedication. By submitting a pull request, you are agreeing to comply 83 | >with this waiver of copyright interest. 84 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | markdown: redcarpet 2 | name: Agile Blanket Purchase Agreement 3 | exclude: 4 | - CONTRIBUTING.md 5 | - Gemfile 6 | - Gemfile.lock 7 | - LICENSE.md 8 | - README.md 9 | - go 10 | - vendor 11 | 12 | theme: guides_style_18f 13 | 14 | permalink: pretty 15 | highlighter: rouge 16 | incremental: true 17 | 18 | sass: 19 | style: :compressed 20 | 21 | # Author/Organization info to be displayed in the templates 22 | author: 23 | name: 18F 24 | url: https://18f.gsa.gov 25 | 26 | # Point the logo URL at a file in your repo or hosted elsewhere by your organization 27 | logourl: /assets/img/18f-logo.png 28 | logoalt: 18F logo 29 | 30 | # To expand all navigation bar entries by default, set this property to true: 31 | expand_nav: true 32 | 33 | # Navigation 34 | # List links that should appear in the site sidebar here 35 | navigation: 36 | - text: Overview 37 | internal: true 38 | - text: Working with us 39 | url: working-with-us/ 40 | internal: true 41 | children: 42 | - text: For agency partners 43 | url: agency-partners/ 44 | internal: true 45 | - text: For industry partners 46 | url: industry-partners/ 47 | internal: true 48 | - text: Post-award teams 49 | url: our-project-team/ 50 | internal: true 51 | - text: Orders 52 | url: orders/ 53 | internal: true 54 | - text: Ordering guide 55 | url: ordering-guide/ 56 | internal: true 57 | - text: Awardees 58 | url: pool-three-awardees/ 59 | internal: true 60 | - text: Contact Us 61 | url: contact-us/ 62 | internal: true 63 | 64 | # Data Source 65 | data_dir: data 66 | 67 | styles: assets/css/styles.css 68 | 69 | repos: 70 | - name: Agile BPA Solicitation Documents 71 | description: All the agile bpa soliciation 72 | url: https://github.com/18F/ads-bpa 73 | 74 | back_link: 75 | url: https://18f.gsa.gov/tags/acquisition-services/ 76 | text: Read 18F acquisition blog posts 77 | 78 | google_analytics_ua: UA-48605964-19 79 | 80 | collections: 81 | pages: 82 | output: true 83 | permalink: /:path/ 84 | 85 | defaults: 86 | - scope: 87 | path: "" 88 | values: 89 | layout: default 90 | 91 | # Configuration for jekyll_pages_api_search plugin gem. 92 | jekyll_pages_api_search: 93 | # Uncomment this to speed up site generation while developing. 94 | #skip_index: true 95 | 96 | # Each member of `index_fields` should correspond to a field generated by 97 | # the jekyll_pages_api. It can hold an optional `boost` member as a signal 98 | # to Lunr.js to weight the field more highly (default is 1). 99 | index_fields: 100 | title: 101 | boost: 10 102 | tags: 103 | boost: 10 104 | url: 105 | boost: 5 106 | body: 107 | -------------------------------------------------------------------------------- /_includes/solicitation.html: -------------------------------------------------------------------------------- 1 | 2 |
  • 3 | 4 |

    {{order.title}}

    5 | 6 | **{{order.requesting_agency}}** **>** **{{order.office}}** 7 | 8 |

    Solicitation {% if order.rfq_id %} **#{{order.rfq_id}}**{% endif %}

    9 | 16 | {%if order.period_of_performance %} 17 |

    Period of performance:

    18 | 27 | {% endif %} 28 | 29 | {% if order.description %} 30 |

    Description

    31 |

    {{order.description}}

    32 | {% endif %} 33 | 34 | {% if order.award_data %} 35 |

    Award information

    36 | 45 | {% endif %} 46 | Return to top 47 |
  • 48 | -------------------------------------------------------------------------------- /_pages/awardees.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /pool-three-awardees/ 3 | layout: default 4 | title: Full-stack pool 3 awardees 5 | --- 6 | 7 | {% for vendor in site.data.vendors.vendors %} 8 | - {{vendor.name}} 9 | {% endfor %} -------------------------------------------------------------------------------- /_pages/contact-18f.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /contact-us/ 3 | layout: default 4 | title: Contact us 5 | --- 6 | 7 | To learn more about the work that we're doing at 18F, please visit [https://18f.gsa.gov](https://18f.gsa.gov) or email [18f@gsa.gov](mailto:18f@gsa.gov). 8 | 9 | If you're interested in purchasing services through the Agile BPA as an agency partner, please email [inquiries@18f.gov](mailto:inquiries@18f.gov). -------------------------------------------------------------------------------- /_pages/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: / 3 | title: Overview 4 | --- 5 | We work with federal agencies to reduce the risk of software procurement while ensuring flexibility. Our team of design, technology, and contracting experts can help agencies scope projects, access a qualified vendor on our Agile Blanket Purchase Agreement (BPA), and collaboratively manage the development of your product. 6 | 7 | We're involved through the entire procurement process and our team helps agencies shift from traditional waterfall development to agile methods, reducing risk, production time, and improving the user experience. One of the tools we offer is the Agile BPA. The Agile BPA is a contracting vehicle that provides TTS with access to a pool of 17 pre-vetted vendors from GSA’s IT Schedule 70. 8 | 9 | [See what we're building with the Agile BPA and upcoming orders](/orders)! 10 | 11 | 12 | ## How it works 13 | Our team will work with an agency to: 14 | 15 | * Determine whether an Agile Acquisition using the Agile BPA is the right fit for an agency's needs 16 | 17 | * Conduct a short investigation and workshop series to better understand the barriers to achieving its mission 18 | 19 | * Draft and manage the procurement, including technical evaluation and selection using our Agile BPA vendor pool 20 | 21 | * Create a collaborative agile working environment with the agency product owner and chosen vendors 22 | 23 | When you, as an agency partner, work with our acquisition team and vendors from the Agile BPA, you put yourself in position to meet the needs of users, deliver functionality quickly, and remain flexible to changing technology and business priorities. 24 | 25 | # Get updates 26 | 30 | -------------------------------------------------------------------------------- /_pages/ordering-guide.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /ordering-guide/ 3 | layout: default 4 | title: 18F Agile Blanket Purchase Agreement Ordering Guide 5 | --- 6 | 7 | ### (Version 1.0) 8 | 9 | ### 1. BACKGROUND & OVERVIEW 10 | 11 | #### Introduction 12 | 13 | 18F’s Agile Delivery Services Blanket Purchase Agreement (BPA) was established to access a broad pool of vendors that provides both speed and flexibility for 18F and its clients. Through this BPA, 18F and its clients will be able to better use agile practices to create more usable and customer-valued software. 14 | 15 | The period of performance for the BPA itself is five years from the date of award, but all awardees must have valid Federal Supply Schedule (FSS) 70 contracts. 16 | 17 | #### Awardees 18 | 19 | The following companies are available to submit quotations under Pool Three of this BPA (in alphabetical order): 20 | 21 | - Acumen Solution Inc 22 | - Applied Information Sciences Inc 23 | - Booz Allen Hamilton Inc (BAH) 24 | - DSoft Technology Company 25 | - Environmental Systems Research Institute Inc (ESRI) 26 | - Flexion Inc 27 | - Agileana LLC 28 | - NCI Information Systems Inc 29 | - PricewaterhouseCoopers Public Sector LLP (PwC) 30 | - SemanticBits 31 | - TechFlow Inc 32 | - TeraLogics LLC 33 | - Three Wire Systems LLC 34 | - True Tandem LLC 35 | - Vencore Services and Solutions Inc 36 | - Ventera Corporation 37 | - World Wide Technology 38 | 39 | ### 2. AUTHORIZED USERS & POINTS OF CONTACT 40 | 41 | Use of this BPA is exclusively for 18F and its own work on internal projects and for value-added services for 18F partner agencies. Outside agencies may not place orders against it without an interagency agreement with 18F and it is not available as a government-wide vehicle. Only 18F is authorized to place orders under the BPA. 42 | 43 | For questions regarding this BPA, please contact Inquiries18F@gsa.gov. 44 | 45 | ### 3. PROCEDURES FOR TASK ORDER AWARDS 46 | 47 | Orders under this BPA rely on a competitive, fair opportunity process comprised of three main steps: 48 | 49 | - Task Planning; 50 | - Competition; and, 51 | - Evaluation and Award. 52 | 53 | The time required to complete this streamlined process from releasing a Request for Quotation (RFQ) to Award typically occurs within 4-8 weeks depending on the complexity of the technical requirement, internal agency processes, and any other applicable factors. 54 | 55 | #### Task Planning 56 | 57 | Before placing any orders under this BPA, 18F’s clients must have a valid Inter-Agency Agreement with sufficient funding. 58 | 59 | One of the primary purposes of the Agile BPA is the ability to streamline the processes and time requirements for the ordering process itself. 60 | 61 | To this end, 18F’s clients will not be responsible for providing documents traditionally part of Task Planning such Independent Government Cost Estimate (IGCE) or Performance Work Statement (PWS). Instead these will be developed by 18F in consultation and collaboration with its clients. 62 | 63 | #### Competition 64 | 65 | As the Agile BPA is established against existing GSA FSS awards, requirements will be fulfilled through a streamlined fair opportunity process that will consist of the following steps: 66 | 67 | * GSA Releases Solicitation under one of the BPA Pools 68 | * GSA Receives Question and Provides Answers 69 | * Vendors Submit Quotations 70 | * GSA Evaluates and Awards the Task 71 | 72 | ### 4. ADMINISTRATION 73 | 74 | Administration of Task Order Projects shall be provided in the individual PWS for each project. 75 | 76 | Performance for tasks under this BPA will use the Contractors Performance Assessment Reporting System (CPARS). More information about CPARS is available here https://vsc.gsa.gov/administration/cpars.cfm 77 | 78 | The acquisition procedures described in this guide represent 18F’s current business practices. With lessons-learned and experience gained, these practices will be refined to increase speed, efficiency, and satisfaction for all participants. 79 | -------------------------------------------------------------------------------- /_pages/orders.md: -------------------------------------------------------------------------------- 1 | --- 2 | permalink: /orders/ 3 | layout: default 4 | title: Task orders on the BPA 5 | --- 6 | 7 | {% assign sortedorders = site.data.orders | sort: "solicitation_date" | reverse %} 8 |

    Overview

    9 | 20 | 21 | 22 | {% assign open = site.data.orders | where:"state","posted"%} 23 | {% assign planning = site.data.orders | where:"state","planning"%} 24 | {% if open.size > 0 %} 25 |

    Posted for Bid

    26 |
      27 | {% for order in sortedorders %} 28 | {% if order.state == "posted" %} 29 | {% include solicitation.html %} 30 | {% endif %} 31 | {% endfor %} 32 |
    33 | {% endif %} 34 | {% if planning.size > 0 %} 35 |

    Upcoming

    36 |
      37 | {% for order in sortedorders %} 38 | {% if order.state == "planning" %} 39 | {% include solicitation.html %} 40 | {% endif %} 41 | {% endfor %} 42 |
    43 | {% endif %} 44 |

    Post-award development

    45 |
      46 | {% for order in sortedorders %} 47 | {% if order.state == "awarded" %} 48 | {% include solicitation.html %} 49 | {% endif %} 50 | {% endfor %} 51 |
    52 |

    Delivered

    53 |
      54 | {% for order in sortedorders %} 55 | {% if order.state == "delivered" %} 56 | {% include solicitation.html %} 57 | {% endif %} 58 | {% endfor %} 59 |
    60 | -------------------------------------------------------------------------------- /_pages/working-with-us.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Working with us 4 | --- 5 | 6 | We work in an open and collaborative way, in an effort to provide a better acquisition experience for both agencies and vendors. 7 | 8 | You can also learn more about our process by taking a look at our [Journey map](https://acqstack-journeymap.18f.gov/), [what we think makes a great vendor](https://18f.gsa.gov/2017/08/30/what-makes-a-great-vendor-team/), and [how we work](https://18f.gsa.gov/how-we-work/). -------------------------------------------------------------------------------- /_pages/working-with-us/agency-partners.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Information for agency partners 4 | --- 5 | 6 | Any federal agency may only obtain services through an assisted acquisition engagement with 18F. 7 | 8 | The [Agile BPA](../) is 18F's contract vehicle to acquire development, design, and full-stack teams to help work on 18F-managed projects. This is part of 18F's efforts to increase our capacity to help agency partners do great work, through using agile processes to transform the way the federal government buys and builds digital services. 9 | 10 | ## How working with the Agile BPA is different from typical contract vehicles 11 | 12 | ### 18F is your partner during the process 13 | 14 | When you purchase services via the Agile BPA as an agency partner, 18F will be part of the process, rather than your team working directly with a vendor. 15 | 16 | After your initial intake discussions with 18F, there will be a few main steps for using the Agile BPA: 17 | 18 | 1. Execute an Interagency Agreement (IAA) between your agency and 18F. 19 | 2. 18F will conduct a project acquisition workshop. 20 | 3. 18F will acquire one or more Agile BPA vendors. 21 | 4. 18F will work with a point of contact from your agency to collaboratively manage the vendor's post-award delivery of the product. 22 | 23 | ### Smaller contracts 24 | 25 | An important difference between the Agile BPA and most other traditional IT services contract vehicles is that we make the procurements themselves reflect agile development. We plan to issue task orders — consistent with the [TechFAR](https://playbook.cio.gov/techfar/) — that feature shorter time-frames, smaller dollar amounts, and user-centered design principles. In other words, Agile BPA purchases will tend to be much smaller and more modular than most contracts. 26 | 27 | ## How 18F hires vendors for the Agile BPA 28 | 29 | Through the Agile BPA, 18F hires vendors with [labor categories](https://pages.18f.gov/agile-labor-categories/) ranging from Backend Web Developers to Visual Designers to Content Strategists. We use [novel ways to select vendors](https://18f.gsa.gov/2015/04/23/coming-soon-the-agile-delivery-services-soliciatation/): the most important thing for us is the ability to develop user-centered and high quailty working software. [More about how we work with vendors.](../vendors/) 30 | 31 | ## Vendors on the Agile BPA 32 | 33 | Full-stack pool three vendors: 34 | 35 | {% for vendor in site.data.vendors.vendors %} 36 | - {{vendor.name}} 37 | {% endfor %} 38 | 39 | 40 | ## Learn more 41 | 42 | Right now, we're managing inquiries the same as other prospective 18F projects via our intake team. Agencies should email us at [inquiries@18f.gov](mailto:inquiries@18f.gov) with information about their problem or project. As we learn more about how to work with other agencies on the BPA, we will refine the process. 43 | -------------------------------------------------------------------------------- /_pages/working-with-us/industry-partners.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: Information for vendors 4 | --- 5 | 6 | [We awarded for the full-stack vendor pool](https://18f.gsa.gov/2015/12/17/the-agile-bpa-is-ready-to-launch/), and we have chosen not to award the design and development pool. 7 | 8 | We work a bit differently than most government software development projects. Learn more [how we work with vendors on Agile BPA task orders](https://18f.gsa.gov/2017/08/30/what-makes-a-great-vendor-team/). 9 | 10 | ## Future iterations 11 | 12 | For vendors interested in competing in future assisted acquisitions with 18F, stay tuned [and subscribe to updates](http://eepurl.com/bJQHFr). 13 | 14 | ## How we chose this round of vendors 15 | 16 | In June 2015 [we issued a Request for Quotation (RFQ)](https://pages.18f.gov/ads-bpa/assets/ADS_RFQ_Final.pdf). The [eBuy](https://www.ebuy.gsa.gov/advantage/ebuy/start_page.do) number for the RFQ was RFQ993471. 17 | 18 | This RFQ required vendors currently on 19 | [GSA Schedule 70](http://gsa.gov/portal/content/104506) who want to be on the Agile Delivery BPA to compete among three pools: Pool One is a design pool (a total set aside for small business), Pool Two is a development pool (also a total set aside for small business), and Pool Three is a full-stack pool (unrestricted). Vendors work on 18F projects for our partner agencies. 20 | 21 | We asked vendors for a demonstration of their software development capabilities as part of the proposal evaluation. Doing it this way not only helps yield high-quality vendors, but also reduces how much "bid & proposal" expense companies have to incur. This requires very little, if any, in the way of written responses, unlike the typical case. 22 | 23 | We awarded a BPA under GSA IT Schedule 70. The BPA was competed among existing vendors on Schedule 70 and orders made by 18F on behalf of their partner agencies. We only awarded the full-stack pool, and not the development or design pools. 24 | 25 | ## Small business friendly 26 | 27 | Small businesses are the drivers of economic growth in the U.S. Agile methodologies encourage work to be done in small, rapid, independent increments. When combined with modular approaches to contracting, this opens up a whole new world of contract opportunities for small businesses. For example, rather than compete work as one big, long contract (e.g., $50M over five years) that typically only large businesses can execute on, break it into multiple smaller, shorter-duration contracts. This has the effect of leveling the competitive playing field for not just small companies, but businesses of all sizes. 28 | -------------------------------------------------------------------------------- /_pages/working-with-us/our-project-team.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: default 3 | title: How our post-award teams work 4 | --- 5 | We provide a very different kind of post-award interaction for orders placed against the agile BPA, with on hand technical staff and an agency product owner in addition to traditional procurement roles. 6 | 7 | ## The Contracting Officer 8 | The contracting officer (CO) is responsible for monitoring contract compliance, contract administration, and cost control and for resolving any differences between the observations documented by the COR and the contractor. The CO will designate a COR as the government authority for performance management. The number of additional representatives serving as technical inspectors depends on the complexity of the services measured, as well as the contractor’s performance, and must be identified and designated by the CO. 9 | 10 | ## The Contracting Officer’s Representative 11 | The contracting officer’s representative (COR) is designated in writing by the CO to act as their authorized representative to assist in administering a contract. COR limitations are contained in the written appointment letter. The COR is responsible for technical administration of the project and ensures proper government surveillance of the contractor’s performance. The COR is not empowered to make any contractual commitments or to authorize any contractual changes on the government’s behalf. Any changes that the contractor deems may affect contract price, terms, or conditions shall be referred to the CO for action. The COR will have the responsibility for documenting the inspection and evaluation of the contractor’s work performance. Government surveillance may occur under the inspection of services clause for any service relating to the contract. 12 | 13 | ## Agency Partner Product Owner 14 | 15 | The Product Owner is the project’s key stakeholder and is from the agency partner team. They are responsible for having a vision of what outcomes they wish to achieve, and convey the vision to the 18F Product Manager and the contractor’s scrum or development team. The Product Owner does this in part through the product backlog, which will be a prioritized list of user stories for the product. The Product Owner is responsible for advocating on behalf of the agency’s needs and on behalf of users, and responsible for decision-making during sprint planning and implementation. The Product Owner will work with the COR/ACOR to inspect vendor work. 16 | 17 | ## 18F Product Manager 18 | The TTS Product Manager is the interface between the requiring organization (GSA-TTS) and contracting organization (GSA FAS AAS/NCR). The Product Manager coordinates technical aspects of the contract with the COR/ACOR and CO, assists with contract administration, ensures client acceptance of services, and reviews invoices for payment. The Product Manager is also responsible for coordination between the contractor, the Product Owner, as well as the CO and COR/ACOR. 19 | 20 | ## 18F Technical Lead 21 | 22 | The TTS Technical Lead is responsible for ensuring that the contractor's development work is well-tested, well-documented, and maintainable. This usually includes code review and reviewing and merging pull requests. They also coordinate between the contractor’s development team, the Product Owner and the key interagency stakeholders. 23 | 24 | ## 18F Design Lead 25 | 26 | The TTS design lead is responsible for ensuring that the contractor's development work is informed by good design practices, and that the team meets the design and user research requirements of the contract. 27 | -------------------------------------------------------------------------------- /assets/css/styles.scss: -------------------------------------------------------------------------------- 1 | --- 2 | --- 3 | // @import "guides_style_18f"; 4 | 5 | .solicitations .order { 6 | border-bottom: 1px solid #aeb0b5; 7 | } 8 | 9 | .solicitations .order h3 { 10 | margin-top: 1em; 11 | } 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /data/orders.yml: -------------------------------------------------------------------------------- 1 | - requesting_agency: General Services Administration 2 | office: FedRAMP 3 | rfq_id: ID09160019 4 | title: Authorizations Marketplace Dashboard 5 | solicitation_date: 2016-03-16 6 | period_of_performance: 7 | base_period: 2 8 | repository: 'https://github.com/18F/bpa-fedramp-dashboard' 9 | description: | 10 | The scope of this task order is for the Contractor to deliver the public beta launch of the Federal Risk and Authorization Management Program (FedRAMP) dashboard. 11 | date_posted: 2016-05-14 12 | date_updated: 2016-05-14 13 | state: delivered 14 | award_data: 15 | vendor: TrueTandem​ 16 | amount: "$153,782.05" 17 | bidders: 14 18 | mean: "$120,626.54" 19 | median: "$110,779.97" 20 | stdev: "$49,172.90" 21 | date: 2016-06-06 22 | - requesting_agency: General Services Administration 23 | office: 18F 24 | rfq_id: 1109584 25 | title: Identity Management Scrum Team 26 | solicitation_date: 2016-07-08 27 | period_of_performance: 28 | base_period: 3 29 | option_period: 3 additional 3-month option periods, and a contingency period of up to 6 months. 30 | repository: "https://github.com/18F/bpa-identity-management" 31 | description: | 32 | Consumer Identity Management is a problem the Government has tried to solve in a number of ways over the past decade. 18F and a team across the government is now tasked with launching a new solution by November 2016. Our efforts are clearly described on our blog and further detailed in Executive Order 13681. 33 | award_data: 34 | vendor: Agileana 35 | amount: "$313,910.40 for base, $1,261,911.60 total" 36 | bidders: 1 37 | mean: "$1,261,911.60" 38 | median: "$1,261,911.60" 39 | stdev: "N/A" 40 | date: 2016-09-09 41 | date_posted: 2016-05-14 42 | date_updated: 2016-09-09 43 | state: awarded 44 | - requesting_agency: Department of Labor 45 | office: Wage and Hour Division 46 | rfq_id: 1110470 47 | title: 14(c) Development 48 | solicitation_date: 2016-07-11 49 | period_of_performance: 50 | base_period: 2 51 | repository: https://github.com/18F/bpa-DOL-WHD-14-c- 52 | description: | 53 | Section 14(c) permits the payment of subminimum wage rates, after receipt of a certificate by DOL, to individuals whose earning or productive capacity is impaired by a disability for the work to be performed. It requires that an individual’s rate of pay be commensurate with the rates paid workers without a disability performing the same type of work in the same vicinity. 54 | 55 | The 14(c) system will become a modern, digital-first service. Applicants will be provided an intuitive online experience, guiding them through the information needed to complete their application correctly. Applicants will have the ability to save their progress along the way, submit it to the system and see their application status. The application data will be made available to WHD users to inform certification and enforcement decisions. Applicants will have access to previous applications in order to apply for renewal. The product will support policy and process evolution over time, and will support data transparency wherever and however possible. 56 | date_posted: 2016-05-14 57 | award_data: 58 | vendor: Applied Information Systems​ 59 | amount: "$163,102.60" 60 | bidders: 7 61 | mean: "$187,135.44" 62 | median: "$185,606.29" 63 | stdev: "$91,179.57" 64 | date: 2016-09-09 65 | date_updated: 2016-09-09 66 | state: delivered 67 | - requesting_agency: Department of Labor 68 | office: Wage and Hour Division 69 | rfq_id: 1204822 70 | title: 14(c) Web Application Tool 71 | solicitation_date: 2017-06-21 72 | period_of_performance: 73 | base_period: 4 74 | repository: https://github.com/18F/bpa-DOL-WHD-14-c- 75 | description: | 76 | Section 14(c) permits the payment of subminimum wage rates, after receipt of a certificate by DOL, to individuals whose earning or productive capacity is impaired by a disability for the work to be performed. It requires that an individual’s rate of pay be commensurate with the rates paid workers without a disability performing the same type of work in the same vicinity. 77 | 78 | The 14(c) system will become a modern, digital-first service. Applicants will be provided an intuitive online experience, guiding them through the information needed to complete their application correctly. Applicants will have the ability to save their progress along the way, submit it to the system and see their application status. The application data will be made available to WHD users to inform certification and enforcement decisions. Applicants will have access to previous applications in order to apply for renewal. The product will support policy and process evolution over time, and will support data transparency wherever and however possible. 79 | date_posted: 2017-06-21 80 | date_updated: 2017-09-21 81 | award_data: 82 | vendor: Applied Information Systems 83 | amount: "$297,757.44" 84 | bidders: 5 85 | mean: "$301,786.96" 86 | median: "$327,481.20" 87 | stdev: "$73,719.10" 88 | date: 2016-08-29 89 | state: delivered 90 | - requesting_agency: Office of Personnel Management 91 | office: Federal Investigative Services (FIS) 92 | rfq_id: 1138886 93 | title: e-QIP Refresh Prototyping 94 | solicitation_date: 2016-09-06 95 | period_of_performance: 96 | base_period: 3 97 | option_period: 5 additional 3-month option periods, and a contingency period of up to 6 months. 98 | repository: "https://github.com/18F/bpa-opm-eqip" 99 | description: | 100 | A prototype design and development project to refresh the Electronic Questionnaires for Investigations Processing (e-QIP) system. 101 | date_posted: 2016-07-10 102 | date_updated: 2016-11-04 103 | state: delivered 104 | award_data: 105 | vendor: TrueTandem 106 | amount: "$1,478,179.20" 107 | bidders: 9 108 | mean: "$1,881,777.00" 109 | median: "$1,939,185.94" 110 | stdev: "$461,492.36" 111 | date: 2016-11-03 112 | - requesting_agency: U.S. Department of Housing and Urban Development 113 | office: Office of Policy Development and Research 114 | rfq_id: 1168769 115 | title: Disaster Data Recovery Portal (pilot project) 116 | solicitation_date: 2017-02-07 117 | period_of_performance: 118 | base_period: 4 119 | repository: https://github.com/18F/bpa-disaster-data-portal-pilot 120 | description: | 121 | The scope of this task is to build a working pilot of a portal that collects and displays Community Development Block Grant – Disaster Recovery (CDBG-DR) data. 122 | date_posted: 2016-09-28 123 | date_updated: 2017-02-07 124 | state: awarded 125 | award_data: 126 | vendor: Flexion, Inc. 127 | amount: "$237,776.22" 128 | bidders: 6 129 | mean: "$273,170.00" 130 | median: "$285,098.00" 131 | stdev: "$46,655.90" 132 | date: 2017-04-13 133 | - requesting_agency: U.S. Department of State 134 | office: Bureau of Human Resources Executive Office 135 | rfq_id: 1169875 136 | title: Foreign Service Talent Management System (TalentMAP) 137 | solicitation_date: 2017-02-10 138 | period_of_performance: 139 | base_period: 12 140 | repository: https://github.com/18F/bpa-DOS-TalentMAP 141 | description: | 142 | TalentMAP is anticipated to replace the Foreign Service Bidding (FSBid) application and serve as a unified source of information (currently stored outside of FSBID) regarding available Foreign Service positions and post data for Foreign Service employees. 143 | date_posted: 2017-02-10 144 | date_updated: 2016-02-11 145 | state: delivered 146 | award_data: 147 | vendor: Booz Allen Hamilton 148 | amount: "$1,178,104.51" 149 | bidders: "5" 150 | mean: "$1,065,545.248" 151 | median: "$1,138,011.20" 152 | stdev: "$443,953.19" 153 | date: 2017-05-10 154 | - requesting_agency: Department of Agriculture 155 | office: Forest Service 156 | rfq_id: 1160564 157 | title: Forest Service e-Permitting API 158 | solicitation_date: 2016-12-21 159 | period_of_performance: 160 | base_period: 4 161 | repository: https://github.com/18F/bpa-fs-epermit-api 162 | description: An application protocol interface (API) for the U.S. Forest Service ePermits special use permits. 163 | date_posted: 2016-10-27 164 | date_updated: 2017-02-06 165 | state: delivered 166 | award_data: 167 | vendor: NCI Information Systems 168 | amount: "$213,688.13" 169 | bidders: "7" 170 | mean: "$254,664.35" 171 | median: "$247,725.36" 172 | stdev: "$74,202.88" 173 | date: 2017-02-02 174 | - requesting_agency: Department of Agriculture 175 | office: Forest Service 176 | rfq_id: 1171039 177 | title: Forest Service e-Permitting Intake Module 178 | solicitation_date: 2017-02-15 179 | period_of_performance: 180 | base_period: 3 181 | option_period: One additional 3 month option 182 | repository: https://github.com/18F/bpa-fs-epermit-intake 183 | description: The U.S. Forest Service is engaged in an ongoing effort to modernize and simplify their permitting processes. One facet of this effort is “ePermitting”, or making the applications for many Forest Service permits available online. This application is for a public front-end intake module for use by non-commercial groups, temporary outfitter, and guide permits. 184 | date_posted: 2017-01-24 185 | date_updated: 2018-01-31 186 | state: delivered 187 | award_data: 188 | vendor: Flexion Inc. 189 | amount: "$157,628.78" 190 | bidders: "2" 191 | mean: "$178,509.67" 192 | median: "$178,509.67" 193 | stdev: "$41,761.78" 194 | date: 2017-04-05 195 | - requesting_agency: Department of Agriculture 196 | office: Forest Service 197 | rfq_id: 11170033 198 | title: Forest Service e-Permitting Christmas Trees Module 199 | solicitation_date: 2017-07-29 200 | period_of_performance: 201 | base_period: 6 202 | option_period: One 3 month option 203 | repository: https://github.com/18F/bpa-fs-xmas-trees 204 | description: The objective of this task order is to develop an online permitting module focused on Christmas tree sales. Every winter, many national forests sell “tags” for Christmas tree cutting (“tag” is the term for a Christmas-tree-specific permit). After purchasing a tag, members of the public can travel to parts of nearby national forests to cut down a tree from a designated area. 205 | date_posted: 2017-02-15 206 | date_updated: 2017-09-21 207 | state: delivered 208 | award_data: 209 | vendor: NCI Information Systems 210 | amount: "$638,266.00" 211 | bidders: "2" 212 | mean: "$481,527.12" 213 | median: "$481,527.12" 214 | stdev: "$221,662.41" 215 | date: 2017-09-21 216 | -------------------------------------------------------------------------------- /data/vendors.yml: -------------------------------------------------------------------------------- 1 | vendors: 2 | - name: Acumen Solutions Inc 3 | - name: Applied Information Sciences Inc 4 | - name: Booz Allen Hamilton Inc 5 | - name: DSoft Technology Company 6 | - name: Environmental Systems Research Institute Inc. 7 | - name: Flexion Inc. 8 | - name: Agileana LLC 9 | - name: NCI Information Systems Inc 10 | - name: PricewaterhouseCoopers Public Sector LLP 11 | - name: SemanticBits 12 | - name: TechFlow Inc 13 | - name: TeraLogics LLC 14 | - name: Three Wire Systems LLC 15 | - name: True Tandem LLC 16 | - name: Vencore Services and Solutions Inc 17 | - name: Ventera Corporation 18 | - name: World Wide Technology 19 | -------------------------------------------------------------------------------- /go: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env ruby 2 | 3 | require 'English' 4 | 5 | Dir.chdir File.dirname(__FILE__) 6 | 7 | def try_command_and_restart(command) 8 | exit $CHILD_STATUS.exitstatus unless system command 9 | exec({ 'RUBYOPT' => nil }, RbConfig.ruby, *[$PROGRAM_NAME].concat(ARGV)) 10 | end 11 | 12 | begin 13 | require 'bundler/setup' if File.exist? 'Gemfile' 14 | rescue LoadError 15 | try_command_and_restart 'gem install bundler' 16 | rescue SystemExit 17 | try_command_and_restart 'bundle install' 18 | end 19 | 20 | begin 21 | require 'go_script' 22 | rescue LoadError 23 | try_command_and_restart 'gem install go_script' unless File.exist? 'Gemfile' 24 | abort "Please add \"gem 'go_script'\" to your Gemfile" 25 | end 26 | 27 | require 'guides_style_18f' 28 | 29 | extend GoScript 30 | check_ruby_version '2.2.4' 31 | 32 | command_group :dev, 'Development commands' 33 | 34 | def_command( 35 | :create_repo, 'Remove template files and create a new Git repository') do 36 | GuidesStyle18F.clear_template_files_and_create_new_repository Dir.pwd 37 | end 38 | 39 | def_command :update_nav, 'Update the \'navigation:\' data in _config.yml' do 40 | GuidesStyle18F.update_navigation_configuration Dir.pwd 41 | end 42 | 43 | def_command :update_theme, 'Update the guides_style_18f gem' do 44 | GuidesStyle18F.update_theme 45 | end 46 | 47 | def_command :update_gems, 'Update Ruby gems' do |gems| 48 | update_gems gems 49 | end 50 | 51 | def_command :serve, 'Serve the site at localhost:4000' do |args| 52 | serve_jekyll args 53 | end 54 | 55 | def_command :build, 'Build the site' do |args| 56 | build_jekyll args 57 | end 58 | 59 | execute_command ARGV 60 | -------------------------------------------------------------------------------- /images/description.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/ads-bpa/e92fd50019b83d65396cf347c48e5fd9a7fcb81c/images/description.png -------------------------------------------------------------------------------- /images/federalist-add-repository.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/ads-bpa/e92fd50019b83d65396cf347c48e5fd9a7fcb81c/images/federalist-add-repository.png -------------------------------------------------------------------------------- /images/federalist-add-website.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/ads-bpa/e92fd50019b83d65396cf347c48e5fd9a7fcb81c/images/federalist-add-website.png -------------------------------------------------------------------------------- /images/federalist-custom-config.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/ads-bpa/e92fd50019b83d65396cf347c48e5fd9a7fcb81c/images/federalist-custom-config.png -------------------------------------------------------------------------------- /images/gh-add-guide.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/18F/ads-bpa/e92fd50019b83d65396cf347c48e5fd9a7fcb81c/images/gh-add-guide.png -------------------------------------------------------------------------------- /test.sh: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | echo "Checking data/orders.yml..." 3 | node -e "require('js-yaml').safeLoad(require('fs').readFileSync('data/orders.yml', { encoding: 'utf8' }))" && echo " All good!" 4 | echo "Checking data/vendors.yml..." 5 | node -e "require('js-yaml').safeLoad(require('fs').readFileSync('data/vendors.yml', { encoding: 'utf8' }))" && echo " All good!" 6 | --------------------------------------------------------------------------------