Weeknotes: 20th January 2020
This week I spent more time than I’d like fixing the basics.
Over the past week or two I’ve been working on Serve OPG, an internal service of ours. It’s a simple little service which required some important but fairly small changes. Unfortunately, we came across a bunch of issues when trying to release the work that we’ve had to spend time fixing: pipelines not working, flaky tests, misconfigured environments.
Obviously these are good things to fix, but I hate doing this work unanticipated. It’s a big time sink, and a massive distraction. It affects morale and gets in the way of other sprint work, knocking back estimates and deadlines.
The important thing is that it’s done, but this has been a harsh reminder of what happens when you let things fall into disrepair. If we’d taken the time to look at and fix this earlier, it wouldn’t have been as arresting, we would’ve appreciated the value, and I think we would have spent less time on it.
So what am I doing to improve it? Firstly, I’m trying to be more aware of my surroundings when planning work. Implementing changes may be easy, but tests, side effects and CI/CD have to be considered too. We run a fully integrated DevOps cycle, so I can’t just estimate the dev time and throw the rest over the fence.
Second, I’m going to endeavour to appreciate and communicate the value of fixing the basics. Spending two days “tidying our pipeline” may seem like lost time, but if it speeds up all future builds then we’ll quickly make the time back. And if I describe it as “decrease our build time” instead, everyone can understand the value.
Lasly, I want to slow down our ticket lifecycle a bit. That’s not to say that I want to do less work, I just want to increase value and collaboration of our work. Rather than trying to “quickly” put in a new feature, I want to ensure it’s properly planned, designed and understood. We should know how we’ll test it, understand the value and the risks. That means more time thinking up-front, and more pushing back in refinement/planning sessions.
- Finally released Serve OPG work and cleared up the pipeline for future releases
- Spent a lot of time discussing testing best practices with AE and AS
- Started building some React components with JN using TDD and ping-pong collaboration (which was quite fun)
- Continued to discuss and plan a few upcoming epics and integrations
- Started to update certificates on all our databases
- Finally found the (a?) cause of a data-duplication bug