Pair Programming

What is Pair Programming? Definition: Pair programming is an agile software development practice in which two programmers team up at one workstation to maximize efficiency. With pair programming, one of the two programmers (the driver) writes the code while the other watches and reviews (the observer). The two programmers switch roles frequently.

eXtreme Programming (XP)

What is eXtreme Programming? eXtreme Programming (XP) is an agile framework that emphasizes both the broader philosophy of agile—to produce higher-quality software to please customers—and the more specific goal of making life better for the engineers developing it. The main characteristics of XP include dynamically changing software requirements; using a small, collocated extended development team; […]

Shape Up Method

What is the Shape Up Method? The Shape Up Method describes the specific processes used by product development teams to shape, bet, and build meaningful products. It gives teams language and specific techniques to address the risks and unknowns at each stage of product development with the ultimate goal of shipping a great product on […]

General Availability (GA)

What is General Availability? General Availability (GA) is the release of a product to the general public. When a product reaches GA, it becomes available through the company’s general sales channel — as opposed to a limited release, or beta version, used primarily for testing and user feedback purposes.

Definition of Ready

Definition: In the Scrum agile framework, Definition of Ready describes the requirements that must be met in order for a story to move from the backlog to development. In keeping with agile tradition, Ready is often defined as a story that can be acted on immediately.

What is a Backlog

A backlog is a list of tasks required to support a larger strategic plan. For example, a product development context contains a prioritized list of items. The product team agrees to work on these projects next. Typical items on a product backlog include user stories, changes to existing functionality, and bug fixes. One key component […]

Agile Principles

What are the Agile Principles? There are 12 agile principles outlined in The Agile Manifesto in addition to the 4 agile values. These 12 principles for agile software development help establish the tenets of the agile mindset. They are not a set of rules for practicing agile, but a handful of principles to help instill agile […]

Agile Framework

What is an Agile Framework? Agile represents an overarching philosophy for software development, emphasizing the value of iterating quickly and often to satisfy customers. Therefore, an agile framework can be defined as a specific software-development approach based on the agile philosophy articulated in the Agile Manifesto. You can refer to any of these frameworks as […]

Continuous Deployment

Definition: In software product development, continuous deployment refers to a strategy that aims to reduce the amount of time between writing code and pushing it live. Common practices under this agile-inspired strategy may include automated testing and automated releases. See Also: Continuous Integration, Continuous Delivery  

Continuous Delivery

In software product development, continuous delivery (CD) is the successful execution of continuous deployment. Whereas continuous deployment aims to reduce the amount of time between writing code and pushing it live, CD is the process by which these efforts successfully and sustainably reach the end-user. Applying this concept elsewhere, CD for product managers can offer […]