Frank Westphal
Independent trainer and consultant

<bigwig> service: jaoo Bio
Frank Westphal is an independent trainer and consultant from Hamburg, Germany. He has been developing object-oriented software in various roles since the early 1990s. In 1999, he formed a team which used all of the practices of XP. Since then he has helped introducing many of the practices and principles of XP into other organizations.

Transitioning to XP

Transforming yourself, your team or your organization to using a lightweight development methodology like Extreme Programming isn't easy. While some practices may simply fall into place, others might be difficult to implement due to technical, political, organizational or personal obstacles.

In this presentation, you will learn how to triumph over the challenges of transitioning to XP. We will discuss what problems you might encounter during the adoption phase, what the most common pitfalls are, and what life after XP feels like.

Test-first Programming with JUnit

Unit testing is a central activity in Extreme Programming that is to be performed on a minute-by-minute basis. Acknowledging the fact that your development will be going faster if you're proceeding in tiny little steps towards your goal, getting instant feedback from your tests, and knowing when your code starts working, as well as when it stops working, a little testing can make such a big difference on your project.

For many projects, doing XP or not, the xUnit family of testing frameworks has become the tool of choice to write and run a suite of automated unit tests for their code. JUnit, the Java flavor of xUnit, is gaining increasing acceptance throughout the Java community. Simply because the tests are composed directly in the Java language, testing with JUnit is as simple as compiling your code. If you're a pragmatic programmer, you ought to take a look into this mighty development tool at your disposal. Whether you will come to this tutorial or not, you really should look into JUnit.

This tutorial will add JUnit and the design technique of test-first programming to your internalized tool box. We will take a look at the anatomy and utilization of the JUnit testing framework. In a hands-on environment, you will experience the rhythm of test-first programming, working with a partner on a test case and satisfying the test with running code. You will see how, together with the XP techniques of refactoring and simple design, you can incrementally grow a well-factored and long-lived code base. We will discuss the economics of unit testing, a couple of recurring testing patterns, the application of mock objects, and how to test areas in your code that are usually very hard to test.

What's important is that we'll not just talk about unit testing. We'll explore the testing strategy as practiced in Extreme Programming throughout the day in a couple of programming episodes. So please don't forget to bring along a laptop computer, your favorite Java development environment, and some enthusiasm for programming in pairs and having some fun. You can arrange to bring one computer per two programmers. It would be beneficial but it's not mandatory to load and test JUnit prior to this class.

If you want to take a look at JUnit before the conference, please visit

Please don't forget to bring along a laptop computer.


Transitioning to XP (Best Practise, Extreme Programming)
Frank Westphal, Independent trainer and consultant
Wednesday [10:30 - 12:00] Session Room 2

Slides from this presentation