An acceptance test is a formal description of the behavior of a software product, generally expressed as an example or a usage scenario.
Antipatterns are common solutions to common problems where the solution is ineffective and may result in undesired consequences.
See product backlog.
Backlog Grooming / Backlog Refinement
Backlog grooming is when the product owner and some, or all, of the rest of the team refine the backlog on a regular basis to ensure the backlog contains the appropriate items, that they are prioritized, and that the items at the top of the backlog are ready for delivery.
The most basic form of a board is divided into three columns labeled “To Do,” “In Progress,” and “Done.” Cards are placed in the columns to reflect the current status of that task
Burndown charts and burnup charts track the amount of output (in terms of hours, story points, or backlog items) a team has completed across an iteration or a project.
Business agility is the ability of an organization to sense changes internally or externally and respond accordingly in order to deliver value to its customers.
Continuous deployment aims to reduce the time elapsed between writing a line of code and making that code available to users in production.
Continuous Integration is the practice of merging code changes into a shared repository several times a day in order to release a product version at any moment. This requires an integration procedure which is reproducible and automated.
The daily meeting is one of the most commonly practiced Agile techniques and presents opportunity for a team to get together on a regular basis to coordinate their activities.
Definition of Done
The definition of done is an agreed upon list of the activities deemed necessary to get a product increment, usually represented by a user story, to a done state by the end of a sprint.
Definition of Ready
Definition of Ready involves creating clear criteria that a user story must meet before being accepted into an upcoming iteration. This is typically based on the INVEST matrix.
An epic is comprised of many user stories that are related.
In software development, an “estimate” is the evaluation of the effort necessary to carry out a given development task; this is most often expressed in terms of duration.
Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team.
A facilitator is a person who chooses or is given the explicit role of conducting a meeting.
An Agile team frequently releases its product into the hands of end users, listening to feedback, whether critical or appreciative.
In an Agile context, Incremental Development is when each successive version of a product is usable, and each builds upon the previous version by adding user-visible functionality.
“Information radiator” is the term for any of a number of visual displays which a team places in a highly visible location, so that all team members can see the latest information at a glance.
“Integration” refers to any efforts still required for a project team to deliver a product suitable for release as a functional whole.
The acronym INVEST stands for a set of criteria used to assess the quality of a user story. If the story fails to meet one of these criteria, the team may want to reword it.
An iteration is a timebox during which development takes place. The duration may vary from project to project and is usually fixed.
Agile projects are iterative insofar as they intentionally allow for “repeating” software development activities, and for potentially “revisiting” the same work products (the phrase “planned rework” is sometimes used; refactoring is a good example).
The Kanban Method is a means to design, manage and improve flow for knowledge work and allows teams to start where they are to drive evolutionary change.
A Kanban Board is a visual workflow tool consisting of multiple columns. Each column represents a different stage in the workflow process.
Lead Time is the time between a customer order and delivery. In software development, it can also be the time between a requirement made and its fulfillment.
A Milestone Retrospective is a team’s detailed analysis of the project’s significant events after a set period of time or at the project’s end.
Minimum Viable Product (MVP)
A Minimum Viable Product is, as Eric Ries said, the “version of a new product which allows a team to collect the maximum amount of validated learning about customers with the least effort.”
In Open Space meetings, events, or conferences, participants create and manage their own agenda of parallel sessions around a specific theme.
Pair programming consists of two programmers sharing a single workstation (one screen, keyboard and mouse among the pair).
Personas are synthetic biographies of fictitious users of the future product.
An approach to estimation used by Agile teams. Each team member “plays” a card bearing a numerical value corresponding to a point estimation for a user story.
Agile teams generally prefer to express estimates in units other than the time-honored “man-hours.” Possibly the most widespread unit is “story points.”
A product backlog is a list of the new features, changes to existing features, bug fixes, infrastructure changes or other activities that a team may deliver in order to achieve a specific outcome.
The product owner is a role created by the Scrum Framework responsible for making sure the team delivers the desired outcome.
Relative estimation consists of estimating tasks or user stories by comparison or by grouping of items of equivalent difficulty.
The team meets regularly to reflect on the most significant events that occurred since the previous such meeting, and identify opportunities for improvement.
Rule of Simplicity
Rules of Simplicity is a set of criteria, in priority order, proposed by Kent Beck to judge whether some source code is “simple enough.”
Scrum is a process framework used to manage product development and other knowledge work.
The scrum master is responsible for ensuring the team lives agile values and principles and follows the practices that the team agreed they would use.
Scrum of Scrums
A technique to scale Scrum up to large groups (over a dozen people), consisting of dividing the groups into Agile teams of 5-10.
A sprint backlog is the subset of product backlog that a team targets to deliver during a sprint in order to accomplish the sprint goal and make progress toward a desired outcome.
Sprint planning is an event that occurs at the beginning of a sprint where the team determines the product backlog items they will work on during that sprint.
Story mapping consists of ordering user stories along two independent dimensions.
Splitting consists of breaking up one user story into smaller ones, while preserving the property that each user story separately has measurable business value.
The team aims for a work pace that they would be able to sustain indefinitely.
Test Driven Development (TDD)
“Test-driven development” is a style of programming in which three activities are tightly interwoven: coding, testing (in the form of writing unit tests) and design (in the form of refactoring).
A “team” in the Agile sense is a small group of people, assigned to the same project or effort, nearly all of them on a full-time basis.
The team (ideally the whole team, including the product owner or domain expert) has the use of a dedicated space for the duration of the project, set apart from other groups’ activities.
A timebox is a previously agreed period of time during which a person or a team works steadily towards completion of some goal.
A unit test is a short program fragment written and maintained by the developers on the product team, which exercises some narrow part of the product’s source code and checks the results.
The product owner, the team divides up the work to be done into functional increments called “user stories.”
At the end of each iteration, the team adds up effort estimates associated with user stories that were completed during that iteration.
XP – Extreme Programming
Extreme Programming (XP) is an agile software development framework that aims to produce higher quality software, and higher quality of life for the development team. XP is the most specific of the agile frameworks regarding appropriate engineering practices for software development.