An XP Interview

While reading the book “Extreme Programming Explained,” I came across an interview with Brad Jensen a Senior Vice President of Airline Products Development at Sabre Airline Solutions. During the interview, Brad explained how he applied XP within his company and some of the difficulties he faced.

In this blog, I will be sharing my takeaways from this interview; because I thought it is worth sharing with others especially those willing to apply XP.

XPExplained

The Interview

Brad explained that he was able to apply XP in his company that consisted of 300 employees, 240 of which are developers, 25 in management and 35 in testing. His primary purpose was to bring 13 products into one organization with one architecture and one UI.

They started by giving a one-week training for each of the 13 groups then followed by coaching when they started applying XP. But, he advises on doing the training for one team at a time (making sure each time that the team got the concept of XP)

My Takeaways

  • How he made it work
    • XP was a perfect fit for Java projects with a motivated team
    • Testing and refactoring of C++ legacy code were very hard due to the complex design and lack of refactoring tools. Thus, XP had to be applied in a waterfall-ish way for such projects. Which meant:
      • more design and requirement gathering up-front
      • formal testing phase before deploying
    • Using XP decreased the number of defects to zero in some Java projects. For the C++ legacy, the defects dropped to a ratio of one to two per thousand lines of code
    • They noticed a 40% increase in productivity
    • It wasn’t easy to adopt XP! At first, only a third buy-in whereas the rest either are skeptical or just wait and see. Eventually, 80-90% buy-in, 10-20% use XP grudgingly and 3-5% never buy-in
    • If programmers don’t pair or insist on owning code have the courage to fire them
  • On-site Customers
    • A project manager should represent all of his customers
    • Having on-site customers is the most valuable part of XP because it gives you the ability to manage properly the scope and visibility on whether you are going to make it or not.
    • Without careful watching, on-site customers can cause the most problems as scope management can turn into scope creep
  • Advice for Executives
    • Plan by feature
    • Plan release once a quarter
    • Plan fixed-iterations more frequently
    • Have customers sit with the team
    • Put team in one open space

Give It a Try

In my team, we’ve been using this methodology for a while now, and it is working perfectly for us. We maintain clean code with test coverage up to 85%. We also managed to tune it to fit our needs, for example doing remote pair programming (you can check some of Philippe’s posts for more insights on the way we work.)

The importance of this interview is that it provided a real example of applying XP not only theories. Thus, it might encourage leaders to give XP a try!

I highly advise you to read this book. If you are new to XP, this book will give you insights on what this methodology is, why is it important and how to adopt it within your team. If you are already an XP developer, this book is your reference to know whether you are applying it correctly or not.

” You will only value XP when you give it a try!”

 

My First Audible Experience

The featured image is a screen shot of the last chapter of “Soft Skills: The software developer’s life manual” on Audible. It was an indication that I had just finished my first audible book!! Honestly, I never thought I would be listening to books; it always sounded weird to me.

It all started a couple of weeks ago when Philippe suggested that I listen to this book in parallel to the other books I am reading (The Power of Full Engagement and Refactoring: Improving the Design of Existing Code). Knowing Philippe, it has to be worth a try if it something he is suggesting 🙂 After our discussion, I directly logged-in to my Amazon account and noticed that I had two free Audible books!! It was a matter of minutes to have both the book and the Audible application downloaded on my phone.

My Feedback

It turned out I was wrong. It was an exciting and enjoyable experience and here is why:

  1. It is more accessible than reading books. Unlike reading a hard copy of book, you can play Audible at almost any time and place (while driving, jogging, onboard a plane, etc.)
  2. It is unlikely to be exhausted to listen. I was on a night flight back home, after spending the first thirty minutes of the flight reading a book I reached a point where I wasn’t able to digest the words anymore. So I switched to my phone and started listening to the book, I was surprised that the remaining two hours of the flight passed quickly. It was then that I noticed that even if you are too tired to read you still can listen and learn.
  3. You can finish books faster. The above two points have a significant role in speeding up the process. I managed to finish this book in 15 days; it might not be a great timing, but it is definitely faster than reading the book.
  4. Audible is a great application. I haven’t explored each and every feature of this tool yet, but I think it is a great one for the following reasons:
    • You can quickly add bookmarks with notes if needed
    • Synchronization between the web and phone applications makes it easy to switch between the two
    • It motivates the listener by rewarding badges and suggesting bragging about it on social media
    • It has an excellent playback system especially when you get interrupted by a phone call or notification
  5. Soft Skills was a good selection. Probably the book I picked to be my first audible experience helped to build this positive feedback. The book itself is excellent, and a must read for all developers. The narrator, as well, being the author added a unique taste by improvising and sharing his personal experience from outside the book.

I highly advise anyone to give Audible a try. Personally, now am looking for the next book to listen to! Any suggestions? 🙂