Extreme Programming (XP) Flashcards
Agile Method
What is Extreme Programming (XP)?
It is a software development centric method of Agile
What are the Core Values?
- Simplicity
- Communication
- Feedback
- Courage
- Respect
What are the XP roles?
- Coach
- Customer
- Programmers
- Testers
What are the XP practices?
- Planning Activities (Games)
- Release Planning
- Iteration Planning
- Small Releases
- Customer Tests
- Collective Code Ownership
- Code Standards
- Sustainable Pace
- Metaphor
- Continuous Integration
- Test Driven Development (TDD)
- Pair Programming
What are Planning Activities (Games)?
Meeting where team and customer work together to create and estimate user stories.
What is Release Planning?
The push of new functionality all the way to production user.
Developers estimate build difficulty; customer outlines required functionality
What is Iteration Planning?
Short development cycles with in a release conducted at the start of every iteration
Similar to Sprint Planning
What is a Small Release?
Frequent, small functional increments.
What are Customer Tests?
Automated tests built by development team to demonstrate that software is functional and meets customer standards
What is Collective Code Ownership?
Practice of whole-team responsibilty and multiple people working on all codes, resulting in:
* increased visibility
* shared knowledge of code base
* decrease in errors
* increase in quality
What are Code Standards?
Promotes consistency with common set of practices with end product looking as if it is written by a single, knowledgeable programmer.
What is Sustainable Pace?
A development pace that optimizes the delivery of long-term value and minimize burnout.
What are Metaphors?
Along with similies, metaphors are a concept used to describe designs and create shared technical vision, which helps to establish comparisons that all stakeholders can understand.
What is Continuous Integration?
Critical practice that involves merging codes to ensure they are compatible and exposing problems before more codes are built on top of faulty or incompatible designs.
What is Test-Driven Development (TDD)?
Technique that involves writing an automated test prior to developing the code, then refactoring the code until it passes the test.