When Santa comes to town, we get goodies, when a Wise man visits, we get salvation.
Living in Singapore changed you forever, you will never be the same and will never see things the same way again. I mentioned this to a friend who lived abroad, working for a renowned Airline company in the world.
He paid a visit to my hometown after his probation and we were having dinner together with friends near my college campus. While we were quickly checking through the menu, he started chatting about the future in IT industry and what it would look like. He was very enthusiastic about narrating his experience in the office and how he was pleased by some of the experiences he had in the office.
As we were passing around a plate of roasted Crab, he gladly began explaining what life was like for him in Singapore. He told us about the work, culture, experiences, and opportunities that he was exposed to abroad. As we switched our discussion to technical topics, he started talking about a programmer in his office who write 300+ lines of COBOL code in a day, compile it once, push the binary for execution and go home. The team was using IBM mainframe systems and in those days these systems are being used more selectively and efficiently as each minute of utilization will cost money. My friend was very much amazed to see how someone can write code that compiles successfully in the first attempt and run without any glitch.
At the end of the conversation, when everyone shuffled out for the night and mumbled their goodnight’s, I couldn’t sleep, I kept thinking about this man who can write the code without any bug in the first attempt and able to run the batch program without any tester. Instantly he becomes my role model.
I have seen project teams who find solace in 90/10 rule of project management where the last 10% takes 90% of the time. They always quote this to justify project overrun. The real issue is that developers who are backed up by one or more quality assurance (QA) testers don’t fully test their code and the QA never put effort to fully cover the scenarios. The responsibility is split between them. It’s vague. The developer is busy producing new features, to finish the first 90%, but only at the last 10%, we get the system to the actual users and it doesn’t work.
There is merit in insisting developer-based testing in software projects, ask the developers to produce automated, integrated, code-based tests and measure the code coverage. Only when the developer understands the user scenarios well, he can do the job right. I would like them to cultivate the habit of writing code that works. I am not saying we shouldn’t have testers, but they are not paid for pointing developer mistakes and programming bugs.
Today I am on the verge of completing my 20th year In the IT industry. I have executed many different projects of varying sizes. I always believed in developer-based testing in our projects and the results are amazing, with no obvious bugs, no cost overrun and better customer satisfaction and we never had QA’s in our team.