“It’s great to see Scouts fully invested in the agile delivery approach and willing to experiment with handing more control over to the team.” David Weston, Head of Project Management at Reason Digital, delivery partner.
At the beginning of our first firebreak, our development and technical teams decided on the activities they were going to work on. Some of those ideas included:
- researching new technology;
- a proof of concept with new technologies;
- a series of bug fixes and ‘tidy up’ activity;
- creating guides and updating documentation.
The team then took two weeks to carry out their ideas and presented their work in a team meeting.
One of the ideas – the proof of concept of new technologies – involved creating a GraphQL implementation of the new group finder and its API.
GraphQL was created by Facebook as a way of improving communication between systems. Typically, a developer defines what data can be retrieved from a system that is then built as a fixed interface. If different data needs to be retrieved at a later date or by another system, a new interface would be created or the first one updated, creating extra work, testing, and the possibility of breaking parts of the system already using the interface.
The approach pioneered by Facebook is to allow the system fetching the data to specify what it needs. By providing one flexible interface capable of retrieving all the data in a system, we can reduce the changes needed and greatly speed up development of new features and tools in the website. Using this approach, we were able to produce a prototype that implemented Graph QL to flexibly display our group finder data.
One of our frontend developers commented, “The firebreak was great for taking a step back and looking at the wider impacts of decisions we’ve made around the fundamental architecture of our applications. Finding the time to reassess and question these approaches is often difficult, but can provide a huge amount of value in the long term.”
Although we won’t be releasing the work produced during the firebreak, we are continuing this work by looking at ways of tying together data from Badges, Activities, Groups and more through a single interface.
We can’t wait to see what the next firebreak produces.