Today I got another confirmation that developers aren’t dumb, they want to be dumb.
We have defined a development process with several promotion levels. The system is divided into subsystems and baselines of the subsystem need to be promoted to published before other subsystems are allowed to use it. Today, one of the integrators came to me asking whether it was possible to prevent developers from using baselines at a lower level.
“Why”, I asked. The reason is that if developers use baselines at a lower level, they may submit extra problem reports about the subsystem they use. “But they know they use a baseline that has not been published for use yet!”, I replied. But developers simply do not care! They will take any baseline from the other subsystem, regardless of it being released for use or not. And if they run into problems doing that, they will blame SCM for it:
Motto: “If it is possible, it is allowed”
Developers aren’t dumb, they just act dumb and do not care about empowerment, responsibilities or plain professionalism. How can we ever protect them against themselves?