Ranum's Law

ChuckMcM's comment below (emphasis added) made me realized again that why a system failed to work even though technically it was designed correctly within an organization. It was always a people problem rather than a technical issue or as Marcus Ranum put it, "You can’t solve social problems with software".
"This really resonates with me. Once any organization gets to a certain size, getting change to happen is more "social problem" and less "technical problem." When you don't select for people at that stage who can move an entire organization over to a new way of doing things, your organization will stagnate and die. It used to really annoy me at Google when technical evaluators who dismiss those "soft qualities" in candidates. I had a fairly famous Googler tell me point blank that anyone could change the organization by shouting loudly enough. Which I tried to explain was just as false as saying anyone can solve a problem if they write enough code. But alas, they were not ready to hear that at the time."
We, software developers need to realize that technical solution alone can't solve social problem as concluded by Chris Siebenmann below.
"Social engineering is a much more difficult field than computer engineering; it is much easier to build something that works than to build something that people want to use. Solving the technical problem without considering the social ones around it is like designing a beautiful house without bothering to find out where in the world it's going to be located."
He proposed that we should work a technical solution within the social constraints. Additionally, within an organization, in order for a system to work, the management must willing to step in and make the hard decision to change from the top.

No comments:

Post a Comment