3 ms·
Shameless plug: a while ago I wrote a blog post covering similar topics with a goal of critically re/thinking about how we think about designing systems. https:
by elvinyung 8y ago
Shameless plug: a while ago I wrote a blog post covering similar topics with a goal of critically re/thinking about how we think about designing systems. https://www.notion.so/Towards-Humanistic-Systems-6f8cf442bca149afbf7e1eea096619d9 https://www.notion.so/Towards-Humanistic-Systems-6f8cf442bca...
I think the problem with this article is that it tries to suggest tips on how to prevent the cobra effect before the system is deployed, but instead it should be more about recognizing and reacting to it quickly after the system is deployed.
The way I see it (an extension of Campbell's Law [1]), systems tend to get corrupted and have perverse incentives no matter what. You're probably not going to understand the problem enough to design the perfect system the first time, no matter how hard you try.
In other words, don't try to predict the future, to see all ends, because you can't. Even more important than the ability to design good systems is the ability to change the system, not just to re/design the entire system at once, but to iterate over time.
This is much, much easier said than done, but realizing it is the first step.
[1] https://en.wikipedia.org/wiki/Campbell%27s_law https://en.wikipedia.org/wiki/Campbell%27s_law
- ismail 8y agoYep I agreee. This is the nature of complex systems. you cannot possibly see all permutations of your decisions/actions. However one should at least think them through and then have a feedback or monitoring system in place to recognise when you are having unintended consequences and then react. You iterate to a solution by constant monitoring and feedback, then reacting. Put another way it is not “I implement this and I am done”