A guest post from our Business Analyst and world traveler Alison Sarioglu..
The boring definition:
Agile is a iterative approach to product development that builds incrementally from the start of a project, instead of trying to deliver it all in one go near the end.
In a nutshell, Agile does the same thing you and I would do when faced with too much to do and not enough time. You make a list (user stories), you size things up (estimation), you set some priorities (product backlog), you start executing (two week sprints) and you update the plan as you go based on user feedback.
Why use this approach for website development? Not just because we like using funky terminology – stand-ups, kanbans, swarming, t-shirt sizing, spikes, grooming – but basically because it makes sense, especially in a volatile environment where technology and user needs are constantly changing. Added to this we also get to use copious amounts of blu-tack (donations of other sticky tac brands also welcome), index cards, smelly marker pens and squiggle glass – check it out if you want to make your walls interactive. Getting this installed was actually the highlight of my first three weeks back at ONS!
We have gone down the Agile route because of the user-centred approach that ONS are taking with all customer-facing projects. At the end of each two week sprint new functionality was deployed that could be tested with real users and, based on their feedback, changes were incorporated into the following sprints.
Based on the three personas user stories were written detailing what the site needed to offer, for example:
As an Information Forager
I want to be able to see the headline figures
So that I know what is current
All the stories were added to the product backlog in priority order. During sprint planning sessions stories were sized and picked from the top of the product backlog to form the sprint backlog. Throughout each sprint, 15 minute daily stand-ups were held to monitor progress, identify issues and remove blockers. At the end of each sprint show and tells were held to review what had been delivered and user testing was carried out. Any new stories arising from these sessions were prioritised and added to the product backlog. And so the cycle begins again.
This cycle continued for five sprints with the focus for each sprint as follows:
Sprint 1: Full navigation including search and site pages
Sprint 2: User journeys and homepage design
Sprint 3: More homepage and focus on data layers, including charts
Sprint 4: Develop and implement key findings from user research
Sprint 5: Snagging and tasks to polish and QA all pages and functionality
Oh, I nearly forgot, there are of course specific Agile roles, but essentially the team is made up of product owners, analysts, designers, testers and developers. They all muck in together to move the stories from ‘in progress’ to ‘done’. The story board is very visual with three columns – to do, in progress and done. The team are self-organised to get all the necessary work done, create and own the estimates, have total authority over how the work gets done and avoid siloed ‘not my job’ thinking.
So, that’s basically how we got to where we are in just 10 weeks (pretty much unheard of in terms of ONS web development projects!). We hope you now appreciate the process that we followed. Please visit the prototype website and feedback as much as you can – this is your opportunity to help us deliver a website in the future that works for you.