Glossary

Glossary #

TermDefinition
Agile software development“Agile is an iterative approach to project management and software development that helps teams deliver value to their customers faster and with fewer headaches. Instead of betting everything on a “big bang” launch, an agile team delivers work in small, but consumable, increments. Requirements, plans, and results are evaluated continuously so teams have a natural mechanism for responding to change quickly.” Agile software development involves a number of process management strategies, like daily stand-ups, scrums, user journeys and other basic tools. (Source: Atlassian. See also the Agile Manifesto)
Bid SplittingWhen a government “employee splits large contracts into smaller contracts to avoid the scrutiny required for larger contracts.” (Source: The Association of Certified Fraud Examiners)
Branch repositorySee: Repository
Central repositorySee: Repository
Commercial off-the-shelf (COTS)“Commercial off-the-shelf or commercially available off-the-shelf (COTS) products are packaged or canned (ready-made) hardware or software, which are adapted aftermarket to the needs of the purchasing organization, rather than the commissioning of custom-made, or bespoke, solutions.” Source: Commercial off-the-shelf - Wikipedia
DevOps“DevOps can be best explained as people working together to conceive, build and deliver secure software at top speed. DevOps practices enable software developers (devs) and operations (ops) teams to accelerate delivery through automation, collaboration, fast feedback, and iterative improvement. Stemming from an Agile approach to software development, a DevOps delivery process expands on the cross-functional approach of building and shipping applications in a faster and more iterative manner.” (Source: GitLab)
Distributed version control“In software development, distributed version control (also known as distributed revision control) is a form of version control in which the complete codebase, including its full history, is mirrored on every developer’s computer. Compared to centralized version control, this enables automatic management branching and merging, speeds up most operations (except pushing and pulling), improves the ability to work offline, and does not rely on a single location for backups. Git, the world’s most popular version control system, is a distributed version control system.” Source: Distributed version control - Wikipedia
Forking“A fork is a copy of a repository that you manage. Forks let you make changes to a project without affecting the original repository. You can fetch updates from or submit changes to the original repository with pull requests.” Source: GitHub
Free (aka libre) software“Free software or libre software, infrequently known as freedom-respecting software, is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software (including profiting from them) regardless of how much is paid to obtain the program” Source: Free software - Wikipedia
Free and Open Source Software (FOSS)“Free and open-source software (FOSS) is software that is both free software and open-source software.” Source: Free and open-source software - Wikipedia
Merge requestSee: Pull request
Modular BudgetingModular budgeting is financial planning that supports modular contracting (see above). A modular budget applies to the person-hours and other costs associated with a discrete module.
Modular Contracting“Modular contracting is an acquisition strategy that… break[s] up large, complex projects into multiple, tightly-scoped procurements to implement technology systems in successive, interoperable increments.” (Source: 18F)
Open source software“Open source software is software with source code that anyone can inspect, modify, and enhance. ‘Source code’ is the part of software that most computer users don’t ever see; it’s the code computer programmers can manipulate to change how a piece of software – a ‘program’ or ‘application’ – works. Programmers who have access to a computer program’s source code can improve that program by adding features to it or fixing parts that don’t always work correctly.” (Source: OpenSource)
Problem Statement / Problem Framing“Problem framing is a problem-solving method that’s designed to align the entire team with one solution for a project by structuring the issue’s details in a digestible and collaborative way. So, when your team can’t agree on a solution, use this play to take a step back and align on the problem you are solving for.” (Source: Atlassian)
Product Owner“Someone who understands your organization, the problem we’re solving, and can advocate for the product we ultimately build together. They’ll be responsible for establishing and carrying the long-term vision of the product, implementing a strategy, and guiding its progress, as informed by user research.” (Source: 18F)
Pull request“Contributions to a source code repository that uses a distributed version control system are commonly made by means of a pull request, also known as a merge request. The contributor requests that the project maintainer pulls the source code change, hence the name “pull request”. The maintainer has to merge the pull request if the contribution should become part of the source base.” Source: Distributed version control - Wikipedia

See also: Distributed version control
Repository“In version control systems, a repository is a data structure that stores metadata for a set of files or directory structure.” Source: Repository (version control) - Wikipedia

In a distributed version control system “every project has a central repository that is considered as the official repository, which is managed by the project maintainers. Developers clone this repository to create identical local copies of the code base. Source code changes in the central repository are periodically synchronized with the local repository.

The developer creates a new branch in their local repository and modifies source code on that branch. Once the development is done, the change needs to be integrated into the central repository.”

See also: Distributed version control
Request for Information (RFI) / Sources Sought Notice (SSN)Request for Information (RFI) / Sources Sought Notice (SSN): A market research tool used to obtain price, delivery, capabilities, interest, etc. for planning purposes.” (Source: US Government Services Administration)
Request for Proposals (RFP)“A request for proposal (RFP) is both the process and documentation used in soliciting bids for potential business or IT solutions required by an enterprise or government agency. The RFP document typically outlines a statement of requirements (SOR) to be met by prospective respondents wishing to make a bid to deliver the required solutions. It might cover products and/or services to meet the given requirements. The RFP documentation also typically covers the related procurement process, evaluation criteria, commercial terms and conditions, timeliness and activities involved, and what respondents should include in their RFP response.” (Source: Gartner)
Request for Quote“A solicitation method used to obtain price, cost, delivery, and related information from suppliers.” (Source: US Government Services Administration)
Sole-source“Procurement by noncompetitive proposals, referred to as sole source procurement, is procurement through solicitation of a proposal from only one source. Sole source procurements must adhere to standards,” that govern how a government body can justify that only one vendor is able to provide the requested services. (Source: US Department of Justice)
Total Cost Analysis / True Cost AnalysisThis includes the full cost of building or procuring software, implementing it and maintaining it. TCA includes direct and indirect, immediate and long-term costs (such as staff time, license fees, etc.).