By Seb Rose
Software development seems to advance at an ever increasing pace. However, lurking under the surface of relentless progress, I believe there is a rich strata of continuity. In this session we will explore these foundational aspects of our trade - informally and illustrated by some pretty pictures.
The first article I wrote for an ACCU journal was in 2003 (https://accu.org/index.php/articles/363) where I drew an awkward analogy between software projects and building a shed. Over the years, I’ve found that I have a penchant for analogies and this session will continue in that vein. Don’t worry, though, I’m not going to bore you with pictures of building sites or aphorisms from lean manufacturing.
Instead, I’m going to take you on a gentle walk on some mountainous paths in the south of France. There’ll be red wine and unit testing; oak forests and scope creep; deep river gorges and CI pipelines. I’ll ask you to walk with me and take a close look at the concepts that underpin our profession.
“We must learn to walk before we can run” is an age-old adage. We all learned to walk decades ago. Many of us learnt how to develop software shortly thereafter. However, just as running is not simply walking faster, neither is better software development simply working with the latest shiny tools. By slowing down, observing our behaviour, considering alternatives, and deliberately practicing different approaches we can re-learn how to develop software. Or confirm that how we’re doing it now is just fine.
As long-time ACCU conference chair, Jon Jagger, reminds us in the FAQ of the wonderful Cyber-Dojo: “Stop trying to go faster; start trying to go slower. Don’t think about finishing; think about improving. Think about practising.”