It's impossible to be "anti-agile" ?

 Agile is a specific approach to project management often seen within software development. It tends to promote itself over the classic "waterfall approach" using different terminologies such as 'iteration', 'sprints', 'user stories'. In fact the only reason that the non-agile approach is called "waterfall" is because it was adopted as Agile gained momentum to distinguish from the 'traditional' in much the same way we had no need for the word "analog" until the term "digital" was coined. A Traditional drawing of a project broken into stages where one stage is 'dependent' upon the other does in fact look like a waterfall.


It is important to note that any set of tasks which are dependent upon one another when drawn will also look like a waterfall. Agile is not 'against' dependent events as these are a reality of any project. Rather the potential problems that may arise from 'forcing' work into dependencies to match a model when no such dependency exists in reality. (not all development is dependent on all design, only specific portions are. You can test some things, while other things are s till being developed)

I have some bias against Agile, and having little experience it, it would be unfair of me to bash it in any way.  Most of my concern is not whether or not 'Agile is a good approach' but rather the marketing that went into it's present evolution today.

My argument is simply that Any system, process, framework, whatever you want to call it cannot be a panacea. The value Agile (as with anything else) must be proven not by it's marketing but by its evidence alone.  

I live in a scientific world, indeed my education is in computer science. Scientists deal in hypothesis, preform experiments, and reach conclusions based on evidence. In some sciences, the 'proof' is absolute, irrefutable , and in other cases we rely on a preponderance of evidence. But in no scientific circles do we prove a theory simply by saying "well it sounds about right, and 'so-and-so say good things about it so let's do it too!". We need to test and validate it.

My big problem with the Agile movement is that it is impossible to speak out 'against' agile, because it is worded in such a way that to say the opposite is to sound crazy (or at least foolish). It is very reminiscent of the old "MAC vs PC" commercials.

Let us look at the Agile Manifesto as a example of 'marketing' at its finest.  



 Who would say that "processes and tools" are more important then individuals?, or that "contract negotiation" (C.Y.A) is more important the collaboration???.  In what world, is it important to have a 100 page document describing a piece of software that doesn't actually work? Or when would you tell your customer 'I'm sorry I can't give you the change you asked for because it's not in the original plan?"

No one does these things, and the not-so-secret / hidden message is that following 'waterfall' is exactly those 'opposite' things. Now don't get me wrong, sure some people 'feel' this way when involved in a project. Feel that we spend too much time documenting and not enough time 'doing' or telling people to complete 'change requests', when they want to make a change so that we can calculate the impact of the change to their cost, time, and schedule (om my!). To which I can only respond that the carpenters rule "Measure Twice! - Cut Once" applies to much more then the world of carpentry. Like any tool Traditional project management can be implemented  'well' or it might be  done 'poorly' and the same is true for Agile. If you believe otherwise I expect you have some cognitive dissonance to work out.

So my message to you is this - "Don't follow Agile" because its new, trendy, and "sounds right". Ask for and review the case studies. Think about the problems you currently face in your software development, and project management lifecycle. Measure the things you are concerned about, Determine which things you want to change, and then re-measure to see if the switch meets your expectations. Find the combination of solution that works for your business and those of your clients, deliver effectively and efficiently, make promises and keep them, build trust. Build sturdy products that stand the test of time. These are the hallmarks of good project management and good software development - It is the result you produce that make the difference -  not the specific 'toolset' you use.


If you liked this post please consider sharing via your favorite social networks!!

and ..if you like my blogging, video, audio, and programming - please consider becoming a patron and get exclusive access @ Patreon.com/GeekWisdom

Comments

Popular posts from this blog

There's a bug in the keyboard driver...(dear liza)

Password Security Challenge - Last Pass & 1Password

What is Multi Factor Authentication (MFA / 2FA)?? and Why does it matter??

About the Book - Geek Wisdom

The Programmer's Dilemma

Despite of how it looks - I'm not part of a coup d'etat

Brad's Weekend of Coding - Day 1 - Summary

The Most Dangerous Software on the Internet!

Eco Cycle Planning Resources, Toastmasters & Unicorns

IT Security Myths & Legends