Have you been asking yourself, “What is Agile?” You’re in the right place. This is the second installment of a two-part series on the basics of Agile. In the first post we defined how Agile works. Now we’re equipping you with the top 10 key terms you need to know to be conversant in Agile.
Must-Know Agile Terminology: The Top 10 List
1. Agile: An umbrella term for iterative, incremental software development methodologies. Includes Extreme Programming, Scrum, Crystal, Dynamic Systems Development Method, Lean, and Feature-Driven Development. Agile development methodologies emphasize small teams delivering small increments of working software with great frequency while working in close collaboration with the customer and adapting to changing requirements.
2. The Agile Manifesto: Published in 2001 by a group of independent thinkers about software development, the manifesto stresses:
-
- Individuals and interactions over processes and tools
- Working software over comprehensive documentation
- Customer collaboration over contract negotiation
- Responding to change over following a plan
3. Backlog: An evolving list of product/project requirements and activities—often expressed in terms of user stories and prioritized by the customer—that tells an Agile team which features to implement first.
4. Daily Stand Up or Scrum: A daily, 15-minute meeting with the entire team. The primary purpose of the stand-up, or “scrum” is to unearth anything impeding a team member and to promote communication. Stakeholders may attend as silent observers. Three questions everyone should answer are:
-
- What have you done since yesterday?
- What are you planning to do today?
- Do you have any stumbling blocks?
5. Epic: A large user story that is broken down into smaller stories prior to implementation. Usually lower priority items.
6. Product Owner: Helps the team find its clear, elevating goal by defining the features of the product (with stakeholders and customers), developing and prioritizing the product backlog, making scope/schedule tradeoff decisions, and adjusting priorities as requirements emerge. Responsible for the “what.”
7. Sprint: An iteration or uninterrupted period of time during which an Agile development team designs, codes, and tests the product, usually two to four weeks long. At the sprint’s end, the team delivers a “potentially shippable” product increment.
8. Sprint Review: Held at the end of each sprint to promote transparency and give stakeholders a chance to provide feedback. The team gives demos of deliverables, which are accepted or rejected by the Product Owner. This helps prevent the “Big Bang” effect at the end of a project where stakeholders are surprised by a deliverable (positively or negatively).
9. Sprint Retrospective: This happens at the end of a sprint, and allows the team to look inward at what is working and what is not. Teams should focus on areas that will improve cohesiveness and efficiency. Three questions that should be answered are:
-
- What should we start doing?
- What should we stop doing?
- What should we continue doing?
10. Velocity: The average number of points an Agile team accomplishes during an iteration.