Behavioral Issues

Please Note - The behavioral issues discussed in this section are specific to India. I am not very sure whether this problem exists in other parts of the world.

In this section, I will discuss a very interesting problem of behavioral issues which is so complicated, that even if the software development industry wants to solve this problem, they just cannot solve because of the sheer amount of changes that needs to be done for this to be sorted out.

Complex systems in any stream of systems engineering, demands the usage of engineering best practices along extreme level of rigor and discipline. There is no stream of engineering which deals with development of complex systems that can survive without this basic engineering discipline. Unfortunately this basic engineering discipline is missing in the software development industry due to a number of reasons.

The article "A day in the life of a software engineer" will help understand the level of indiscipline which is deeply in rooted within the software professionals. Can any stream of engineering give out a high quality system with the engineering schedule mentioned in the article?

As we have discussed, there are some severe limitations faced by a human being, when dealing with understanding the complexity of a software system. Given this fact the task of requirements gathering along with analysis needs to be performed with professionals who are aware of these problems and trained to be experts in managing these limitations by using appropriate engineering best practices and tools.

  1. Lets ask our selves "The professionals who are gathering the requirements today for our systems .. Are they experts in requirements gathering and systems analysis?"

  2. Are they trained to be experts in requirements engineering and systems analysis ?

  3. Most of the professionals are not aware of these technical/strategic/behavioral implications of this problem.

  4. If they are not aware of the problems and limitations then it is not fair for them to know the best practices to resolve the same.

The article "Requirements Gathering Business - World Tours and Travels Business" will also give us an interesting perspective.

The question is can these behavioral issues be ever addressed? According to me , it is very difficult to address these issues because of the following reasons.

  1. Indian Software Industry or Software Industry in general has been always dominated by Software Engineers. IT companies are always short of software engineers and because of which during the boom time there is a mad rush for these engineers and the HR teams just recruit every other person to complete their numbers without bothering about the quality of these people and the salary they demand.

  2. Demand Supply inequality is the mother of all problems which effects this industry in various ways.

  3. In a scenario where every other engineer always have at least 2 jobs in backup with a possibility of minimum 15% hike, can a project manager take the risk of reprimanding his engineer for not doing his job properly. In slowdowns it might be possible but not when the economy is doing good. During the boom time PMs struggle to keep their teams intact leave alone reprimanding then for their short comings. I have myself seen professionals quitting jobs just because the manager asked them to rectify their short comings .A lot of my friends are middle level managers and they frankly tell me how they become helpless when it comes to managing these software professionals.

  4. Again due to the problem of engineers ruling the roost and due to abundance of job opportunities, in general software professionals between (0-6) yrs of experience change jobs very frequently (on an average every 2 yrs). I have seen a lot of software professionals doing these task very casually as they know by the time their mistakes are known , they would no longer be working in that company.

  5. Task of analysis and design needs a lot of discipline, but due to the points described above “Software Professionals” are very poor wrt discipline.

  6. Don't you think with provisions like code and design review in place, majority of the implementation and design defects should be ideally get caught and rectified? But the fact is most of this is not done in the right spirit and are just completed as a mere formality.

  7. While I was speaking to one of the Quality Heads of a well known TSP.. he said Hemant which product or system that you will make when my engineers find it difficult to even press a single button to switch on a voice recorder.(The company had the provision of recording conference call with the customer so that requirements cannot be missed).

  8. I don’t want to sound sarcastic about the same but I want to highlight that the indiscipline among software professionals is deeply en-rooted and most of the software professionals find nothing wrong in the same and have taken this way of working for granted.

Given the points described above ,even if the software development company wants the problems associated to requirements, analysis and design to be solved, it is extremely challenging to make the behavioral and intellectual change on millions of software professionals (Scale of change makes it non viable). These issues are deeply en rooted. It is not possible for the change to happen till the base demand supply problem is rectified.

According to me the task of requirements engineering, analysis and design needs a lot of passion and discipline which is I believe will be very difficult for the software development companies to inculcate.

According to me , software professionals should not be blamed for these behavioral issues, these behavioral issues are actually created, fostered and promoted by Demand Supply inequality and the business model of the software development industry.

Hemant Jha
Founder - VPlanSolutions
Researcher, Trainer