What got you started in modern software development methods?- 4 minutes read - 710 words
After being accepted for speaking at Agile India 2022 I was asked a few questions. I figured rather than a paragraph, the questions would make interesting blog posts:
I came to agile completely the wrong way. I’ve been developing software professionally since I was a teenager and was lucky enough to start out with projects where I was given plenty of agency to decide on how to tackle problems and the independence to make my own mistakes and learn from them. These were summer jobs, part-time jobs, industrial placements, small teams and not a lot of process.
Then I entered the contracting market and found myself in a huge organisation, with tons of levels of structure and a very waterfall approach. Before even writing a single line of code there were months of work writing word documents with such inspiring titles as
- Requirements Specification
- High Level Design
- Low Level Design
- Implementation Plan
- Testing Plan
- and so on…
Basically a big waterfall sucked the joy out of development. Still it did not deter, and eventually an Agile Coach came into the organisation. In my opinion he failed spectacularly, because it basically was senior management thinking how can we make software development faster without really understanding the point of agile. He tried his best but ran headlong into lots of resistance from developers who didn’t want to change their ways and an organisation that wasn’t ready to accept agile as a whole. I found it very interesting, but in retrospect (see what I did there!) it just swapped one set of rigid procedures with another. We needed to have:
- a sprint planning meeting, and
- then exactly define a story,
- then write up the design,
- then implement it (which almost always took way longer than a sprint)
- then hand it to the test team who then
- then hand it to the ops team for deployment in the quarterly deployment
- and retros never happened (because what’s the point, we’re finished)
There was no pairing and we happily ducked back into our cubicles when the agile coach left. Though the ideas resonated.
Fast-forward a few contracts and I discovered that agile isn’t just sprints and user stories but that there’s Kanban.
Unfortunately, all too often instead of a board which says:
This kind Jira workflow monstrosity emerges
It was only after I joined Equal Experts as a consultant that I got wind of the agile manifesto. And as I read it, it was like a lightbulb went off. The one that seared itself into the inside of my eyelids we
We value people over processes
Though to be fair that’s not verbatim, in reality it’s
Individuals and interactions over processes and tools
but to me this was such an eye-opener. The processes and tools need to take second place to the people doing the actual work.
It also helped that when I started on my first engagement with Equal Experts, we were lifting and shifting some services from on-prem into the cloud. But the way we did it was not weighed down with processes and procedures, we would stand around a whiteboard in a tiny shared office space and talk about what to do and how to do it. We were pairing and knowledge sharing at the same time. It was at this stage that I glimpsed what agile could be. Yes, we were still using Jira to record outcomes of tickets but was us that was using Jira, rather than Jira driving us. “People over process”.
I’ve been trying to simplify and remove “process” ever since.
Where do you stable your horse?
Does this desire to simplify process not just mean that I want to be a cowboy? Shoot from the hip and just spend all day coding?
No, of course not! Software engineering is engineering, and whenever I introduce myself, I call myself a “software engineer”, not a “developer” or a “coder”. I’ve got no gripe with the latter words, I just think that the act of creating software requires so much more than inputting code into an IDE. A good developer bases their work on the principles of engineering. And as such I don’t think there’s much more to do than pointing people at Dave Farley’s Modern Software EngineeringTags conferences agile agile-india agile-india-interview
If you'd like to find more of my writing, why not follow me on Twitter or Mastodon?