If you're getting started with Agile, you've probably heard a lot of terms and may not know what they all mean. This post will define the key Agile terms and have you speaking like an Agilista in no time.
- Agile: A conceptual framework for undertaking software projects. Agile methods are a family of development processes, not a single approach to software development
- Agile Coach: The team facilitator is called the Agile Coach or Scrum Master. Their job is to implement and manage the Agile/Scrum processes in the project. Scrum masters serve a facilitator role and their authority is mostly indirect.
- Scrum: Scrum is a lightweight agile method for software development. Scrum is named after the Scrum in rugby, which is a way to restart the game after an accidental infringement. It is based on the adaptive methodology of software development
- Sprint / Iteration: A sprint is defined as a 2-5 week increment of software development activities that delivers working software and the end of the increment.
- Product Owner: The customer for whom the project is being performed is termed the product owner. This person is knowledgeable of the business and is responsible for prioritizing the work that the team will tackle in each sprint
- Sprint Planning: Is a pre sprint planning meeting attended by the core agile team. During the meeting the Product Owner describes the highest priority features to the team as described on the product backlog. The team then agrees on the number of features they can accomplish in the sprint and plans out the tasks required to achieve delivery of those features. The planning group works the features into User Stories and assigns Acceptance criteria to each story.
- Daily Standup/Scrum: Each day the Scrum Master leads the team in the Daily Scrum Meeting. This meeting designed to provide status on the progress of the sprint. Each team member speaks to three questions: what did I do yesterday, what did I do today, and what impediments got in my way?
- Sprint Review: Each Sprint is followed by a Sprint review. During this review the software developed in the previous Sprint is reviewed and if necessary new backlog items are added.
- User Stories: A user story is a very high-level definition of a requirement, containing just enough information so that the developers can produce a reasonable estimate of the effort to implement it
- Product Backlog: Acts as a repository for requirements targeted for release at some point. These are typically high level requirements with high level estimates provided by the product stakeholders. The requirements are listed on the backlog in priority order and maintained by the product owner.
- Burndown: A burndown chart is a simple visual tool for measuring and managing sprint progress. Visually, a burndown chart is nothing more than a line chart representing remaining work over time. Burndown charts are used to measure the progress of an agile project at both a micro and macro level.
- Sprint Backlog: At the beginning of each sprint, the team has sprint planning with an end result being a backlog of work that the team anticipates completing at the end of the sprint. These are the items that the team will deliver against throughout the duration of the sprint
- Team Velocity: It is a relative number which describes how much work the team can get done per sprint
- Retrospective: A team meeting to review lessons learned. It is based on the principles of applying the learning from the previous sprint to the upcoming sprint.
Once you learn these terms, you will be able to communicate with agile team members in their language and will be on your way to delivering working software one sprint at a time!