|
eXtreme Programming for Developers
Overview
eXtreme Programming (aka XP) is a new agile approach to software development that is a radical departure from the heavyweight defined processes that have been touted over the last decade as the "proper" way to development software. With practices such as welcoming late changing requirements, pair programming, continual refactoring and a 40-hour work week, the consideration of adopting XP has been somewhat controversial. For developers wanting to apply XP, certain organizational assumptions must be exposed and dealt with.
This course provides attendees with an understanding of what the practices of XP are all about from an objective viewpoint. The course immerses you into the details of XP development practices, providing a clear, objective view of the value to be gained, and the potential issues that you can expect.

Format
A blend of lecture, class discussion, group discussions, exercises and practice sessions will be utilized. Practice sessions will give attendees some experience in working with key XP development techniques in a case study setting.
Course Topics
In XP, software development is viewed as an evolving dialog between the possible and the desirable. XP stresses customer satisfaction, and empowers developers to respond to changing customer requirements, even late in the life cycle. This course will examine the XP context, history, philosophy, principles, practices, and experiences to date.
Specific topics will include:
- Course learning objectives and participant expectations
- eXtreme Programming - background and history
- Industry case studies: successes, failures and misunderstandings
- The philosophy, values and principles of XP
- Controlling the 4 success variables (cost, time, scope and quality) in an XP project
- XP Process model
- XP roles of customer, developer, and management
- The 12 XP practices a cohesive collection of best practices
- Certain key development practices and techniques explored in depth, e.g.
1. recognizing good user stories
2. refactoring
4. pair programming
5. test-driven development
6. collective ownership
7. continual integration and acceptance testing
8. coding standards
9. incremental iterations and releases
- Implementation issues on XP Projects: prerequisites for success
- Automated tool support for successful implementation of XP
- Summary and Wrap-up
|