Lessons from 2019

We’ve been working on changes to our website since 2018, developing a brand new site with a programme planning feature, improved navigation and a joined-up group finder experience.

We’ve learnt a lot in the process and, to welcome in the new year, we thought we would share some of our lessons with you.

*

Agile working is incredibly effective

To assist in the development of our webplatform, we changed the way we worked. Traditional development often uses a methodology called waterfall, where software creation is broken up into a series of phases where each depends on the delivery of the last. This means that software can take longer to reach the user because it isn’t iterative.

Agile, however, focuses on a series of user stories, or desired experiences, to identify what features should be prioritised. By placing the user front and centre, functional software can be developed and user experience can be improved.

Using Agile meant we could:

  • Work in fixed “sprints” to set feature development goals
  • Have regular, timed meetings to showcase the previous week’s work, discuss lessons learned and generate future ideas
  • Empower the team to own the creation, development and upkeep of individual features
  • Iterate development to ensure features are released when ready rather than waiting for the whole project to complete

We’ve learnt that Agile is an incredibly powerful tool. It gives structure and focus to the creation of software and helps to break down projects into bite-sized chunks of features which can be released as they are completed. This, ultimately, helps to put the user at the heart of everything we do.

Going “Beta” invites everyone to improve your tools

One of the benefits of Agile development is the ability to release software part-way through its development. When a website is usable but there are features you’d like feedback on, releasing it in a “beta” stage helps to collect feedback from people outside the development team.

The feedback you have given us, on features such as our programme planner and group finder, has helped to shape their development. We’ve held dozens of webinars to discuss features, testing sessions to walk through user journeys and have strived to embed volunteer involvement at every stage of development. We’ve had almost 400,000 visitors to our site since its launch and received 4,380 individual pieces of feedback. Our tools have been improved immeasurably as a result.

We’ve found releasing our webplatform in its “beta” stage to be one of the most effective elements of our new way of working, helping us to continuously measure, test, and learn.

One for the techies: going headless is complex but worthwhile

For our webplatform, we wanted to create a mobile-first design that prioritised the user experience, using modern web technologies like Vue.js to create a reactive and responsive site. To fill it with content, we realised we were going to have to use what’s known as a headless CMS.

Beneath every website is a means to alter its content, called a Content Management System or CMS. They are often linked directly to the front-end or user interface of a website, like WordPress, but those systems are often restricted by their developers and difficult to customise.

It is also difficult to link a custom user interface to those systems without creating a Frankenstein’s monster of a website, with the CMS servicing some pages and other, static pages being displayed to create a unique or modern feel. We didn’t want to do that – we wanted our users’ experience to be consistent so coupling Vue with a headless CMS, Umbraco, gave us that ability.

While “going headless” gave us the user experience we wanted, it also created problems due to the complex nature of its implementation. With WordPress, there is one system to manage, one app to deploy. With a headless CMS, because it is detached from the user interface and the database as a separate entity, there is another system to manage. You have to have two environments which are kept in sync to ensure that functionality in one is mirrored in the other.

This proved particularly difficult for generating previews – something Umbraco does out of the box – because the CMS was not attached directly to the website. We had to adapt our working practices to achieve the functionality that would have otherwise come out of the box. We had to make sure our decision, driven by our desire to create the best user experience, was deliverable and manageable by our teams, too.

We’re very glad we persisted in implementing Umbraco, which makes it easier than ever before to manage and update a wide array of custom information across our webplaftorm. We learnt a lot during this process, but the successful deployment has reinforced the lesson that what’s good for the user is, in the end, also good for our team.

*

We’re proud of what we’ve been able to deliver so far, and we’ve enjoyed learning and growing as an organisation during the course of our webplatform’s development.

Looking to 2020, we’re excited about the prospect of following the major digital trends of this year by putting data centre stage. We’ve already started to gather analytics about our website, whether through our Feedback tool or through Google Analytics, but we’ll be looking to use this data to inform our development priorities in the future.

We look forward to working with you throughout 2020 to test and improve our webplatform.

Comments

  1. Avatar Guy Livingston 07/01/2020 / 4:04 pm

    Very interesting to hear views from another Agile Team, we’ve now been using the Agile method for nearly 5 years and it’s certainly worked for us.

  2. Avatar Jon Bloor 07/01/2020 / 4:07 pm

    Good job in 2019, the group finder just needs to be embeddable/link to local groups/Wordpress widget. It’d also be good to be clear about when updates in Compass will be reflected in it.

    Now in 202, think connected and do the deal with OSM!

  3. Avatar Matt 07/01/2020 / 9:03 pm

    Without wishing to labour the point, WordPress is quite capable of being used headless, exposing data via the REST API or GraphQL. Frontity or Gridsome are good examples of frameworks built to do this, or you can roll your own. So you could take digital.scouts.org.uk (running WordPress) and plug its data into your new Vue.js front end.

    Thanks for persevering through the beta and listening to user feedback, as the new scouts.org.uk is far better than the old website.

    • Avatar James Calmus 13/02/2020 / 1:15 pm

      Hi Matt, thanks for this and for the extra knowledge on WordPress! I think that’s a really interesting idea, connecting WordPress to Vue. Also really good to hear your feedback on the beta site – the team here has worked really hard and it’s also great to see members’ involvement bear fruit. James

  4. Avatar Norma Brandon 08/01/2020 / 10:29 am

    Sounds like you’ve got a great development team that are enjoying what they are doing. One of the major issues from what I have experienced with Agile is that documentation tends to get left behind causing an ultimately undocumented, unmaintainable system once the people that have developed it move on. Are you taking steps (I take it through Umbraco) to guard against this likelihood?

    • Avatar James Calmus 13/02/2020 / 1:09 pm

      Hi Norma, thanks for your comment! Agree that it’s really important to make sure our documentation is up-to-date and our system is maintainable. We’re making sure we’re documenting the work we’re doing on our internal tools and have an internal wiki with step-by-step explainers on how to use certain elements of our systems, like Umbraco. That makes a reference that’s really useful for all of our teams and will hopefully safeguard against the problems you rightly identify as a common side-effect of Agile working!

    • Avatar James Calmus 13/02/2020 / 1:09 pm

      Hi Norma, thanks for your comment! Agree that it’s really important to make sure our documentation is up-to-date and our system is maintainable. We’re making sure we’re documenting the work we’re doing on our internal tools and have an internal wiki with step-by-step explainers on how to use certain elements of our systems, like Umbraco. That makes a reference that’s really useful for all of our teams and will hopefully safeguard against the problems you rightly identify as a common side-effect of Agile working! James

Leave a comment