This organizing dilemma is one of the most common management dilemmas. It is not constraint to large organizations that focus -- to name one -- on implementing a shared service center, but also small companies are dealing with this problem. Even when you are a programmer you deal with this one. Large organizations constantly struggle with this one. The problem is about choosing the right way to organize activities according to the situation. If you decentralize activities, then the various (business) units get freedom (independence) to solve their own problems and challenges. For instance a business unit that is focused on a retail market might encounter different solutions to manage client relations and use different systems. At the accountancy level, this unit will have to report its financial figures, but that is about the only relation (in the extreme scenario of independence). A business unit is able to take decisions swiftly without consulting the holding. A similar unit - under the same holding - operates in a familiar way, taking again other kind of decisions, which result in different systems, and in the situation of full independence also results in a variety of infrastructures. The challenge with this construction is that many activities are done double and many solutions are invented twice; for example, infrastructural services are differentiated which will mean that they will not operate on a (large) scale and will not be efficient. This will only be a problem during a contraction period in the business cycle. The dilemma is not only reserved for large organizations. Any small activities where you are dealing with a small group of people and different activities will raise this issue. For example; think about the programmer, building a software system. This can only start with the development of a small system. You gain some more clients and for different clients you will develop a different software solution, a different interface and some extra features per client group. And because you develop this software for different clients with different needs you start building the system as little islands of functionality dedicated for each user group with their own requirements. Its most likely that these parts of the system will be developed by different members or department of the (growing) organization. But then you start testing, the system gets popular and you experience that the maintenance takes quite a lot of work to accomplish. You start streamlining the system by separating code that is shared by all users. 2006 Hans Bool |