Community > Glossary

Anti-Pattern

Coined by Andrew Koenig. An anti-pattern is a design pattern that may be commonly used but is ineffective and/or counterproductive in practice.

Code Smell

Coined by Kent Beck. A code smell is any symptom in the source code of a program that possibly indicates a deeper problem.

Daily Scrum

Also known as a Daily Stand-up Meeting or Daily Status Meeting. A daily meeting in which discussion is limited to answering three questions:

  1. What did you do since the last meeting?
  2. What are you working on now?
  3. Is there anything slowing you down or preventing you from finishing your work?

Design Pattern

A design pattern is a general reusable solution to a commonly occurring problem in software design. A design pattern is not a finished design that can be transformed directly into code. It is a description or template for how to solve a problem that can be used in many different situations. Object-oriented design patterns typically show relationships and interactions between classes or objects, without specifying the final application classes or objects that are involved.

Extreme Programming (XP)

A software engineering methodology which is intended to improve software quality and responsiveness to changing customer requirements. As a type of agile software development, it advocates frequent "releases" in short development cycles (timeboxing), which is intended to improve productivity and introduce checkpoints where new customer requirements can be adopted.

Scrum

An iterative incremental framework for managing complex work (such as new product development) commonly used with agile software development.

Scrum Board

Also known as a Task Board. A Scrum Board is a physical representation of the sprint backlog with story cards and task cards. The board is divided up into rows and columns. Each row has one story and the story card starts off in the first column until it is done whereupon it is moved into the last column. Columns represent the state of any given story. Typically "pending," "in progress," and "done." All tasks start off on top of their story card. As the task changes state, it is physically moved across the board. Once all tasks for a given story are done, then the story card is moved to done.

Test-driven development (TDD)

A software development technique that relies on the repetition of a very short development cycle: First the developer writes a failing automated test case that defines a desired improvement or new function, then produces code to pass that test and finally refactors the new code to acceptable standards. Kent Beck, who is credited with having developed or 'rediscovered' the technique, stated in 2003 that TDD encourages simple designs and inspires confidence.