The Three Paths

In my experience, I have seen three methods for developing software products: trust, process or misery.

It could be said that trust in one’s colleagues is a requirement to product development, but it’s really only a requirement if one is adverse to misery. Sharing or delegating work, with the honest expectation that everyone is working towards the same end with the same effort, willing to help one another along the way—this is the way most people like to work.

There are a lot of factors working against trust, however. A person may have been betrayed or let down in the past, and have chosen to not trust again or “trust but verify” (which is the same as distrust—and suggestive of a lot of process—otherwise it would be “trust and verify”). Another common barrier to trust is a misunderstanding of effort. It is difficult for people with different thinking processes or understandings of reality to trust one another. In a work setting this often manifests in resentment and conflict.

Trust works well with the second method, process. The more trust, the less process is required; but in the event of little-to-no trust, one can layer on the process thick, like extra butter on stale bread. Process and tooling facilitates communication between unlike parties, transparency, planning and understanding. It’s important to remember that whatever misery you might be feeling in your product development, someone else has felt it before, desired to alleviate it, and worked towards a solution involving some process. There are options and they can be combined in various ways to meet very particular needs. You are not a unique snowflake and in this case that is a good thing.

The last method is misery: work unsustainably until mental and emotional stores are empty, then discard the containers and bring in new. This option is the easiest, as there is only one measurement vector (perceived workload), one motivation method (stick and/or carrot), and involves the least amount of executive function. The downside of this technique is the (unidimentional) data is almost always deceptive, humans (turns out) are not motivated by carrots or sticks, and it also requires a great deal of cognitive dissonance for most people.