Ch. 3: XP, Scrum and Agile Flashcards
What is agile development?
Systems are developed as a series of versions
What are the principles off agile methods?
- Customer involvement
- Incremental delivery
- People not process
- Embrace change
- Maintain simplicity
What are the agile development techniques?
Extreme programming
What is extreme programming?
- New versions may be built several times per day
- Increments are delivered to customers every 2 weeks
- All test must be run for every build, build only accepted if tests run successfully
What is the XP release cycle?
- Select user stories for this release
- Break down stories to tasks
- Plan release
- Develop/integrate/test software
- Release software
- Evaluate system
What are XP programming practices?
- Incremental planning
- Small releases
- Simple design
- Test-first development
- Refactoring
- Pair programming
- Collective ownership
- Continuous integration
- Sustainable pace
- Onsite customer
What are the key XP practices?
- User stories
- Refactoring
- Test first development
- Pair programming
Describe the refractoring process?
Constant code improvement
Programming team looks for improvements in the software
Describe the User stories process?
- User stories are written on cards
- Development team breaks them down into implementation tasks
- Tasks are assigned cost estimates
- User stories are used as user requirements
Describe the test first development process?
- Write tests before code clarifies the requirements to be implemented
- Tests are written as programs that can be executed automatically
What is the customers role in the testing process?
Help develop acceptance tests for stories that are to be implemented in the next release of the system
Describe the pair programming process?
- Programmers work in pairs to develop code
- Programmers sit at the same computer to develop the software
What is scrum?
An agile method that focuses on managing iterative development rather than specific agile practices
What are the three phases in scrum?
- Initial phase
- Sprint cycles
- Project closure phase
What happens in the initial phase in scrum?
Establish general objects for the project
Design software architecture