Extreme programming for green screen systems

green-screenLast month Brian Leach and I presented to London XPDay 2013, on the work we’d done with the teams at Travis Perkins bringing extreme programming practices to green-screen technologies—technologies that were designed before the moon landings. The core platform is the Pick-based UniVerse system with a multivalue database and BASIC as the embedded programming language. You can see our slides on Slideshare.

There’s lots that could be discussed in that area. But for me the most interesting aspect is just what a difficult environment it can be, particularly when it comes to putting automated tests into code that was written 25 years ago when people generally didn’t think about those kind of things. It is usual to find programs of several thousand lines… and all variables are global variables.

It is therefore also a great testament to the software engineers at Travis Perkins who are grasping this nettle and building a pack of repeatable, executable documentation. And they are doing that as part of their daily work, not as an afterthought. Today, that is the expectation and the norm.

In the Q&A someone asked how the engineers kept motivated when having to deal with that kind of thing. Some of those engineers were present and were able to respond directly. The answer is barely technological. Like anywhere, motivation comes from having autonomy, mastery and purpose. The teams are trusted and respected by their peers in the wider business, and are expected to act autonomously as professionals; the internal management team actively encourages people to develop excellence in their work (such as by promoting automated testing); and the systems they are dealing with power a £5bn business, so there is no doubt about the significance of the work.

You can see more in “Using XP practices on 1960s green screen technology” on Slideshare.