Testing in Project Management – Programmer’s Ego
By C. Gopalakrishnan
I have been keenly watching the mind-set and the attitude of 1000s of software programmers over the last 30 plus years in the IT field. In fact I started my voyage into IT career as a FORTRAN programmer during 1977, went on to become COBOL / PL1 and C programmer before becoming an analyst/designer in the year 1982. Almost all the programmers I had come across have strong egos. In general, they are the greatest opponents towards any process, as they sincerely believe that the software is nothing but “CODE” and that the Code they have written is infallible. They do not see or understand the impact of Project Management, Quality assurance, Review or Testing. They believe spending time testing code they wrote is admitting to the possibility of personal failure.
Probably, this feeling of Arrogance is fanned by organization’s behaviour towards their so called “Technology Staff”. In most of the software companies a programmer is a pampered person. This is true of small start-up companies, while large companies having 1000s of staff understand the importance of Project Management, Quality Assurance, and Technical Writing. This arrogance could also be due to the fact that companies prefer to take professionally qualified engineers as developers and offer them excessive salaries as compared to Testers or Technical writers.
Further, programmers have a natural tendency to treat their program as a part of themselves. Thus any criticism on the quality or efficacy of the code is taken by them as an affront to themselves. Let us see how this is reflected during a SDLC project
Most of the time programmers think that:
- The Software delivery date is “code completion date.” (Often testers spend continuously 24 or more hours to maintain the delivery date. It is also another matter that Testers keep waiting for hours for the promised code/program)
- Most of the programmers sincerely believe that Testing does not take time
- Another example of their over confidence (wrongly placed) is that the code may require just one cursory testing, more so to satisfy the Process compliance or QA Audit
- The testers are throwing more defects than is necessary; or in other words programmers strongly believe that testing need not be as thorough as some of the defects may not come to surface or found by User (Customer) during his day to day work. (I have heard one CEO of an IT company saying that their code has bloated enormously due to adding additional lines while fixing all defects thrown out by Testers, and this had impacted in both performance of the code and delivery slippage)
- Peer review is considered important only by SEPG or SQA.
C. Gopalakrishnan is a thorough professional with more than 25 years of Senior Management experience in Software Delivery, Project Management, Quality and Testing. He has an extensive experience in Project Execution and Delivery, Project Management and Monitoring, Customer Relations Management and Quality Assurance including Software Testing. His professional blog can be found here.