I was the sole developer chosen from a pool of internal candidates to work on secondment in the Agile team that redeveloped TfGM.com. TfGM worked with the Valtech consultancy for this project, and the team primarily consisted of contractors and Valtech's own consultants.
I learnt a great deal on this project: it was in a different league to anything that I (or TfGM) had done before.
Agile delivery
This was my first exposure to working in an Agile team: I experienced the benefits of incremental delivery: building minimum viable products that delivered value early and often.
Design decisions were based on evidence from user research, rather than opinion. And we got out in the world tested what we'd built with real users.
Technology
I primarily worked on the Node.js front-end service and user interface, where there was a strong emphasis on ensuring that pages and functionality were accessible to all, using techniques such as progressive enhancement.
Through this project and the subsequent maintenance of the microservices we developed, I gained exposure to Java back-end services, the Jenkins CI pipelines and Terraform infrastructure-as-code used to deploy them to AWS.
After the project concluded, the team disbanded and I returned to my substantive role back at TfGM. I was then responsible for maintaining and expanding upon the services that we developed, and helped others at TfGM to gets to grips with the techniques and technologies we had adopted.
Conclusions
This project was a great experience for me. I got to work with an exceptionally talented and driven team and I learnt so much from them. It gave me the opportunity to work with tools and techniques that were new to both me and TfGM.
I'm really proud of what we delivered. Before this project, TfGM.com was basically used to issue press releases. It didn't scale for mobile, it wasn't accessible. When it snowed, the site crashed due to the increased traffic. For the most part, it wasn't all that useful for many people. [1]
We changed that. We now had features like live bus and tram times, and service updates when things weren't going to plan. We brought the information that most people cared about to the front and centre, and we relegated the things that demonstrably didn't matter so much. And we built it on infrastructure that would scale to meet demand.