My Heart Beats Agile - but I Dream of Waterfalls

fallend

I sometimes dream

I live and work in agile teams. It’s my dream job. When I look at my calendar though, I don’t always want to be that agile. When the next big thing hits, making months of work irrelevant; when I don’t have a timeline that stretches further than the next two weeks, I sometimes dream of working in a waterfall model environment.

It would be so nice, knowing exactly what my next steps would be, months in advance; To have a whole project planned out from start to finish and to actually watch it happen that way; To have exact, clear and unambiguous criteria to do things right. It would be so lovely, I imagine, to know everything I need to know beforehand. I could just work. I could stay in my lane, with the need for coordination tightly controlled and cut down to a minimum. I have been, on occasion, swooning over the sight of a Gantt chart, making up fantasies of the lives of the people working with them.

A nightmare unfolds

Of course, that dream would quickly turn out to be a nightmare. I do know people who work with Gantt charts for a living. They tell me stories quite different from my fantasies. Their days seem, at the end of the day, a lot like mine.

However, there’s a discussion to be had.

A bad reputation for the wrong reasons

I believe the waterfall has a bad reputation for the wrong reasons.

There are endeavors which call for and have thus been mapped to a waterfall model. These include but are not limited to: building a dam, manufacturing an airplane that actually flies safely, or erecting a skyscraper. These are natural habitats of the waterfall; for good reason! The sheer scale of these projects requires a number of people to collaborate so vast that division of labor has to be sufficiently granular. Coordinating those divided entities back together to achieve the common goal requires control. Decision making needs to happen with that in mind.Decision making has to happen within the tight constraints of coordination at that scale.

Personally, I like waterfalls. That’s because I feel that whatever can be controlled, should be. If you know how to build a dam right, why would you prototype your way through it? Statics calculations, and of course the many, many rules and regulations engineers work - and swear - by, are blessings. They apply to situations so comparable that it would be a waste ignoring other people’s collected experience. So, whenever I need to plan something, I ask an engineer and do what they say. Well, to be exact, I ask several engineers and do what they kind of agree on.

A story about concrete

Because again, reality doesn’t work that way. Even in relatively controllable contexts, there’s usually more than one way to do things. Also, controllable doesn’t mean there is no uncertainty. For instance, concrete is not commonly known for being agile. And yet, at the beginning of each construction site, concrete prototyping might happen. That’s to test and figure out how that concrete concrete, pun intended, behaves. The relevant characteristics of concrete differ from manufacturer to manufacturer. The details of the soil and weather of the construction site also play a part. And some decisions depend on the personal risk-management preferences of the engineer in charge. The on-the-ground reality of the construction site is way more agile on the inside than it looks like from the outside.

Rules and regulations though taken as guidelines, are bent and stretched; Responsibly, yet creatively. But, on the outside, a construction site is not agile. It cannot be, because the goal is fixed. No matter the journey, you are going to build a dam. It’s got to do a certain job. It works or it doesn’t. Once cast, Concrete isn’t agile.