Nick Kirby's personal site

An analogy for software engineering


I heard a great analogy for software engineering while listening to The Engineering Enablement Podcast on LinkedIn’s Approach to Real-Time Feedback and Personalized Surveys which was along the lines of:

Imagine software engineering as many people (software engineers) working on creating a book made up of tens or hundreds of thousands of lines long. Each engineer needs to make changes where the end product.

This really sums up how difficult it is to write software in teams small or large. You’ve got people changing tiny parts of the book individually with the end goal of creating something that works as a whole. Challenging to say the least.

You could then extend the analogy by thinking about teams being responsible for individual chapters in the book. Each chapter needs to make sense in relation to all the other chapters, as well as in the context of the whole book.