Continually experimenting with new ideas and techniques — Reconstructing, Developing, Modernising.
Once again I’m struggling to deploy an inherited application. It has quite a solid “happy path”, but few tests, no automated deployment, and should the configuration file be missing the error report can be more than two and a half million lines long (depending on how deep the stack gets before exhausting memory). I’ve no doubt this isn’t the last time I’ll be in this position.
I’m reading Growing Object-Oriented Software Guided by Tests (GOOS) at the moment, and the idea of developing a “walking skeleton” first seems eminently sensible. There are a few other good ideas in there too!
I was attracted to the book because the word growing in the title evokes an organic process, and I often think of gardening as a metaphor for developing software in an unfamiliar realm — I can use tried and tested techniques on bits that seem familiar, and I always need to be on the look-out for tips from experienced practitioners, serendipity, and emerging behaviour. As I’m not an avid gardener I frequently have to perform tasks in the full knowledge that it might take a try or two for me to really understand the situation; that experience too can be brought to bear on software development.
As my pairing partner is coming to terms with being a new parent at the same time as settling into a new job, maybe it is time to go solo for a month and do thirty minutes of reading a day from GOOS and see if I can make one “committable” step per day on a project using the techniques in the book.
Let’s see how this works out.