This category contains 42 posts

An ABC of R2: U is for URLs

…whose structure we worked hard to get right as part of the project. This was an important part of weaving ourselves into the fabric of the web: to ensure our referencing system had a useful structure to those outside our organisation. Previously our URLs looked like this:,,2075005,00.html today the same piece of content is … Continue reading

An ABC of R2: T is for timeline

…which looked like this: October 2005: Start detailed planning of Travel section. Involved about 12 people from Guardian and ThoughtWorks. Much preparation needs to take place before work can begin. February 2006: Start building the Travel section, initially focusing on the servers, development environment and build pipeline. May 2006: Launch first visible item on Travel … Continue reading

An ABC of R2: S is for sitebuilding

…which was the penultimate step before a launch, after the software had been built and released, and before the technical work to finally lift the curtain. One of the big changes that was part of R2 was how we structured our content — our information architecture. Previously each piece of content lived in a section, … Continue reading

An ABC of R2: R is for R2

…which people often think stood for the fact that we were building “revision 2” or “release 2” of It didn’t stand for that, not least because this is actually the third or fourth such revision since we launched in 1999. In fact, it stood for “rebuild and redesign”. However, while plans for the project … Continue reading

An ABC of R2: Q is for quality assurance

…which is a much misunderstood subject. The R2 team consisted of a number of QAs, and the most obvious artifact that the QAs produced and worked with was the test script: a series of detailed instruction that explained what to test and how to test it. For this reason it’s too easy to dismiss QAs … Continue reading

An ABC of R2: P is for pair programming

…which was, and is, a hugely important part of our software development, and something that took a long time to learn to do well. Pair programming is when two developers sit at one machine and one keyboard to write the software. It’s very difficult to do: the driver has the pressure of someone watching their … Continue reading

An ABC of R2: O is for opportunity

…which is a word that we came to understand only slowly, particularly as a counterpart to the word “challenge”. As we worked we inevitably came across problems; Nigel, our indefatigable programme manager, would insist on calling them “challenges”, and casting possible actions as “opportunities”, to the point that it became a running joke. But problems … Continue reading

An ABC of R2: N is for News section

…which was one of the two highest priority launches of project. Yet it happened around 12 months after we planned it, and between the planning and the launch we also launched the home page, video integration, and sections for Media, Technology, Business, Science, Society, Money and Environment. If it was so important, why did … Continue reading

An ABC of R2: M is for milestones

…which are important even on an Agile project. Many people who read just a little about Agile development think there are no fixed commitments. It’s true that there is constant reprioritisation of work, but that generally operates at the task level, and there is still a need to set goals and stick to them. After … Continue reading

An ABC of R2: L is for legacy systems

…which needed to be removed if we were to be productive. Just adding shiny new things would only add to our workload if we didn’t also get rid of the old ones. In fact the most significant legacy systems needed to be removed (or at least isolated) before we could even start R2. These included … Continue reading