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.

Yielddd Software Due Diligence Team (2)

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.

Yielddd Software Due Diligence Data

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.

Yielddd Software Due Diligence Retail (1)

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.


Didn't find what you were looking for?