Live data from Hacker News

The Programmer's Dilemma

raganwald.posterous.com

31–40 of 53 posts

Re: The Programmer's Dilemma

#31
The other day I suddenly realized why I dislike software processes so much. It's because how you build a system and what the system is depend on each other. Each needs to evolve as you learn more (and as the team changes).

Software processes, by definition, predefine the how. That kills the feedback loop and hinders projects from evolving. The same reason why waterfall is a mistake -- because it treats as fixed things that need to change -- applies to software processes in general. Software process is just waterfall at the project level.

Software projects are no less unique than software systems, but we would laugh out the door anyone who claimed to have a metadesign for all programs.

Re: The Programmer's Dilemma

#32

A colleague of mine - his wife was a 3rd grade teacher. One day, he mentioned to her the process that we were doing. And she laughed. She showed him the daily progress report. "What I did today? What I want to do tomorrow?" That her 3rd graders had to fill out everyday. Are programmers adults that need to be self-managed + micro-managed like 3rd graders?

They asked me in school what I wanted be when I grew up, I wrote "happy", they told me I didn't understand the assignment, I told them they didn't understand life.

Re: The Programmer's Dilemma

#33
post #7

Now you need to write the followup, which shows how agile and Scrum are so often used to shift power from the business people to the developers without actually solving the underlying problems. (You'll have to edit parts of this piece where you imply otherwise.) Unless, of course, agile is that magic bullet Fred Brooks stopped looking for 25 years ago.

[deleted]

Re: The Programmer's Dilemma

#34
You can see this sort of thing play out in every episode of the BBC's Apprentice. The prevailing strategy is to blame the someone for messing up their part of the task, rather than to accept that the strategy which everyone agreed upon or which they were forced to adopt was the source of most of the problems. Since they're FORCED to name someone to fire anyway, not doing so from the start just makes them look indecisive or dishonest.

Re: The Programmer's Dilemma

#35
post #18

Was this a failure of process or people? Neither. It was a failure of management... Anyone who conducts a post-mortem with their people would be much better off simply looking in the mirror. Where were the Vice President of Development and the Vice President of Marketing when things starting going bad? Things simply don't go wrong at the end of the project; there had to have been plenty of warning, if only someone wa…

Exactly, VP is the level at which you've crossed the rubicon and excuses no longer matter. You're in it to win and if you don't it's your (the VP's) fault.

Re: The Programmer's Dilemma

#36
post #34

You can see this sort of thing play out in every episode of the BBC's Apprentice. The prevailing strategy is to blame the someone for messing up their part of the task, rather than to accept that the strategy which everyone agreed upon or which they were forced to adopt was the source of most of the problems. Since they're FORCED to name someone to fire anyway, not doing so from the start just makes them look indecis…

This is why smart people study rhetoric. Everyone is at fault but the guy with the best sounding answer wins.

Re: The Programmer's Dilemma

#37
post #24
post #12

Earlier quoted context omitted.

No, I mean best outcome for all parties -- ie win-win -- and the story sounds to me like there is no actual good outcome for this tale. I am well aware that in prisoner's dilemma if one person betrays/blames and the other does not, that's when one party gets over. Sorry for being unclear.

No, you're still missing it. In Prisoner's Dilemma, if they both cooperate they still get a bad outcome. It is globally the least bad, but individually worse for each of them than defecting if the other cooperates. Look at the payoff matrix: [1] If mutual cooperation was the best outcome, there would be no dilemma . [1]: http://en.wikipedia.org/wiki/Prisoner%27s_dilemma#Strategy_f...

In that matrix, total time served if they remain loyal is 2 months (one month for each of them). If one of them betrays the other, total time served is 1 year (for one of them while the other goes free). If they both betray, total time served is 6 months (3 for each of them). So it seems to me that if they both remain silent, that is the best aggregate outcome. However, it isn't always the case that someone will automatically be screwed no matter what. Sometimes if they both remain loyal, they can't be charged with anything. The reason there is temptation in a case like that is because if the other guy breaks, then you are screwed, not because loyalty isn't the overall best outcome but because individual outcomes vary with each possible set of choices in the matrix and there is risk in not knowing what the other person will do.

Maybe you don't care about "overall best outcome". Maybe you only care what happens to you, in which case I assume you would betray me. But in the face of rules that are going to screw the people no matter what, closing ranks causes the least overall harm -- assuming you have sufficient trust to pull that off in the absence of communication. (EDIT: For example, if you are both members of an organized crime syndicate or a resistance movement, the organization suffers the least overall loss/cost if it gives very strict orders that no one talks -- assuming the two people are of equal value to the organization. Even if you are not part of a larger organization, betrayal costs not only time served but trust of the person you betrayed. Depending upon the situation, one month in jail may be less of a loss than losing this person's trust.)

Re: The Programmer's Dilemma

#38
post #24
post #12

Earlier quoted context omitted.

No, I mean best outcome for all parties -- ie win-win -- and the story sounds to me like there is no actual good outcome for this tale. I am well aware that in prisoner's dilemma if one person betrays/blames and the other does not, that's when one party gets over. Sorry for being unclear.

No, you're still missing it. In Prisoner's Dilemma, if they both cooperate they still get a bad outcome. It is globally the least bad, but individually worse for each of them than defecting if the other cooperates. Look at the payoff matrix: [1] If mutual cooperation was the best outcome, there would be no dilemma . [1]: http://en.wikipedia.org/wiki/Prisoner%27s_dilemma#Strategy_f...

A Prisoner's Dilemma is defined by the ordinal ranking of alternatives, not the absolute cardinal values. The common example used from which the name of the game is derived happens to be prison sentences, which are all negative payoffs (or zero for no time). But as long as the payoffs maintain the same ordinal ranking, they could positive, negative, or a mix.

Re: The Programmer's Dilemma

#39
post #14

Earlier quoted context omitted.

> She showed him the daily progress report. "What I did today? What I want to do tomorrow?" That her 3rd graders had to fill out everyday. To be honest, it sounds just as insane—possibly more—that children have to do this kind of thing. There were fewer assessment exercises of this sort when I was in school, albeit appreciably more than my parents had to contend with. The main lesson I took away from them was to avoi…

Having graduated from grade school many decades before NCLB, I fear that adults are irrevocably changing education for the worse. Test taking isn't learning, yet it the main priority for many schools (especially poor ones).

Its not like the colleges are any help here with the requirement to take the SAT, PSAT, or ACT for college admission. A student who doesn't know how to take a test isn't going to get the scholarships or even entrance to college.

Poor schools have a lot of problems like poor materials (my brother's history text book had serious editing errors like "Abraham Lincoln was black.") and problems attracting good teachers. The problem seems to be bad enough that they, given the scores handed in, are even to the level of teaching for the tests. I don't see any real hope until parents are allowed to move the tuition money the state pays the schools to the school of their choice. Innovation is hard without choice.

Re: The Programmer's Dilemma

#40

A colleague of mine - his wife was a 3rd grade teacher. One day, he mentioned to her the process that we were doing. And she laughed. She showed him the daily progress report. "What I did today? What I want to do tomorrow?" That her 3rd graders had to fill out everyday. Are programmers adults that need to be self-managed + micro-managed like 3rd graders?

Everyone working in teams needs to share information about what they're doing with the rest of the team, so that they can work together.

If the simplest way to do so is a brief "Yesterday I built 90% of Foo, but hit problem Bar, today I plan to finish Foo and start implementing BaseWidget" then that's great.

Post reply on HN