Re: Real data
--- In email@example.com, William Pietri <william@...> wrote:
> One of the big points of a number of software processes (and software
> development contracting arrangements) isn't producing more value, higher
> quality, or more efficiency. It's blame assignment. Or, possibly, the
> ability to duck blame.
This reminds me that the way we work can be strongly influenced by the incentives that affect us.
In the sort of environment you're describing, a person who stood up and took responsibility for a problem would be punished. He/she might have no career at all after the incident. In a culture of blame, you'd better be able to duck it. With that in mind, I don't think it's a question of process or methodology. "Waterfall" didn't cause blame-ducking behavior, and "agile" doesn't cure it. It's a question of organizational culture and values.
I think people tend to assume the sole goal in improving processes is to achieve ever-higher levels of "productivity." Everything is subordinated to that goal. But this is not the highest-priority goal in every organization. I worked with a company recently where a key development team valued the ability to work from home 1 or more days per week, without the need for planning it in advance. They could have adopted pair programming as a technique to improve their productivity, but they chose to adopt pairing as an occasional practice because by-the-book pairing would have eliminated their ability to work from home.
In my view, to impose pairing on that team would have created a local optimization. They would have increased their productivity - their rate of output (productivity != quality != usability != value) - but without involving the activities upstream and downstream from the development work, and at the cost of one of the cultural values that led them to stay on board at that company. I think they would have followed a pattern I've seen too many times after an agile initiative - a period of high productivity followed by dissatisfaction and turnover. Instead, they chose a slightly lower level of productivity that fit with their cultural values and that did not radically disrupt the flow of work in the organization, resulting in a sustainable improvement in the organization's performance. In that case, blame-ducking was not a factor, but other cultural values were factors. We have to be careful about sacrificing important organizational cultural values in a single-minded quest for "productivity". Long-term sustainable performance may be a more appropriate goal. It's all about balance.
In the case of large-scale government-funded programs, there is more going on than just blame-ducking. Remember it's government money - free money, if you can play the game well. It's in the contractor's interest to maximize the amount of money they can charge the government. I suspect a lot of the apparently-redundant overhead activities that don't appear to improve quality or value are in place to increase the amount the contractor can bill for the work. It's not my thing, but I can see how it could happen.
- Hi, Jon,
Jon Kern wrote:
> ok, maybe it is silly to debate the term...I've never found creating software to be a "one and only time" no matter
> George it's a free country, use method anytime you please :-)
> I personally will only use "method" when I want to describe some way
> that I achieve something over and over. Often in an abstract sense,
> often in a step-wise way. Often because the "something" is a desirous
> end goal, and one that I (or someone else) wants more than one time.
> I would not describe the /ad hoc/ "how" of the one and only time I will
> ever do something as a "method" if it is not.
how small the program. There's a lot of similarity between writing one
line of code and writing the next.
And I've observed, that people generally continue to do something
somewhat in the fashion they've done it before. Thoughtful people will
consider the result their achieving, and modify their actions to try to
improve some aspect.
I've never seen anyone continue to approach the work as if they'd never
done anything like it before, choosing some completely different way of
working. And I've never seen anyone carefully follow the recipe in a
process manual. At best, a process manual gives the worker some ideas.
It's the process people actually /do/ that has an effect. If you and
Scott and Glen want to reserve the word "method" for officially blessed
procedures, go right ahead. It won't change a thing.
* George Dinwiddie * http://blog.gdinwiddie.com
Software Development http://www.idiacomputing.com
Consultant and Coach http://www.agilemaryland.org