Glossary
Explanation of terms related to our services:
2FA: two-factor authentication; access management method requiring two different ways of identification.
Agile: a framework and a working mindset that helps respond to changing requirements, prioritizing early and continuous delivery of functionality.
Analysability: the ease with which a software system or component can be understood. This affects product development time.
API: Application Programming Interface, a 'contract' defining how two applications communicate.
Architectural spike: running a small technical experiment, building working, but disposable, software to prove or disprove feasibility or a specific hypothesis.
Architecture: high-level technical design of the software.
Bespoke: tailor-made.
Bug: flaw or error in a program.
Build pipeline: a set of automated processes and tools that help developers collaborate on building and deploying code to the 'live' (production) environment.
CI/CD: Continuous Integration/ Continuous Deployment.
Continuous Integration: frequent merging of several small changes to the main branch, the central shared ‘trunk’ version of the application.
Continuous Deployment: code changes to an application are released automatically into the production environment, driven by a series of predefined tests, which should pass before the release is pushed to production.
Code: text created by a software developer following a specific programming language instructing the computer to perform tasks.
Containerization: application containerization encapsulates applications and their dependencies at the application level to make them portable.
Custom built: specifically developed for the purpose, as opposed to standard/off-the-shelf.
Deployment: the process of installing a software version on an environment.
DTAP: Development, Test, Acceptance and Production. A common set of environments that software goes through. Each stage in DTAP will have different quality requirements to pass to the next stage.
Encrypt: convert information into secret code that hides the information's true meaning.
End-of-life: the expiration date of a product, the date that support and maintenance ends for a product and users cannot get updates anymore.
Environment: a place where an instance of the software is present to edit or test it and to work it from the development phase to production.
Feature: newly defined or changed functionality for a system, as desired by a stakeholder.
Infrastructure: framework, composed of physical and virtual resources that support the flow, storage, processing and analysis of data.
Interface: rules for applications on how to communicate with each other or the hardware.
IP: Intellectual Property, a program or code that is protected by law against copying, theft, or other use that is not permitted by the owner.
ISV: Independent Software Vendor, a company specializing in creating and selling software.
Kanban: a way to visualize progress in (team) tasks by using cards on a board, in columns ‘to do’, ‘doing’ and ‘done’.
Lean: management methodology aimed at eliminating wasted time and resources through systematic analysis of processes and value streams.
Library: a collection of pre-written code for performing specific tasks. Libraries are often used to reduce the amount of code a programmer needs to write by providing reusable functions or classes that can be called upon as needed.
Maintainability: the degree to which a system can be easily maintained, e.g. the level of structure and uniformity in code, the quality and quantity of (internal) documentation and the description of implemented functionality.
MFA: Multi-Factor Authentication, a multi-step login process that requires users to enter more information than just a password.
Microservices: architecture that structures the cooperation of single-function services that are independently deployable and loosely coupled so that they can be replaced easily. This architecture has become popular in the last decade.
Mock-up: a static model of an application or webpage that features many of its final design elements.
Modifiability: indicates how easy (or hard) it is to adapt the software to new requirements without unwanted side effects.
Modularity: the degree to which a system or computer program is composed of discrete components such that a change to one component has minimal impact on others.
Monolith: a label for an application that performs all functions in one self-contained unit, independently from other applications.
Multi-tenant: a system where one instance can be used by multiple (user) accounts. Processes and functionalities are shared, but data is kept private.
MVP: Minimum Viable Product, a version of a product with just enough features to be usable by early customers.
On-premises: the software runs on physical machines, managed by the company itself, as opposed to the cloud, where software runs on shared servers, managed by a cloud provider, via an online connection.
Open source: source code designed to be publicly accessible and whose license specifies the rights to share, use, modify, enhance and distribute it.
Package: a combined file containing multiple files shown to the user as one file.
Peer Review: See Pull request.
Product Life Cycle: a way of identifying the development phase of a software system to help define the (investment) strategy. The most commonly found stages are market introduction, growth, maturity, and end-of-life.
PoC: Proof of Concept, the first tangible (but not yet production-ready) product version where an organization can check if an idea might succeed.
Post mortem: a written record of an incident, its impact, the actions taken to mitigate or resolve it, the root cause(s), and the follow-up actions to prevent the incident from recurring.
Private cloud: cloud environment in which all hardware and software resources are dedicated exclusively to, and accessible only by, a single customer.
Pull request: a task in the development process where peer developers are asked to review and approve new code before it is merged into the main program. This improves product quality.
QA: Quality Assurance, all structural activities and means around the system(s) in an organization that assures their quality; like testing, review, and monitoring.
Release: the process of making software available to a user.
Repo: Repository, a storage location for software packages or source code. Commonly used are Azure DevOps, GitHub, GitLab or Bitbucket.
Reusability: indicates how easy it is to reuse parts of the code in new additions to, or new versions of, the system. Reusable code makes future changes easier to implement.
Roadmap: a timeline describing the (high-level) plans for new functionality.
SaaS: Software as a Service, a complete online service offered in a subscription contract per user.
Scalability: how well a software system can support future growth.
Scrum: an agile framework with an iterative approach where a viable product or an increment on it is delivered after each (often two-week) iteration.
Software: application(s), IT system(s) which perform and compute actions supporting (business) processes in an organization.
Source code: human-readable text describing what the software must do.
SQL: Structured Query Language, the programming language used to interact with a (tabular) database.
SSO: Single Sign-on, an access management method enabling users to log in to multiple applications with one set of credentials.
Source Control: practice of tracking and managing changes to code.
Technical debt: the amount of effort that must be spent on development, because a shortcut was taken in the past. This is often the result of outstanding maintenance.
Tech stack: all technology services used to build and run a single application, often consisting of a frontend (user side) and a backend (servers, operating systems, programming languages, frameworks and databases).
Testability: how easy it is to test the software. With high testability, it is easier to find and fix bugs, maintain quality, and ensure reliability.
Third-party components: components used in the application and developed by any third party (other than the company providing the application).
VM: Virtual Machine, a platform that behaves like a real computer but is a program.
VPS: Virtual Private Server, a name for a specific type of virtual machine (see VM).
Waterfall: staged software development method where functional design, technical design, development, testing and deployment are planned sequentially.
Whitelisting (also known as IP-Whitelisting): granting network access only to IP addresses of approved users.
Wireframe: a static representation of a website or an application's user interface (UI) focusing on functionality and content, and less on visual appearance.