Extreme Programming and Agile Methods

Dates: Every Saturday 13/10/07 to 27/10/07
Times: 10:00am - 5:00pm
Duration: 18 hours (6 hours x 3 weeks)
Fees: $1000
Venue: City campus - Building 10

Expressions and Enrolment

If you are interested in this course, please submit an Expression of Interest form to register your interest. Please note if you wish to enroll into this short course, you must also submit an Application Form [PDF 114k] to pay for and secure a place. Submission of an application form is confirmation of your intent to enroll and terms and conditions will apply.

Who Should Attend?

This course is for developers and project managers who are interested in learning more about XP and other agile methods and how they can help improve the quality and responsiveness of their software development projects.

People wishing to enroll in this course should have a good understanding of object-oriented programming in Java, C# or Visual Basic .NET

Course Objectives

At the end of this course a student will:

  • Be able to describe Extreme Programming (XP) practices;
  • Understand the situations best suited to the use of XP;
  • Have experience developing software using XP techniques such as test-first, refactoring and pair-programming;
  • Understand the analysis and estimation techniques of Extreme Programming;
  • Understand the strengths and weaknesses of XP and other agile methods;
  • Have an awareness of other agile methodologies such as Scrum, Dynamic Systems Development Method, etc.
  • Be aware of issues that arise when introducing XP to an organisation;
  • Understand the underlying philosophy of the agile approach to software development.

Course Description

Agile methodologies have had a significant impact on the way software is developed over the last few years. The most well-known of these, Extreme Programming (XP), attempts to address issues such as the high-failure rates of IT projects, continually changing requirements and poor communication between customers and developers.

In contrast to heavy-weight methods that can stifle innovation and produce reams of paperwork, XP aims to keep development projects nimble, so they are able to respond quickly to changing requirements while maintaining high-quality.

Many XP practices, such as iterative development, frequent releases, continuous integration, test-driven development and refactoring are rapidly becoming standard practice in industry.

Course Outline

What is Extreme Programming?

  • XP values
  • XP practices
  • Differences between XP and 'waterfall' development cycle
  • Agile methodologies in general

Planning and requirements gathering in XP

  • Customer interaction: The planning game.
  • Communication: on-site customer
  • Estimation techniques: perfect engineering days
  • Dealing with changing requirements

Software development with XP

  • Testing (test-first)
  • Refactoring
  • Pair-programming
  • Iterative development

Introducing XP to an organisation

  • Case-studies