Delivering at Pace: CentOS Upgrade Flashcards
1
Q
Situation
A
- We needed to upgrade the operating system our instances run on.
- This had been attempted previously, but without clear communication channels between stakeholders and the team, resulting in a loss of trust and disagreement about technical approach.
- Work was stopped due to other priorities.
2
Q
Task
A
- Create an shared infrastructure instance running on newer version of CentOS
- Learn from previous experience to improve stakeholder relationship
3
Q
Action - first steps?
A
• First, I spoke with developers, users, and stakeholders involved in the first piece of work to better understand the context.
4
Q
Action - how did you begin your approach?
A
- I advocated to reduce the scope: identify the core libraries required to build the foundation of a system.
- Pick one of our simplest services to run as an experiment.
5
Q
Action - what was the second step in your approach?
A
- I communicated with stakeholders early and often.
- I created a way to communicate our approach and progress to users. Created CentOS 7 Line on externally facing whiteboard.
- Invited or pulled stakeholders in to relevant meetings so they could feel like they were part of the process. • Encouraged stakeholders to pair or mob with us when they could.
6
Q
Action - what was the third step in your approach?
A
- Used what I’d read about checklists in surgeries in The Power of Habit and roadmaps in Switch to developed standardised approach for upgrading the packages.
- Roadmap optimised for pairing continuity.
- Each stop on the CentOS line was a checklist
7
Q
Action - what was the final step in your approach?
A
- I worked with my team to build this in the open, following GDS’ example.
- I wanted to decouple our code from the data behind it and use developing in the open as an inspiration to better inform our design decisions
8
Q
Result
A
- An open-sourced base centos puppet configuration built and TDD’d using PDK.
- Healthier stakeholder relationship.
- Confident team who had the tools to approach more OS upgrades
9
Q
Reflection
A
- Feedback loop between library upgrades was slow.
* I worked on developing a docker container to smoke test any future upgrades in the open source project.