Stupid Human Programming
Talk on software development.








Subscribe to "Stupid Human Programming" in Radio UserLand.

Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.


Thursday, September 15, 2005
 

The Only Real Agile Customer is a Paying Customer

Projects are full of Sham Customers. If I use something you are building on a project we'll all subscribe to the collective delusion that I am your "customer." But am I really a customer? Am I a real customer?

No I am not. Why?

Because I am only a real customer when I am paying you to do something and you really want my money. Otherwise you have no incentive to do what I want. But wait, why is money even part of the equation? I am the customer, doesn't that mean you'll do what I want as long as it makes sense and is reasonable?

Oh no.

If you aren't dependent on me in some direct way--not some metaphysical way like we are all in this together, or we are all working for the same company, we are all working to the same purpose--then you can tell me to get stuffed and there's nothing I can do about it. Nothing!

Let's say I need a a couple of tables in a database. You are the database group and I have to go through you for database stuff. For organizational reasons I just can't make my own database. I am using a database example, but these relationships are everywhere in companies.

So I am your customer because you are implementing a service for me. If I were a real customer then I could make sure you would do what I need because I wouldn't pay you otherwise. If you didn't want to provide me a service then I would go elsewhere.

Yet in this scenario I am a Sham Customer. I am forced to go through you and I am nothing but a burden you wish would go away. If you don't want to make my tables what can I do? Whine to management. Try persuasive argumentation. Plead. Get pissed. I'll often cycle through all these strategies hoping something sticks. Most often nothing sticks and I am stuck.

If you don't help me after a few rounds of whining-arguing-pleading-pissing I enter a condition known as learned helplessness. Learned helplessness is a state of depression you enter when you realize nothing you do will make a difference. You feel powerless so you just give up. You don't even try anymore because it doesn't do any good. Why try if nothing ever happens? Animals when exposed to continual shocks they can't escape will simply stop trying after a while. And when an opportunity for escape presents itself later, the animals won't escape. They have learned helplessness.

Corporations are stocked full of people in a learned helpless state. The structures and incentives in corporations often seem specifically designed to frustrate people and send them into a give-up mode of living.

How do you prevent this scenario and keep people happy and productive? I don't know :-)

One idea is to keep groups small and independent so they can do everything they need to do themselves. This creates more work but is probably more productive in the end.

Or how about if a customer would control the part of the budget the service provider is getting to implement the service? This might rebalance the relationships between groups. I realize it's not going to happen, given how budgeting occurs, but something has to be done.

I hate feeling helpless.

comment[]

8:27:14 PM    



Click here to visit the Radio UserLand website. © Copyright 2006 todd hoff.
Last update: 7/11/2006; 12:40:26 PM.
September 2005
Sun Mon Tue Wed Thu Fri Sat
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  
Aug   Oct