Applying the lessons of eXtreme Programming
eXtreme Programming is a new, low
ceremony, very high discipline software development methodology. This seminar
introduces eXtreme Programming, the values, practices and project implications.
Duration and intended Audience
This is a 1 day seminar intended for Project Managers, Team Leaders and Senior
Developers.
This is for people who want to find out more about eXtreme Programming with
a view to improving their current development process. Managing the incremental,
iterative development processes needed by modern software systems is not easy,
so it is useful to see what lessons can be learned from the process that has
taken incremental development to extremes. eXtreme Programming projects manage
to be successful with a 3 week delivery cycle, incrementally gathering requirements
and adding fully tested, useful system features every increment. This seminar
explains how they manage to do that and then explores what the implications
could be for your process.
Course Goals
- Understand the circumstances under which Extreme Programming is applicable
- be able to question the effectiveness of your development process
- understand the need to tune your process
- be able to embrace change
- know how to use version control effectively
- be able to use short cycle incremental, iterative development
Course Content
- Object Methodologies in practice
- Exploring the Methodology space
- High Ceremony, Low Ceremony and Minimal Methodologies
- Extreme Programming, pictures are nice but tested code is better
- Analysis Paralysis and other diseases of software development
- Extreme Programming the values
- Ultra high frequency Communication as a core value
- Simplicity of both design and process
- Activities within Extreme Programming are Feedback driven
- Courage - embrace change as a way of life, rather than build
processes to limit change
- Extreme Programming - an Experience Report
- When we come to realize that change is the only reality, life is much
easier
- A review of the experiences of a high profile Extreme Programming project
- Applying the lessons of Extreme Programming
- Steering projects
- Applying the Quality First strategy
- Using feedback to improve system quality
- Big design up front does not work
- Separating Business and Technical responsibilities
- Incremental development means incremental requirements capture
- Make it run, make it right, make it fast
- Unit Testing and really meaning it
- Avoiding Integration Hell
- Refactoring to improve design quality
- Experimentation requires a high discipline process
- Debugging the development process
- High discipline processes
- Using a process coach to tune and tailor your process
Recommended texts