The Birchwood Park offices of the Department of Work and Pensions (DWP) are working on the new Universal Credit systems, which are a re-working of the benefits systems of the UK. The project is also the biggest project that the UK government is piloting with agile methods. I first heard about this project when I attended the seminar entitled “Towards Agile Government” that was one of the “Diversions” after one day of the SPA 2011 conference. One of the speakers was Steve Dover, who works at the DWP with the title Corporate Director of Major Programmes – ADC, and I explained my trip and asked if I could drop by. He said yes, and so I dropped on by.
I visited the Trader Media offices in Newton-le-Willows on July 26th. I spent almost the entire day with them and had a great time.
The Newton-le-Willows campus takes up three buildings on the outskirts of the town. One houses administrative staff, another has a couple of development teams, and the last is entirely development and operations. In addition to the Newton-le-Willows office there is also a development team in Wimbledon.
I got signed in at the reception in the administrative building and Stuart Taylor came over and took me to the cross-team and cross-site morning standup with the developers in Wimbledon via video conference. We unfortunately got there right near end, but that means that it was a nice short and sweet standup. I got introduced and then everyone split up.
Stuart and I spent the next hour or so visiting all of the various teams and taking a look at what they were up to. Each team lead, and anyone else who cared to listen, got the same spiel time after time from Stuart about who I was and what I was doing. After about the 5th or 6th time he turned to me and said “I’m getting really tired of saying all of this.” I was thinking he probably was, but good on him and a big thanks for not forcing me to do it 🙂
There are quite a few teams at Trader Media. Each is responsible for a different product of the company: the main website, the mobile apps, the core data, the car dealer sites, etc. Each team also gets the freedom to decide how they want to work, how they want to visualize their work, what tools they want to use, and just about anything else.
Pretty much all of the development teams were surrounded by information radiators of their workflows. Even the ops group was starting to use one. I found that to be very cool, since it is something that you don’t see all that often. The guys that we talked to there said that when they had first put it up it had force a realization of how much work they had in process and has caused them to concentrate on reducing that number. They even had a cumulative flow diagram visible that showed that as they reduced the WIP the amount getting done was increasing!
Working on a Feature
Once the parade through the buildings was done we returned to the first team that I had met and I sat down to pair on a reworking of the login and registration features of the main website. We started out by looking at a test and had a great time discussing the feature as well as how the test was written. The guy I was with (sorry, I’ve forgotten the name!) showed me the various ways that they write up automated tests, including the tests written in Twist.
I found Twist to be interesting, and seeing the various ways that they had tried writing tests in it very informative. The tests are written in very much the same way as Cucumber tests with a text form that is executed by code written to a convention. I saw a couple different ways of writing the tests as the team learned how best to use the tool and express their intent. The styles ranged from the basic “click this button then type in this field” to the more advanced “search for Ford Focus” style.
After a while of talking about this evolution I showed another way of writing the tests in straight Java with my remake of Antony Marcano’s ideas using Narrative. This of course then sparked a whole lot of questions and thoughts about ways of making testing code re-usable and understandable to all parties involved.
Being on a Greenfield Project
After lunch I moved over to a new project that they are working on that has not yet been released. I won’t go into any details of what the project is going to offer, but I found the way they were working on it really interesting and some of the technology that they had put together very cool.
The HTML generating was done by creating a way of running jQuery on the server. They had to re-implement parts of jQuery in order to get this to work to their liking. However, since the normal jQuery is what existed in the browser they needed to make sure that both versions behaved in the same manner. To this end there is a suite of characterization tests than are run against both versions.
The data validation was a work in progress when I was there, but the basic idea is straightforward. Define an interface for a validation function and then run it on both the client and the server. They had this working already in basic, single-value cases.
The interesting thing about this framework was that it was built from a lot of existing libraries and a lot of refactoring. The team kept revising their understanding of the domain and the needs of the application and spending the time to refactor the system to express this better. While I was there this process took another step as we came to a realization about how the workflow of the application might be expressed. Unfortunately I didn’t get to see much of the implementation of the idea as the day was drawing to a close.
I cycled my way out of Newton-le-Willows just before the evening rush-hour started. It was a great day in which I got to see a lot of great work and a wonderful diversity of ways of getting stuff done.
I quickly made my way to Birchwood and found the business park in which the DWP building can be found. After confirming which building I needed to go to the next morning I crossed the street and checked into the Ramada Encore.
The day took me through some of the most built up areas of England, but st the same time I got to see some very historically significant towns at the same time. The first very historical city was Lancaster of red rose in the war of the roses fame.
After Lancaster I passed through Preston and got swallowed up by the traffic of the Manchester area. Shortly before I reached Wigan a man cycled up next to me and asked where I was going. We got to talking and he decided to help get me through Wigan. As we rode he gave me a bit of a tour of the area and explained some of the areas we passed. We also touched on topics related to the current state of the world. This topic verged into common themes that I’ve become familiar with as a foreigner: problems caused by people who are “different.”
After I got to Newton-le-Willows I got in contact with Stuart Taylor. He came by, picked me up, and he, I, and another developer from Trader Media (Andre) went out for dinner.
We had a great conversation about how we got into software. Stuart had fallen into it a bit by chance when a professor in university pointed out that he had an apptitude for networking. Andre tested well from school and jumped at the chance to get an early place in university. As we continued to talk about it though we all realized that there was as much chance to it as we had initially supposed. Each one of us had from an early age experimented with computers, and looking back on that it seemed suddenly not at all strange why we had all ended up where we are.
Today I passed from Scotland into England. It happened in the first few miles of the ride. I saw another rider at the sign for “Welcome to Scotland,” while I was taking my picture at the “Welcome to England” sign.
The ride for the day started out nice and flat. It remained that way until after Carlisle. The climbing started out as simple, easy hill climbing, but by the last 15 miles of the day I ended up climbing a mountain. At least it felt like a mountain.
The rest of the day was a lovely and sunny day. The sun was shining with almost no clouds in the sky. I passed through Penrith, which has a quaint little town center, but spent most of the day on the road.
The ride out of Ayr left the coast and cut across land. The road headed toward Dumfries and now that I am out of the Highlands I had a few miles of just moderate climbing and lots of nice downhill coasting.
By this point I think the End to End route has spread out quite a bit. I haven’t met any other riders doing the ride for while now. Most of the cyclists that I have met recently are out for a day ride.
The day started out by jumping on a ferry to cross the river. Once on the other side it was a simple matter of following the road to Ayr.
It turned out that the road between Glasgow and Ayris fairly busy. Thankfully there is a Sustrans route that follows the coast and leads to Ayr (and beyond) as well.
Once I reached Ayr I met up with my wife, mom, and aunt, who had just completed walking the Cataran Trail near Perth. We all settled in for a nice day of rest and relaxation.
Ayr turned out to be a nice little coastal resort town. We had some nice walks along the beach and had a bit of extra sleep. We also learned that Ayr is full of some very nice restaraunts and a wonderful whiskey shop.
For the past week I had been climbing up and down large mountains and hills with all of my camping gear. This gear included the tent, sleeping bag, therm-a-rest, cooking pots, gas canisters, and cooker. All of this added quite a bit of weight to the bike and made the climbing all the harder. Since my knees had started to hurt and part of that was due to the amout of weight that I was carrying, I decided to stop camping and leave all of that camping gear with my wife for her to take back to our house. The rest of the trip I’ll be staying at hotels and B&Bs.
This was a nice, short day that came about because of my inability to remember my planned route, forgetfulness that caused me to leave the printout of the itinerary in Tongue, and then complete lack of any mental faculties such that I spaced on the fact that I had posted that very same itinerary on this very blog. In the end yesterday was longer than planned and today was shorter.
I put the short day to good use by stopping at an inn’s bar to get out of the rain for a while. There I had a great conversation with an older man who turned out to have emigrated from Calgary in the late 60s. I also talked with the bar tender a bit. She came from New Zealand and had only been there for a month and a half by that point. She is in the country on a Working Holiday visa and plans to keep travelling around.
Started the day fearing the rain, and then spent most of the day in that state. This was, of course, for no reason and so I just ended up cycling around 60 miles before I worked up the courage to take off my rain gear.
When I got to Inverary it turned out that I had just missed the Highland Games, which were opened by the Duke of Argyll, no less. I decided to stay at the hostel in the hopes of drying everything out a little.
At the hostel I met another cyclist who is working her way from Campbeltown to Aberdeen over a period of just 3 days! She’ll finish it off with a 90 mile run through the Great Glen and then fall down dead at the door of her destination. We had a great talk about all sorts of topics ranging from computers to children going to university. One of the greatest things about these trips is the people you meet.
The day started and ended with rain. This caused me to think that the defining feature of Scotland is rain. Later in the day I met midges. Now I know that midges really are the defining feature.
The day actually turned out really well. I met a few other riders along the way and discovered that an uncle and nephew pair were going the same way as me. We saw eachother at the hostel in Tongue and then later in the day at the Crask Inn. About an hour or two later we both, independently had the same idea of seeking shelter from the rain in a roadside attraction for a cup of coffee.
I discovered that the nephew lives in Germany, in Ingolstadt, and wants to get into software development! Talk about coincidences! He asked about other tours that I have done and we talked a bit about different attitude towards education and software development in England/USA and Germany. After watching the salmon try to get up a waterfall for a bit I joined up with them for the final 10 miles of their day and then continued on for another 15 miles to reach Evanton.
That final 15 miles included the longest climb yet. Not incredibly steep but it last around 3 miles. During that climb is when I notice that if I drop below 7 miles an hour I get a trailing contingent of flies. If I fall below 6 miles per hour they start to swarm around me. Very strong motivation to keep pushing!
I did get this track uploaded to Garmin Connect, but gave up trying to get it made public after wasting several megs of data transfer trying to get it up and open to the world. The site is great for a desktop browser, but is really horrible for a mobile one (very heavy pages and too flashy of display). I might give up trying to get them up for now.
The day started with a lot of rain and ended with a lot of rain. The in between part was nice and dry with a lot of really good scenery.
I left John O’Groats at about 9:30, which means that I missed out on getting my name in the register. I suppose this blog will be my personal register that I did it. 🙂 Along the way I made a detour to Dunnet head to see the most northerly point on the island and then quickly turned around and continued on to Tongue.
The first 50 miles of the journey was fairly flat and easy. After that, though, the terrain started to change from coastal lowland to coastal mountains and most of my time was spent climbing. After a while I started cursing the gearing on my bike and wished for a yet lower gear. I think that if I had ridden any slow, I would have just toppled right on over, so not having that lower gear was probably a good thing.
It looks like I might have to add an extra day to my time in the highlands. Not because the scenery is unmissable (although it is) but because the hills are taking a bigger toll than I had hoped. Tomorrow will be the day that determines one way or the other.
Tomorrow I cut straight south from Tongue to Alness. I found a topo map that showed the road and it looks like it might to be too bad of climbing, but I need to be ready to stop early if I have to.
P.S. Looks like I get no record of my journey today since my Garmin has mysteriously decided to forget everything (including all of my settings in it).