One of my favourite authors, Brandon Sanderson, posts an annual "state of" on his birthday, summarising works in progress and the year hence. I'm going to do the same, although not on my birthday, because despite the Global Bastard stopping the world, quite a lot has happened. And it's good to talk.
A Little Bit of DevOps
My last project at Scott Logic started with a discovery phase in the last six weeks of 2019, followed by a ramp-up in the New Year. I was leading a team building an MVP on a limited budget for a UK financial institution. My focus was primarily on spec'ing out the technical architecture for the solution, fitting it within the bank's existing Google Cloud estate. This dropped me head-first into the world of Cloud, DevOps and infrastructure as code with Terraform! I learned a lot in a very short space of time, including familiarity with containerisation, Kubernetes, CI/CD and platform engineering. The security aspect of this project later spun out into a talk that I presented at BSides NCL, and later at DDD: CI/CD Pipeline Security.
All said, this was a challenging and emotionally draining project, which ended up with me leaving in exhaustion in the middle of a pandemic. Oh yeah, about that...
Pandemic? Great, Let's Change Job!
In May, I changed job. With hindsight it is strangely a good mix of being a backwards, forwards and sideways move. The team are great, the company have been incredibly patient and supportive, especially with someone as anxious as I about the COVIDs. I've been in the office four times and one of those was just to pick up the laptop! The job has been effectively entirely remote. The day to day coding isn't the most interesting thing I've done professionally, but there's a chance to modernise a legacy system and practice some of the stuff I preach in talks and blogs. That, I'm thankful for. The role has given me the opportunity to get in on the ground floor with turning a very big ship around. Naturally establishing momentum is tough, but with continued effort next year we'll start to see some very fruitful results. Which brings me onto...
This year's blogging has mostly, aside from a few curiosities, taken the form of opinion (from experience) pieces on the topic of Agile development. I'm clearly passionate about this subject, even more so than most technical topics, because experience is teaching me that the big problems we encounter on teams are usually down to communication.
At the start of the year, I recalled a conversation that occurred in a pub nearly ten years ago. I was very junior in my career and talking with a well-known and highly-regarded coach, after they gave an agile training session to my grad scheme cohort. I was adamant that Sprints need goals to provide the necessary focus, product vision and room for experimentation. This idea was dismissed out of hand. Well, I wrote a blog about the power of Sprint Goals because on reflection, there's a huge difference between teams that set themselves sprint goals and teams who don't. Remember folks, just because a popular person says something, doesn't mean they're right!
From that, I've further blogged on how to fight back against FUD during process improvement. How to establish a move towards optimising for flow and how, rather than quality being something only testers are concerned with, quality is a team responsibility. I've written a silly parody song about how the backlog is where work goes to die, and how rather than focusing on delivering projects of work, we gain more purpose from our jobs and build better products by focusing on outcomes. Finally, I pondered the very concept of a requirement itself, arguing that in a lot of cases we should embrace uncertainty.
There's a lot there, most of which I'm proud of. It's good to capture your thoughts and to let go the fear that in a few year's time, you may look back differently. Writing down and communicating your thoughts clarifies your thinking, even if nobody reads them.
Conferences, and Conference Talks
In order to help keep the community lively and engaged during our lockdown hibernation, I came up with the idea to host a virtual conference - NE-RPC. With the help of some former colleagues, new and old friends, we put this together... twice! On zero budget, we hosted two separate multi-track full-day events and learned so much about running a virtual conference.
The advantage of a virtual event is that if you have the option to pre-record a talk, there's very little for you to do on the day. Our talks were all pre-recorded (apart from a last minute live fill-in), but we hosted live Q+As with speakers afterwards. This gave a very nice balance of communication and rapport with speakers. Next year I might do something more experimental with the virtual format, such as utilising OpenSpace, to try and recreate some of the inter-personal dynamics that virtual events can easily omit.
At the start of the year I performed my retrospectives talk in-person twice. Once at DDD North in Hull, the second at DevHub North. The latter was luckily recorded and it's always nice to have physical evidence of your performances. It helpes get a foot in the door at larger events. Both of these were before the plague hit, and naturally everything has gone a bit virtual since then.
Here's my last 'live' performance of In Retrospect, from DevHub North. Note the talk has evolved a bit since then, I've ditched a lot of the theory at the beginning to focus more on the end piece, creating meaningful actions. My favourite version of the talk is the most recent iteration from Agile Scotland, which will hopefully be online soon.
Here's the latest version of my CI/CD Pipeline Security talk, as presented at DDD:
Finally, here's the talk I gave on unit testing at NE-RPC, Testing that the Code Does What the Code Does!
A good year of talking. Although I do miss the in-person events, I also like how easy it is to present at a virtual event. With a small child (and therefore limited travel capabilities in pre-apocalyptic times) this has opened up so many events from an accessibility point of view.
I am very proud with how this year's Halloween display project turned out. I had the idea in the back of my mind since last Halloween. Although I was somewhat anxious about whether even supporting trick or treating was the right thing to do in the year of the apocalypse, in the end I decided to go ahead with a display but to stick a sign up saying we're not handing out sweets. Oh, and barricade the doorway with pumpkins! As we also found with Christmas, people went BIG on decorations this year, due to being stuck at home. I'm not complaining, just hoping this trend continues to next year! There's already a few ideas poking around the old noggin for 2021. Fingers-crossed this can involve actual tricking and treating.
Take a look at the Halloween sub-site for more 2020 pics!
Well, there's a few things that I have planned for next year. I'll announce formally in the new year! But, I do plan to do more Agile Coaching within my organisation, circumstances depending, and I'm going to look at a few scrum.org certifications. Most likely the PSM track.
I think that I'll develop my retrospectives talk into a workshop, as it's kinda crying out to take that format. I don't forsee that a grand re-opening of face-to-face society is going to happen any time soon, so some thought will be needed about how to deliver this virtually, alongside my existing full-time work commitments. There'll be a lot more blogging too - the drafts folder is already bulging at the seams.
2020 has been a rollercoaster year, with Coronavirus only being part of the reason for that. We're very clearly not out of the woods yet, but I'm lucky to be in an industry where working from home is trivial, where I have the space to work mostly uninterrupted, lots of open space for exercise and a supportive, loving, small family.
Please, enjoy safe festivities and see you on the other side!