If you can’t be at DevOpsDays Des Moines later this week (or stackconf in Berlin next week) to see the final version of this presentation, here’s my first time running through it. It container about 20 minutes of…uh…bonus material.*
I tried to get ChatGPT to summarize VMware Explore 2023 for me. I don’t know, it wasn’t that great. Also, a peak into my Dungeons and Dragons “ChatDM” obsession.
Pair programming has been around since the late nineties and boasts ample research and anecdotal evidence proving its effectiveness. It’s not limited to programming, either; it can also be valuable in roles such as product management. However, despite its benefits, it remains less commonly practiced than one might expect.
A great case study for the value of pair programming comes from the Department of Defense (DoD), the U.S.’s collection of military branches. They face challenges typical of large enterprises that can be mitigated by this technique.
One frequent issue within the military, as in many large enterprises, is a skills gap among programmers. There’s often a need to quickly train new arrivals, who typically do not remain in the same positions for long.
Moreover, software is critical for running operations, and there’s a constant need for innovative solutions and rapid software delivery. Also, organizations require high-quality software—free of bugs, well-designed, and easily extendable—to maintain agility and ensure continuous growth. Pair programming offers solutions for these common challenges.
Pair programming provides an environment conducive to continuous learning. By pairing people up, it fosters knowledge exchange. This is particularly effective when pairs are rotated frequently, a practice perfected over 25 years at VMware Tanzu Labs, formerly Pivotal Labs. Rotation exposes team members to a variety of perspectives, ideas, and techniques, while also facilitating relationship building within the team.
This method also helps address the problem of employee churn. Knowledge about the system is disseminated across the team, fostering generalists rather than specialists. As team members come and go, the collective knowledge base remains intact.
Pair programming supports innovation, thanks to the diversity of ideas brought by different team members. It breaks the silos typically seen in software development teams, promoting a culture of shared responsibility.
Quality assurance is another area where pair programming shines. Techniques like having one person write unit tests before another writes the actual code ensure thorough testing. Different perspectives brought in by pairs often result in novel ways of testing—and breaking—the code.
The benefits of pair programming extend beyond technical advantages. Many people at VMware Tanzu Labs have reported a deep sense of satisfaction when moving from solo to pair programming. This positive impact on employee satisfaction can greatly aid in retaining and hiring talent.
Large organizations like the military, banks, insurance companies, and manufacturers can find an added advantage: a built-in way to scale and spread change. By moving successful pair programmers to new teams, you can promote trust in new ways of working and effectively spread this positive change throughout the organization.
Over the past decade, I’ve witnessed the benefits of pair programming and the positive impact of rotating team members across different teams while working at VMware Tanzu Labs. It not only improves code quality and encourages innovation but also helps tackle one of the hardest aspects of software development: adopting new practices and scaling them across the organization.
Pair programming is just as applicable to any large organization as it is to the U.S. military. For a more detailed exploration of how the military has leveraged this technique, you can access an extensive write-up linked here. Additionally, my book, Monolithic Transformation, available for free download, delves into how large organizations can improve their software practices and scale those changes to their full extent.
Webinars have a bad reputation. They’re usually boring presentation that require you to give over your email address. I do a lot of webinars and watch a lot of them: they don’t all have to be crap! Here’s my take on why webinars are great, how they can go wrong, how to make them interesting, and how to get value from them as an audience member.
I want to try a new video format: the Quick Comment. Just one “fact” or idea and 45 seconds or so of commentar. We’ll see if I like it and/or keep it up.
76% of respondents in our State of Kubernetes 2023 survey say they use multiple clouds - they’re multi-cloud. I look at the driving forces behind multi-cloud adoption, most notably the desire to avoid vendor lock-in.
For more insights into multi-cloud strategies, Kubernetes benefits, and the challenges being tackled by your peers, check out the VMware State of Kubernetes 2023 survey.
Check out the video