Philosophy of human behavior informs product development
This struck me reading Adam Bosworth’s essay ICSOC2004 Talk in The Best Software Writing I :
those systems which best take into account the complex, frail, brilliance of human nature and build in flexibility, checks and balances, and tolerance tend to survive beyond all hopes.So it goes with software. That software which is flexible, simple, sloppy, tolerant, and altogether forgiving of human foibles and weaknesses turns out to be actually the most steel cored, able to survive and grow while that software which is demanding, abstract, rich but systematized, turns out to collapse in on itself in a slow and grim implosion.
So it also goes for product development and even systems development that supports internal company operations.
This struck me, I guess, because our my (I should speak for myself here) natural tendency is to try to put tight controls around the external world. But the world doesn’t respond well to that—actually, it checks out, unless it has no other choice (like using an ERP system mandated by corporate headquarters).
So instead of controls, we should be thinking of checks and balances and a way to encourage folks to do the great job that they really want to do in the first place.
Command and control or guidance based on communication?

