Git Product home page Git Product logo

technology-budgeting's Introduction

Technology Budgeting Handbook

Teaching state leadership how to budget for and provide oversight of Agile software procurement, to reduce wasteful spending of federal technology grants. Waterfall development remains standard in states, in part because of their budgeting and oversight processes. By intervening early in the process, we can prevent failures from happening.

Overview

We are providing training to highly-leveraged state budgeting and procurement officials, to identify which groups are most receptive to our message — while also improving our own messaging — to reduce wasteful federal spending on failed custom software. The potential impact is significant, because any one person who we persuade is in a position to prevent millions of dollars in spending on bad software. At the conclusion of this work, we intend to have a firm grasp on the process of how states decide to spend millions of dollars on custom software, to have identified which departments or positions are in the best position to improve that process, and to know what message resonates with them.

We will better discover partner dynamics and motivation in our work. It appears that they are all individual actors working within a larger state system, on an assembly line of funding requests, often lacking the knowledge to evaluate requests for funding for custom software.

Milestones

Recommendations

We recommend proceeding to a phase 3.

Next Steps

Phase 3 pitch.

License

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.

technology-budgeting's People

Contributors

gordongrace avatar jamn avatar waldoj avatar wickr avatar

Stargazers

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

Watchers

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

technology-budgeting's Issues

Software created by most states are not in the public domain and not obviously subject to public records requests

https://github.com/18F/technology-budgeting/blob/master/handbook.md#share-your-software

"Additionally, in many states software created as a work of government is inherently in the public domain, which means an open-records request is all that’s necessary for software to become public." I believe this is a overstatement. At the very least the citation to Harvard's project does not support the assertion.

For example California is listed as being green on that map indicating "documents" are "presumptively public domain." the problem is that the researchers were looking at documents not software. So even in California which is one of the few states listed as green, Software is specifically by California statute not in the public domain and subject to Copyright. Cal. Gov't Code § 6254.9. [1] If you go to the California page on the site, the statute is specifically cited. [2]

Further, states, often have a very complex policies on copyrighted works. For instance state universities often have very different policies governing who owns the IP created by its employees then employees of other state agencies.

[1] http://leginfo.legislature.ca.gov/faces/codes_displaySection.xhtml?sectionNum=6254.9.&lawCode=GOV
[2] http://copyright.lib.harvard.edu/states/california/

While I would love if this was true. And there have been attempts to free software, I believe this is paragraph is an overstatement. Even just looking at the map you are referencing without digging into how it applies to software, Only two states are "green" and two states are "light green". One of those green states specifically excludes software from this openness, so it is green despite software not being open. Florida the other green state also retains IP rights for IP created by several state agencies including "data processing software created by a state agency." And if you look at one of the light green ones, Massachusetts, the citation makes clear the light green status is based on a court case discussing "records."

I would suggest removing this paragraph. Your recommendations for including requirements about sharing in the RFP are good, but the reason to do them is if you don't it is very hard to get the software to be publically available.

expand and clarify the security section

The security section currently reads:

Clean tests from a static testing SaaS (such as npm audit) and from OWASP ZAP, along with documentation explaining any false positives

The npm audit tool is a very necessary security check and it does kind of seem like static testing. However npm audit does not seem like a sufficient tool static testing tool. Similarly, ZAP is great but I believe it requires a skilled individual using it to be effective. I think there are maybe 3 levels of tools to consider:

  1. Basic dependency checker (e.g. npm audit, roave/security-advisories, snyk)
  2. SAST e.g. the tools on OWASP page Tools
  3. DAST e.g. OWASP Page list

I'd be happy to try to put together a PR if you agree.

make more broadly applicable

Reading through the handbook, it struck me that very little of it was actually specific to states. Seems that it could be made applicable to federal government as well (at least), mostly with find-and-replace:

  • Governor -> Executive
  • Legislature -> Lawmakers
  • Etc.

Thoughts?

Very minor text edits

  • In Building with Loosely-Coupled Parts, the words "magic bullet" bring to mind an image of a blender. Consider "silver bullet" or "magic button".
  • In the Fund Systems, Not Monoliths checklist, the phrase "they're not for e.g. setting up a database or maintaining servers" read awkwardly ("for, for example"). Consider revising, or eliminating the "for" (the next clause in the sentence appears to take this form).

Happy to PR if this looks ok.

This document is excellent, thank you for writing it. 🇺🇸

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.