THE SQL Server Blog Spot on the Web

Welcome to SQLblog.com - The SQL Server blog spot on the web Sign in | |
in Search

Buck Woody

Carpe Datum!

Agile isn’t always Agile

I want to make a disclaimer before I dive into this topic – At Microsoft we use all kinds of development methodologies, and I’ve worked in lots of other shops using lots of methodologies. This is one of those “religious” topics like which programming language or database is best, and is bound to generate some heat. But this isn’t pointed towards one particular event or company.

But I really don’t like Agile. In particular, I really don’t like Scrum. Let me explain. Agile is a methodology for developing software that emphasizes adapting to change more so than the traditional “waterfall” method of developing software. Within Agile is a process called a “scrum” meeting. The pitch goes that in this quick, stand-up meeting the people involved in the development project (which should include the DBA, but very often doesn’t) go around the room stating what they are working on, when that will be finished and what is keeping them from getting finished (“blockers”, these are called). Sounds all very non-threatening – we’re just “enabling” the developers to work more efficiently. And that’s what we all want, isn’t it?

Except it doesn’t work. In my experience (and yours might be VERY different) this just turns into a micro-management environment, where devs have to defend their daily work. Of all the work environments I hate the most, micro-management environments are THE worst. I don’t like workign in them, and I don’t like creating them.

The other issue I have with Scrum is that it makes your whole team task-focused. Everyone wants to make sure that they are not the “long pole” in the meeting (meaning that they aren’t the one that gets all the attention) so they only focus on safe, quick tasks. And although you have all of the boxes checked, the project does not go well at all – even when it does finish.

Before you comment (and please do comment) I fully realize that Agile <> Scrum. But in my experience, it sometimes turns into that.

Published Monday, April 12, 2010 7:27 AM by BuckWoody
Filed under: , , ,

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

Chuck said:

Good food for thought, Buck.  I have heard interesting arguments on both sides of this debate - e.g. http://bit.ly/92ClsY

I will give your thoughts all consideration as I think the issue through.

I do have this observation, though - not about anything you've said, but about methodology religious wars in general:  

Sometimes when I hear people take issue with a methodology, what they are really saying is "the way a given methodology is being implemented where I'm at is dysfunctional". Saying that is a very valid complaint, but it's not the same thing as saying "methodology x is invalid".

Thanks again for getting us thinking...

April 12, 2010 10:47 AM
 

Todd M Heflin said:

Excellent thoughts! You have definitely opened up a can-o'-worms though. I have experienced the "perfect" agile project and scrum meetings and the very worse. I would only comment that, in my LIMITED personal expereince, it appeared to me to be the manager who made the difference.

April 12, 2010 11:12 AM
 

Adam Machanic said:

Buck,

"Scrum meetings" when you're not actually doing the "scrum" methodology are indeed the gateway to micromanagement and a complete waste of time. The meetings serve a very real purpose within the methodology, and outside of it are just another meeting. The methodology is absolutely not suitable to all projects (maybe even MOST projects) but it can work very well when used in the right place, and these meetings can be productive. Like anything else in our faddish industry, there will always be people who have their "hammer" (agile, XML, ORM, Power Shell, Linux, MySQL, ...) and are looking for any "nail" they can hit with it. That doesn't mean that the hammer is broken, just that these idiots don't understand how to identify the right kind of nail. Or to paraphrase Joe Celko, "this is like pounding wood screws into antique furniture using a chunk of granite."

April 12, 2010 11:32 AM
 

Agile BI said:

Doesn't that suggest a fault of the scrum "implementation" rather than the concept?  The idea is you should cover "what you did yesterday" and "what you are to do today".  If you break from that then someone should pipe up and bring things back on track. It takes time and a little dicipline to get into the swing of things.

I don't like prescriptive processes and people should work in a way that is good for them.  What does "Agile" mean anyway - unless you have a course to sell the whole area is very fuzzy, but I don't think that's a bad thing!

I must admit I do like a quick once round the team in the morning as it just helps people keep in touch.  There will always be one or two team members who will sit quietly in the corner trying to work through problems on their own and I find the daily meeting (and I don't use the term scrum - this isn't a rugby pitch!) helps keep communication open.  

If a team is communicating well continuously throughout the day then perhaps this process is redundant?  I'd hate to think people are doing it for the sake of it without recognising any benefit.  I guess one of the cool things about agility is the ability to try something new and quickly bin it if no one is actually getting anything from it!

April 12, 2010 11:43 AM
 

Glenn Berry said:

I too have seen daily scrums being abused as daily status meetings for managers who like to micro-manage. In the military, they used to talk about "management by walking around", meaning get out of your office and go talk to your people, and see what is going on once in a while.

April 14, 2010 12:47 AM
 

Tom Vitale said:

When I was about 10, I traced the bottom of a glass on a piece of paper and said, "Look Dad, a perfect circle." My father, a 40 year tool and die maker, glanced up from his breakfast and said, "It's not perfect and its not a circle."  Incredulously (for a 10 year old) I asked what he meant.  He said if you measure it to the 1000th of an inch, like he did every day, it would not be perfectly round.  Besides that, circles don't exist...they are just an idea we use to figure out how to build things.

Turns out this also applies to SDLC's.  Measure any organization closely enough and it will not be truly waterfall, v-model, rad, rup, iterative or agile. That's because these things don't exist; they are just something good managers can use to create a practical process that works for the particular organization.

What I have found disheartening is that people I think to be very intelligent, high educated and very experienced, still simply do not understand this principal. Someone writes a blog about what worked for them, and a whole wing of a building 1000 miles away goes "Agile". Principles are applied blindly and then the emperor's-new-clothes mentality kicks in. Projects that would have been called runaway in the 90's are now "deferring commitment to the last [ir]responsible moment.

I just wish all of the method evangelists would realize that the operative word in scrum team is team.  A manager has to make a process that fits the people they have.  As the challenges and people change, they process must too. It is the job of management to form a team and use the process as a tool to help the team enjoy their work, produce better quality and deliver on time.

People on a team should be free to believe in the God of their choice because God is not measurable and therefore is not falsifiable. The efficacy of Dev methods however can by measured. A good team can then decide it is working or it isn't as long as the team/manager/company remember that the goal is to produce software, not the Tao of Scrum or the Platonic Form of the Good for waterfall.

Sorry about the rant.  I think everyone knows that there are risks of scrum and they are often realized in a major project...yet most groups will not want to go against the grain and say so. I'm glad you did.

April 22, 2010 11:00 PM
 

The Database Zealot said:

...and I thought I was the only one.

Thanks for that Buck - I totally agree... agile doesn't work for large projects.  I've seen projects go down alleys and side streets when the actual solution was down the main highway.... if only the PM had stopped to check the map and plan the route.

TDZ

August 22, 2010 10:01 PM

Leave a Comment

(required) 
(required) 
Submit

About BuckWoody

http://buckwoody.com/BResume.html

This Blog

Syndication

Powered by Community Server (Commercial Edition), by Telligent Systems
  Privacy Statement