Week 6 Flashcards
What is Extreme Programming (XP)?
Started off as a payroll system at Chrysler. Customer-focused approach.
More detail than Scrum. It’s like a methodology rather than a framework like scrum.
What do you need to do before you start writing implementation code?
write user acceptance tests.
How many rules are in XP?
29 rules
What makes a good design?
- Simplicity
- Choose a system metaphor rather than a vast document
- use CRC (class, responsibility, collaboration) card for design sessions to represent objects in the system. Nowadays people use UML diagrams instead of CRC.
- Create spike solutions (throwaway code) to explore options
- Never build anything into the system before it’s needed
- Refactor whenever and wherever needed.
What is a spike?
a user story that will not make it into the final product. It is scheduled like any other user story. It produces throwaway code and resolves uncertainties.
What are integration bugs?
When code is added, it can create new bugs with the stuff that’s existing.
What is collective ownership?
Everyone owns all the classes (i.e. no one person is responsible for the class)
What are the XP values?
They are the ethos of the teams.
1) Communications - convo should be frequent in the team
2) Simplicity - design and code for now rather than designing everything first
3) Design for now
4) Practices - pair programming, test driven dev, continuous integration, programmer welfare