Behavioral Economics and Clojure
Situation 1
When I take the ownership of a new project, I tell my boss that I want to use Clojure/ClojureScript/Datomic. I promise to deliver good quality with only one third of development time required for using other popular/ordinary technology. My boss usually asks me: "How about the long term maintenance problem? How can I find many Clojure developers?"
If I do not insist, my boss will choose mundane technology because she really cares about "long-term benefits".
Situation 2
The software is delivered. However, one day my boss needs certain feature and she even wants to talk directly to me because she wants it so urgently. I provide two options:
- The canonical solution, which takes 2 months to implement.
- The workaround solution, which takes 3 days, but may have security issues.
This time, my boss tends to choose the workaround one because "In the long run, we are all dead."
Loss and Gain
There is a very interesting question here. Why in the situation 1, my boss cares about "long-term benefits" more, but in the situation 2, my boss asks for short-term interests?
I would like to use the framework of Behavioral Economics to explain this. For situation 1, my boss treats the long-term difficulties in finding Clojure developers as "loss", and she treats the short development time as "gain". For situation 2, my boss treats any waiting as "loss", and good software quality as "gain". For humans, loss is 3 times more powerful to gain. As for which is a loss and which is a gain, it depends on the reference point.
The interesting thing is that the reference point is drifting and when people cannot decide the reference point through their own experience, they just take the "average opinion" as the reference point.
Conclusions
The critical part of educating customers is really about changing the reference point that the customers originally hold subconsciously.