Agile Glossary Part 1: Scrum, Kanban, and Extreme Programming (XP)
Sanplex Content
2020-12-28 15:00:00
3419
In this Agile glossary, we’ll explain 19 key Agile terms that will help you decode this software development methodology.
- Agile Glossary Part 2: Backlog, Iteration, and More
- Agile Glossary Part 3: Iteration Velocity, User Story, and More
Key Terms to Cover:
- Scrum
- Kanban
- Extreme Programming (XP)
- Acceptance Testing
- Backlog
- Burn Down Chart
- Daily Meeting
- Effort Estimates in Abstract Units (Points)
- Impediment
- Iteration
- Iteration Planning
- Iteration Velocity
- Kanban Board
- Release Planning
- Task Board
- Test-Driven Development
- User Story
- Workflow
- Work-in-Progress (WIP)
1. SCRUM
Scrum is an Agile methodology for software project management. Scrum was invented in 1993 by Jeff Sutherland, John Scumniotales, and Jeff McKenna. According to the latest surveys, Scrum is the most popular Agile project management methodology in software development. Scrum is often mixed with Extreme Programming engineering practices, like TDD and refactoring, for better results.
Core Scrum practices include:
- Backlog: (Product, Release, and Sprint Backlogs - lists of all functionality in the product, release, and sprint, respectively).
- Iterative development: (The whole project gets divided into Sprints, usually lasting 4 weeks each).
- Scrum meetings: (Daily meetings where team members answer the following questions: What have you done since the last daily scrum? What has impeded your work? What do you plan on doing between now and the next daily scrum?).
- Burn Down Charts: (Charts that show Sprint, Release, and Product progress).
- Sprint review meeting: (Provides an inspection of project progress at the end of every Sprint).
2. Kanban
The Kanban Method for application to IT and software development was formulated by David Anderson in 2010 as an approach to incremental, evolutionary process and systems change for organizations. It uses a work-in-progress limited pull system as the core mechanism to expose system operation (or process) problems and stimulate collaboration to continuously improve the system. Visualization is an important aspect of Kanban as it allows teams to understand the work and the workflow. Although Scrum is still the most popular methodology, Kanban adoption within organizations is growing at a fast rate.
Core Kanban practices include:
- Visualize the workflow: (Written in Kanji [Chinese characters], "Kanban" means "sign" or "large visual board." Kanban boards are one of the ways to display progress).
- Limit Work-In-Progress (WIP): (Use a pull system – establish and respect your ideal capacity).
- Manage Flow: (Monitor, measure, and report the flow of work through each state).
- Make Process Policies Explicit: (Describe the process accurately in order to improve it).
- Implement Feedback Loops: (Compare expected outcomes with actual outcomes and make adjustments).
- Improve Collaboratively, Evolve Experimentally: (Use models and the scientific method to implement continuous, incremental, and evolutionary changes).
3. Extreme Programming (XP)
Extreme Programming is a software engineering methodology. It is built on five core values: Communication, Simplicity, Feedback, Courage, and Respect. These values are supported by numerous agile practices (e.g., Pair programming, Planning game, Continuous integration, Small releases, Simple design, etc.).