Unordered thoughts about programming, engineering and dealing with the people in the process.

Waterfall Is a Mindset

| Comments

The Agile camp has become an industry, books, seminars, agile coaches, awesome incubators, there’s a lot of people making a living preaching this approach to building software, and it’s ok. Hey, this guy even said you can build a product without writing up-front what you’re fucking supposed to do, kudos to him.

But there’s one thing missing in the picture, and it’s the fact that everybody seems to think agile is about process, and I dare to say it’s not only about process, it’s also about people. There’s a lot of waterfallists thinking they’re agile just because they’re in a meeting every morning where nobody’s allowed to use a chair.

Bullshit, let me show you.

This is how waterfall looks like by the books:

This tries to convey the idea that waterfall is about process, you see, in each box there’s a task being done in each step, cool.

But that’s not how people look at this picture, this is what people see when they get shown these boxes:

Roles, what’s my part, you know? The worst thing never said about waterfall, is that impregnates the idea that the development process has an underlying hierarchy of roles. And as it happens in any hierarchy, nobody wants to be at the bottom, ain’t it?

Even the picture itself has a reminiscence of the infamous law of the henhouse, I wouldn’t be the one getting all the shit either.

As Agile positions itself more about process and less about people, there’s going to be lot of fresh engineers knowing how to do a sprint, but waterfallists at heart.

Fortunately they’re easy to spot if you come across one of them, they almost always say:

  • I want to be an architect
  • I don’t want to be a tester
  • I don’t want to program forever, it’s just a step in my career.

Let them burn in hell, yet another reason why we don’t have ranks.