
Discover more from Software Design: Tidy First?
As a programmer I’ve spent most of my career, well, programming. The metaphor of programming is particularly powerful. Get the rules just right and the program will run flawlessly forever with no further attention. What a pleasant change from the anxiety-inducing, messy, chaotic, unpredictable world of people.
I can remember my absolute elation when C3, the first Extreme Programming project, went well. I had finally cracked the code. No programming project need ever be late, much less fail ever again!
Of course that wasn’t true. Many programming projects shouldn’t even be started but you can’t tell until it’s too late. Even potentially-successful projects can be derailed by changing business conditions, unpredictable human relations, and flat out bad luck. There are no rules.
When I started studying performance review and compensation, or more broadly “incentive systems for geeks”, I had a moment of déjà vu. It felt a little like programming people. Give them this incentive and they will behave like that. How naïve.
Different people respond to incentives differently.
Just because behavior changes, that doesn’t mean the overall outcome will change in a predictable way.
At the same time incentives matter to behavior and behavior matters to outcomes. What to do? Stay humble, even while carrying responsibility. But it’s not programming.