Doing Work

It is the fashionable thing to poo-poo Waterfall methodologies lately, but I am beginning to think that it is far too simplistic a view to say that you can’t know everything ahead of time. True, the classic Gantt Chart model with each activity planned to the hour, dependencies, and Critical Path *may be* overkill, but what is this chart really doing? It is saying that “these are things we need to do, and this is how we are going to try to do it.”

Agile, Kanban, Scrum all denote tasks. Some use sticky notes. Some use a backlog. The tasks are still there. What is missing is that long black .mpp bar that limits the amorphous black box of “Development”. Non-Waterfall approaches still execute tasks in order, but that order is defined as you go to an extent. In reality, every team member has what they know about the project and tasks in their mind, and they are doing mini Gantt charts in their head. Even if it is moment by moment, people plan. Nobody sits and just codes without a goal. Remember, you have plans to accomplish goals. You might say that the definition of a plan is it’s goal.

When nothing is known about an incipient effort, there is room and need for Agility. There is less room or need for Agility when the project is more cut and dry (“install MS Office” or “stand up Drupal in our dev environment”).

Point being, even “Agile” approaches involve planning. Just not as much, and not as far ahead, and not to the level of detail that an overzealous Business Analyst / Project Manager might do in their trusty .mpp. Seriously, I have seen some pretty detailed project plans, but I have not seen any that presume to know horrific levels of granularity. Those horrific granules are generally requirements, and they are valid in any effort. They tend to live somewhere else -wireframes, a functional spec, business rules, wherever that particular team puts that stuff.

People over process is a tenet of Agile. This is, apparently, to say that in “Waterfall” practices process trumps people. Everyone reading this knows that invariably any project, no matter how strong the Business Case or how vital the technical effort, there is someone in an office that can derail everything at whim. People are always over process. The trick is to adapt the process to the people and accommodate the people. All your stakeholders are important, and it is equally important to realize who has not been named a stakeholder yet has the ability to rock your world if they choose to.

Even something as sexy as Kanban is to some people; it is just people performing tasks in an organized fashion. What is new about this? It is Waterfall, diluted. The very discussion of Kanban and it’s amazing achievements in Japan is ceremony. Putting up the board is ceremony. Taking the cellophane off of the post-its is ceremony. Ceremony means nothing. You just don’t want to waste more time than you have to. You don’t want to say things like “muda” because nobody will know that you mean “waste” and you will be mudaing all over the place.  The little stickies are ceremony. Sprints are ceremony.

Any task that has been designated as a 4 day task will take 99 percent of developers 4 days to do. If they finish core functionality in one day, they will use the 3 extra to make it better. They build. And at the end of 4 days and continuous integration, QA as part of a breathing application begins. This is where the Kanban board has an advantage. This, and in the team-oriented approach to work and work product.

Still, Waterfall lingers there in the background. There is that goal. I need to get to the store. I am not sure which roads I will take and I did not know that the shortcut I generally take is closed, but I will get to the store. Waterfall chokes on anomalies – which are more common than uncommon. But regardless, I left the house with a path in mind and adapted. Agile assumes the goal of Waterfall.

Now, who really cares about what these things are called? Who cares about Waterfall vs. Agile vs. Framed Agile or what have you? A lot of people do. A lot of people with vested interest care. They want you to take their certification course and to obviate the utility of their software package for your development shop. There is some merit in this, but not enough to warrant the degree of productization we can see in the world of software methodologies. I try my best to not name names but to ask about a team’s approach. Invariably, words like “sprint” come up – but I take it with a grain of salt and assume it distinct from the hardcore Scrum sprint. You have to be flexible. You have to take all these tools, approaches, philosophies, certifications, and take what is useful and leave behind but keep close by that which is not immediately useful. If you do that, you will be able to adapt and build. You have been doing it since you first drove to the store.

Best,

Josh

One Response to “Doing Work”

  1. Mike Patterson says:

    I love your writing, Josh. I do not agree with all of your points but enjoy reading them. Is your book set to be published soon?

    Cheers,

    MP

Leave a Reply