Sunday, August 19, 2018

Agile thinking in writing

Last week I took a one-day introduction to Agile. As an approach to writing software, Agile has been around for years, but it seems to be becoming the norm now that more tools are out there to support the approach with automated testing and deployment.

Our division is running full tilt into this new world, hence the introductory training.

The software world grew from an esoteric art form and, in an effort to mature its practices, has traditionally treated itself like an engineering discipline - hence “software engineering”. It borrowed practices from the engineering world, where things like bridges and buildings can be planned out to the Nth degree before a single concrete piling is poured.

This works very well for buildings and bridges. People have been building them for millennia, and the principles and materials in use are well understood. It is perfectly practical to design a structure on paper, and be confident that the end result will be built according to plan.

The trouble with applying that thinking to software, is that the world is still young, and the principles are poorly understood, and new ideas (new building materials) are being constantly invented.

Worse, people have lived with buildings and bridges for thousands of years and pretty much know what they do and what they want from them. Software, on the other hand, is constantly opening up new horizons and new ways for people to interact. And that world is expanding at an exponential rate.


So, the engineering approach to software suffers from two fatal assumptions. That it’s reasonable to expect people to know in advance what they want, and that the world won’t change beyond recognition while you’re in the middle of delivering the product. These assumptions work well for bridges and buildings. Software blows them both out the water.

Agile sidesteps these assumptions by using an exploratory approach to software development. The overall goal should be understood, but how you get there will evolve as you start building, start showing some results, and get feedback to guide you. Rather than everything being planned out up front, what you do now ... what avenues you explore ... will educate you better on what works and what doesn’t and will guide what you do next.

As I sat through the day, I realized that this closely mirrors my own approach to writing. I do start with a goal in mind, but with no idea how I’m going to get there.

I start writing.

What I learn from what I write (or where I get stuck) will inform where I go next. I don’t start at the beginning and plow through to the end, I find the story structure emerges as I try out scenes and get to understand the story better. I hop around picking the next section to attack, and priorities will change as things get fleshed out. The whole writing process for me is an exploration and a learning activity.

It shares a lot of characteristics with this Agile approach to software that I have to learn to manage. Maybe there’s hope for this old dinosaur yet.

6 comments:

Rick Ellrod said...

Ian - I especially liked your comment about expecting "people to know in advance what they want" -- I've proven how fallacious *that* is both in writing my own (!) rudimentary code and as the client, so to speak, trying to explain to the developer what I want to do. :)

And the analogy to writing -- I generally do have a pretty good idea where I'm going at the start of a story -- but it always develops unexpected angles and depths as it goes. Like software.

Botanist said...

Rick, I think it kinda worked for a while in the early days, when computers were simply data processing machines and the options were so limited. But as soon as we went online rather than batch and punched cards, the ground rules changed beyond recognition.

Hilary Melton-Butcher said...

Hi Ian - that sounds to be a really interesting programme you'll be using in the office. Fun to learn with your writing you sort of start somewhere in the book and build the story around your ideas, as your writing develop. The goal posts are always moving ... especially in this day and age.

Fascinating to read ... cheers Hilary

Botanist said...

Hilary, this just happens to be the way I work best. Others will take a more planned approach and do just as well with it. Horses for courses :)

Susan Flett Swiderski said...

That software sounds like what my hubby used to call the foreskin of technology. (He was a Bell Labs engineer.) Nah, you're no dinosaur. You're still learning, and that's what counts.

Botanist said...

Still learning, Susan, that's for sure!

Related Posts Plugin for WordPress, Blogger...