Agile Glossary

Agile Glossary

It all started with the Agile Manifesto. From there, a movement was born that has swept the software development world and beyond.

Agile is a management approach that is all about collaboration, continuous delivery, and delivering value to customers.

Agile management was initially designed for software development projects. Still, it can be used in any type of project, and it's based on the idea that change is constant and that it's better to respond to changes quickly than to plan for them ahead of time. 

Agile works by breaking projects down into small, bite-sized pieces that are more manageable. The Agile framework is designed to be flexible and adaptable and can be used for projects of any size or complexity.

If you're new to Agile, then you might feel overwhelmed by all the new terminologies. To help you out, we've put together this handy Agile glossary.

 

A

Acceptance criteria: Acceptance criteria are the conditions that a user story must meet in order to be considered complete. Acceptance criteria are used in agile software development to ensure that a user story meets the customer's needs and that it can be delivered in a timely manner.

Acceptance Test Driven Development (ATDD): A software development methodology in which acceptance tests are used to drive the development process. ATDD is an extension of Test Driven Development (TDD) that focuses on collaboration between the customer, development, and testing.

Agile: Agile is a management approach that is all about collaboration, continuous delivery, and delivering value to customers. Agile was originally designed for software development projects but can be used in any type of project. Today, Agile is gaining popularity as an effective management approach in a variety of industries

Agile Manifesto: The Agile Manifesto is a set of 12 guiding principles for software development. It was created in 2001 by a group of seventeen software developers who were frustrated with traditional development methods. The agile manifesto has four core values; individuals and interactions over processes and tools, working software over comprehensive documentation, customer collaboration over contract negotiation, and responding to change over following a plan.

Antipattern: An antipattern is a common solution to a problem that is usually ineffective and leads to more problems than it solves. Antipatterns are often used in software development by coaches and consultants trying to help teams improve their processes.

Automated Build: An automated build is a software development process in which the building of the software can take place without the need for manual intervention. Automated builds are typically triggered by changes to the code repository, and they can include tasks such as compiling the code, updating the database, or running tests.

Automated testing: Automated testing is a software testing technique that uses special software to execute test cases and report the results automatically. Automated testing can be used to regression test changes to the code and to ensure that new features meet the requirements.

 

B

Backlog: A backlog is a list of tasks that need to be completed. In Scrum, the Product Backlog is a list of all the work that needs to be done on a product. The Sprint Backlog is a list of the work that needs to be done in a particular Sprint. The backlog has to contain all of the essential information about each task, including the title, description, acceptance criteria, and estimates. The team can work on only the tasks that are on the backlog, but just because something is on the backlog doesn't mean it will get done. The Product Owner prioritizes the backlog, and the team decides what tasks to work on during each Sprint.

Behavior-Driven Development (BDD): A software development methodology that combines the best practices of TDD and ATDD. BDD is an iterative and incremental approach that focuses on delivering software that meets the customer's needs, working from the outside in.

Burndown Chart: A burndown chart is a graphical representation of the work remaining in a Sprint and the work that's already been completed. Burndown charts are used to track a Sprint's progress and identify any potential problems early on.

Burnup chart:  A burnup chart is a graphical representation of the work remaining in a project. Burnup charts are used to track a project's progress and identify any potential problems.

Business Agility: Business agility is the ability of a business to adapt quickly to changes in the market. Business agility can be achieved through agile software development practices.

 

C

Collective Ownership: This means that anyone on the team can and should pick up any task and work on it. This helps to prevent bottlenecks and ensures that everyone is working on the most important tasks.

Continuous Delivery: Continuous delivery is a software development methodology in which software is delivered frequently, typically every week or every two weeks. Continuous delivery is designed to increase feedback speed and rapidly deploy new features. Continuous delivery is an extension of continuous integration, and it is a key component of DevOps. In order for continuous delivery to be possible, there must be a high level of automation in the software development process.

Continuous Integration: Continuous integration is the practice of merging all developer working copies with a shared repository several times a day. Continuous integration is designed to reduce the risk of integration problems and to improve the quality software development methodology in which software is delivered frequently. Continuous integration is an extension of agile software development, and it is a key component of DevOps.

CRC Cards: CRC cards, or Clear Responsibility Collaborator cards, are a tool for designing object-oriented software. CRC cards help to improve communication and can be used to reduce misunderstandings by making the design process more explicit and having the design team members share their understanding of the design and role-play the various design ideas.

Customer Development: This is a four-part process that helps identify the right customers, understand their needs, build the right product, and then bring it to market.

Customer Involvement: Customer involvement is a software development methodology in which the customer is involved in the development process. Customer involvement helps ensure that the product meets the customer's needs and can be used to reduce misunderstandings.

 

D

Daily Meeting: A daily meeting is a short, Daily Stand-up meeting in which team members update each other on their progress and discuss any impediments.

Definition of Done: The Definition of Done is a set of criteria that must be met before a task can be considered complete. In Scrum, the Definition of Done is used to ensure that all tasks meet the agreed-upon standards before they are considered complete.

Definition of Ready: The Definition of Ready is a set of criteria that must be met before a user story can be considered ready for development. In Scrum, the Definition of Ready ensures that all user stories are well-understood and have all the necessary information before they are added to the next iteration.

DevOps: DevOps (a combination of development and operations) is a software development methodology that combines the best practices of agile software development and continuous delivery. DevOps is an iterative and incremental approach that focuses on delivering software that meets the customer's needs and doing it as fast as possible by automating the software development process and collecting fast feedback.

 

E

Epic: In agile software development, an epic is a large user story that is too big to be completed in one Sprint. Epics are broken down into smaller user stories that can be completed in a single Sprint.

Extreme Programming: Extreme Programming (XP) is an agile software development methodology that aims to produce high-quality software by using short development cycles, constant feedback from customers, and close collaboration between developers and customers.  

Exploratory Testing: Exploratory testing is a type of testing in which the testers are free to explore the software without following a specific test plan, as opposed to scripted testing. Exploratory testing is often used in agile software development, as it allows for rapid feedback and flexible testing.

 

F

Facilitation: Facilitation is the act of helping the Scrum team to self-organize, self-manage, and stay focused on the goal. The facilitator does not take on the role of leader but instead helps the team to function more effectively and is neutral with regard to the group's outcome. 

Feature: In software development, a feature is a piece of functionality that can be added to a product. Features are often developed in response to customer requests, and they are typically added to products through a process of continual improvement.

Feature Driven Development (FDD): A software development methodology that is based on the concept of features. FDD is an iterative and incremental approach that focuses on delivering small, functional software increments based on the end user's requirements.

Functional Testing: Functional testing is a type of testing that focuses on the functionality of the software. Functional testing can be used to test individual features or entire products.

 

G

Given When Then: Given-When-Then is a testing methodology that can be used to write acceptance tests for a user story. Given-When-Then tests are written in three parts: Given, When, and Then. Given provides the context for the test, When defines the actions that will be taken, and then defines the expected results.

 

I

Impediment: An impediment is anything that prevents a team from working effectively and finishing their Sprint Goal. Impediments can be external or internal to the team, and they can be anything from technical problems to interpersonal conflict.

Incremental Development: Incremental development is a software development methodology in which new features are added incrementally rather than all at once, building on the existing version. Incremental development allows for more flexible development, as new features can be added and removed more easily.

Integration: This is the process of combining different parts of a product to form a whole. In agile software development, integration typically happens at the end of each Sprint when new code is added to the main code base.

Integration Testing: Integration testing is a type of testing that focuses on integrating the software's features to form a complete product. Integration testing can be used to test individual features or entire products.

INVEST: INVEST is an acronym that helps to remember the qualities of a good user story. The letters stand for Independent, Negotiable, Valuable, Estimable, Small, and Testable. If a story doesn't meet all of these criteria, then it's not ready to be worked on.

Iteration. An iteration is a unit of time in which a team works on a set of tasks. In agile software development, iterations are typically two weeks long,

Iterative Development: Iterative development is a software development methodology in which a product is developed in iterations. In each iteration, new features are added and existing features are improved. Iterative development allows for more flexibility, as new features can be added and removed more easily. It also means that each iteration can be taken as an individual and sold.

 

K

Kanban: Kanban is a lean manufacturing system that uses visual cues to control workflow. In software development, Kanban can be used to manage the development process by visualizing the workflow and using Kanban boards to track the progress of tasks. Kanban is a pull-based system that helps optimize workflow and minimize waste. 

Lean Software Development: A work management methodology that is based on the principles of lean manufacturing. Lean software development is designed to reduce waste and increase efficiency. improving focus and clarity, and increasing transparency and collaboration.

Lead Time: In agile programming, lead time is the time it takes from when the task is created to when it is delivered to the completed. Lead time can be used to measure the efficiency of a team and to identify areas where improvements can be made.

 

P

Pair Programming: This is a software development tehnique in which two developers work together on the same task so that they can share knowledge and ideas to develop a single feature.

Personas: These are fictional characters that represent the different types of users of a product. Personas are used to help developers understand the needs of the user and to design products that meet those needs.

Planning Poker: This is a gamified approach to estimation in which team members each vote on the size of a task using cards with numbers on them. The votes are then used to come up with an estimate for the task.

Points: Story points are a unit of measurement used in agile software development to estimate the relative size of a user story. One story point is equal to one unit of work.

Product Backlog: The product backlog is a list of all the features that need to be implemented in order to complete a project. The product backlog is used in agile software development to prioritize the features that need to be developed.

Product Owner: The Product Owner is responsible for ensuring that the product meets the customer's needs. In Scrum, the Product Owner is responsible for creating and maintaining the product backlog, which is a list of all the work that needs to be done on a product. The Product Owner is also responsible for prioritizing the work in the product backlog and ensuring that the team has a clear understanding of what needs to be done. They will also decide when a task on the backlog was delivered or not.

 

R

Refactoring: Refactoring is the process of modifying code to improve its design without changing its functionality. Refactoring is an important part of agile software development and is used to make code more readable, maintainable, and extensible.

Relative Estimation: This is a method of estimation in which the size of a task is relative to other tasks. This means that the size of a task is not based on an absolute scale, but rather on how big it is compared to other tasks.

Retrospective: A retrospective is a meeting that is held at the end of a Sprint in order to discuss what went well and what could be improved. Retrospectives are an important part of agile software development as they help to continuously improve the process.

 

S

Sanity Testing: Sanity testing is a type of testing that focuses on the stability of the software. Sanity testing can be used to test individual features or entire products to make sure that any bugs have been fixed.

Scaled Agile Framework (SAFe): A software development methodology that is based on the principles of agile software development. SAFe is a framework that helps organizations to scale agile across the enterprise.

Scrum: Scrum is an agile framework for managing work. It is characterized by short, timeboxed Sprints in which teams work to complete a set of predetermined tasks. Scrum is designed to be flexible and adaptable and can be used for projects of any size or complexity.

Scrumban: This is a hybrid that uses the best practices of the Scrum and Kanban frameworks. This was created in order to address the shortcomings of both frameworks by combining the strengths of each.

Scrum Master: The Scrum Master is the person responsible for facilitating the Scrum process. In Scrum, the Scrum Master is responsible for removing impediments and helping the team to stay focused on the Sprint goal. The Scrum master is also responsible for facilitating the daily stand-up meeting, in which team members discuss the work that they have done and the work that they are going to do.

Scrum of Scrum: This is a meeting that is held between the members of each Scrum team in order to coordinate work and resolve dependencies so that they can deliver complex products.

Simple Design: This is a design principle that states that the design of a product should be as simple as possible. This means that unnecessary features should be removed and that the product should be easy to use and understand.

Smoke Testing: Smoke testing is a type of testing that focuses on the key functionalities of the software but doesn't test all the details. Smoke testing can be used to test individual features or entire products to ensure that the most important functionalities are working correctly.

Sprint Planning: This is a meeting that is held at the beginning of a Sprint in which the team decides what user stories to complete during the Sprint.

Story Mapping: This is a technique that is used to visualize the user stories in a product backlog. Story mapping is an important tool as it helps to prioritize the development of a product.

Story Splitting: This is a technique that is used to break down large user stories into smaller ones so that they can be more easily developed. Story splitting is an important tool as it helps to ensure that user stories are small enough to be completed within a Sprint.

Sprint: A Sprint is a short, timeboxed period of time in which a team works to complete a set of tasks. In Scrum, Sprints are typically two weeks long.

Sprint Backlog: The Sprint backlog is a list of the work that needs to be done in a particular Sprint. In Scrum, the Sprint Backlog is created at the beginning of each Sprint and is used to track the team's progress during the Sprint. The Product Owner and the team determine the contents of the Sprint Backlog, and it is the responsibility of the team to complete the work in the Sprint Backlog.

System Testing: System testing is a type of testing that focuses on the entire system, including all dependencies. System testing can be used to test individual features or entire products.

 

T

Task board: A task board is a visual tool that is used to track the progress of a Sprint. In Scrum, the task board is used to track the work that needs to be done in a Sprint and to help the team to stay focused on the Sprint Goal.

Test Driven Development (TDD): A software development methodology in which tests are used to drive the development process. TDD is an iterative and incremental approach that focuses on delivering software that meets the needs of the customer.

Timebox: A timebox is a short, fixed period of time in which a team works to complete a set of tasks.

 

U

Ubiquitous Language: Ubiquitous language is a software development methodology in which a shared language is used by all team members. Ubiquitous language helps to improve communication and can be used to reduce misunderstandings.

Unit Testing: Unit testing is a type of testing that focuses on the individual units of code. Unit testing can be used to test individual features or entire products.

Usability Testing: Usability testing is a type of testing that focuses on the usability of a product. Usability testing can be used to test individual features or entire products.

User Acceptance Testing: User acceptance testing is a type of testing that focuses on whether or not a product meets the user's needs. User acceptance testing can be used to test individual features or entire products.

User Stories: User stories are short descriptions of the functionality that a user needs from a product. User stories are used in agile software development to capture the requirements for a product.

 

V

Velocity: This is how much product backlog a team can handle in one Sprint. You can use the velocity to plan for projects and establish completion dates.

3 C's: The three C's is a formula for writing user stories that includes Card, Conversation and Confirmation. A card is a physical or virtual representation of a user story, a conversation is a conversation between the Product Owner and the team about the user story, and confirmation is a way to verify that the user story has been completed.

Previous
Previous

Who is the Product Owner in Agile?

Next
Next

Why Hiring An External Scrum Master Offers Benefits