Posted by Yannick Martel on October 26, 2009
Coming back to Tools for Conviviality, I want to share some thoughts on software architectures. Software products and associated frameworks on which we build them are tools. As such, the criteria of choice is usefulness to our goals. They should be servants.
Ivan Illitch advocates that “the simple, poor tool is a humble servant; the elaborate, complex, secret tool is an arrogant master”. How many times have we seen choice of tools which we do not master? Which are “elaborate, complex, secret”, and the more fascinating because they are? Can we mention:
- Complex, poorly understood architectures, based on new concepts which are barely understood?
- Huge packaged products, which contains the expertise of generations of analysts and programmers, but which you don’t pretend to master in a lifetime?
- Sophisticated frameworks, which are supposed to do it all and are the best you can get. But cannot sometimes the best be too much?
- Assembly of “best of breed” products, which can turn into “poorest of suite”?
Have you seen these? For myself, I have seen them too many times. With Ivan Illitch, I want to advocate a preferred choice of “simple, poor tools”, which can be mastered and are not too much for our hands, and this apply too well to our software architectures. Thanks to Tools for Conviviality, we have guidelines for selecting them when KISS is not enough. Guidelines which show us how to put at the center the human beings who are going to run, use and rely on them.
Posted in Architecture Style, Books, IT, Methodologies | Tagged: Architecture, Books, Conviviality, Information Technology, IT | Leave a Comment »
Posted by Yannick Martel on October 20, 2009
After reading Tools for Conviviality from Ivan Illich, it seems to me that the large IT organizations I know are some of the best examples of industrialization gone wild.
Ivan Illitch introduces a maturity model for the industrialization of a product or process. Before the first threshold, the costs of industrializing exceeds the benefits. It is like transportation with the very first steam machines: noisy, filthy, not much good for anything. Then maturity arrived, and usefulness exceeded the costs – when steam power was mature enough to be applicable to helping in the real life. In this way, many products and services were industrialized successfully and transformed the world: medecine, transportation, education, food…
But then the cost of industrialization in terms of energy, human life, environment, excessive complexity, indirect costs can become too high and exceed the benefits, at least considering the overall society – some people or groups can still benefit by concentrating wealth and power. Ivan Illitch defends the case that many services in in developed countries have exceeded this second threshold, the threshold of decreasing marginal usefullness.
In large IT organizations, industrialization has been used as a set of methods for tackling complexity and volume. Up to a certain point, we have seen some success. New, more complex, more ambitious software applications are being developed, improved, and are to a certain extent serving the business. But as a method for improving the efficiency of the business, the industrialization of large IT systems seems to me to have exceeded the second threshold. Every new aspect which is submitted to industrialization and centralization, turned over to experts, adds a cost which is out of proportion with the benefits the company gets from the move. This added cost takes many forms: human life essence, efficiency, resources, indirect cost on users or customers…
What should we do? Turn to industrialization with the same tool which has helped in the beginning: rationality. We have used rationality to industrialize, but are not applying rationality anymore if we consider the tools of industrialization as mandatory, as an ends in themselves. We should realize that it is not rational anymore to go on applying these tools without any discrimination, that we should better add some new tools, the tools of conviviality to be able to develop a post-industrial IT.
Posted in Books, IT, Management | Tagged: Conviviality, Information Technology, IT, Management, Methodologies | Leave a Comment »