Search
 
     
   
   
   
 
By
Dr. R. Srinivasan,
CTO, iCMG, Bangalore
   
  Well-defined hierarchy speeds up decision making
 
 


There are many common hierarchies in software development organisations. These hierarchies can cause a dysfunctional working environment in which nobody will be able to work happily, cautions Dr R Srinivasan

While discussing the role of a project manager in a software development project, we have elaborated earlier that he should be responsible for three main areas like people, process and technology. In addition to this role in the project, he is also the main link between the project group and the senior management of the organisation.
It is possible that because of a tough hierarchical structure, the decisions are based on the preference of the senior executive, rather than on proven organisational models best suited to the size and maturity of the company. There is absolutely nothing wrong in having a hierarchical structure, it may also be a necessity, but such a structure should not impede the enthusiasm and efforts of a project manager. Will such a situation arise? The answer in the majority of cases is "definitely not!" On the other hand, if the hierarchies are based on personal relationships leading to favoured opinion, it would create an awkward situation where the need for frequent changes to the hierarchy will be warranted. Naturally this will deter the efforts of a project manager, which will have a direct impact on the productivity of the developers. In a nutshell, any organisation having a hierarchical structure that creates chaos in the management of the software development, gives rise to an antipattern called, 'Corporate Craziness'. Software guru Ed Yourdon, in his book Death March, warns that there are several common hierarchies in a software development organisation that can cause a dysfunctional work environment where nobody will be willing to work! William Brown, et al, bring out six such types of hierarchies.

A system with too many layers of hierarchy and where nothing can be decided unless we go through these layers of decision-makers is a typical Pyramid Hierarchy. Unfortunately, in a system like this, those at the lower layers will not take any decision unless approved by the one above, resulting in an inordinate and unwanted delay. This delay will definitely cut into the useful and productive time period of the developers down the line. Another case may be that there are too many managers compared to the number of developers----- a case of Inverse Pyramid Hierarchy. The confusion and the ultimate chaos that may happen in this case will be due to the point of wondering who will take the decision. It may happen that ultimately it has to go through many managers, a situation not different from the case of Pyramid Hierarchy. The third type is the one where we will see a flat management known as One-Dimensional Hierarchy. Because of the inherent informal atmosphere of shared responsibilities with no role differentiation, the decision-making is much more difficult than the other two cases. The fourth one is called Despot Hierarchy, where one person makes all the decisions. This is not only difficult but also dangerous in the area of software development that demands the attitude of balancing the tensions arising in technology, schedule slip-ups, adhering to quality aspects and above all instituting the motivation in developers.

In very rare cases, it may happen that a set of like-minded people join together in the management position for their own personal benefits and take charge of decision-making in the organisation and keep it to themselves. The classification of this type is known as Cabal Hierarchy and due to its lack of open and honest communication with others in the organisation, will be the real cause for the failure of a project. A frequent change in the management structure is also bad because each one will hesitate to take decisions because of insecurity. This is called Evolutionary Management and under this type the developers lose confidence in the management and they may decide to take decisions themselves.

To summarise in the words of William Brown: "Poorly organised management for the size and culture of the organisation is a singular cause of this antipattern". The refactored solution for this should be such that it takes care of all the bad structures that we discussed. Every organisation should have a well-planned and effective management structure with defined roles and responsibilities with respect to decision making. This is very clearly spelt under the standards like International Standard Organisation's ISO 9000 and Software Engineering Institute's Capability Maturity Model (SEI/CMM).

  ( To be continued)

(The author is Chief Technology Officer, Internet Component Management Group, Bangalore and can be contacted at: r.srinivasan@iCMGworld.com)

 
 
     
Copyright © 2006 iCMG. All rights reserved.
Site Index | Contact Us | Legal & Privacy Policy