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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Task

A
  • Create an shared infrastructure instance running on newer version of CentOS
  • Learn from previous experience to improve stakeholder relationship
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
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.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly