Politicians are all up in arms about the Obamacare website not working properly due to lack of testing. Testing? QA? In the real world, testing is one of the main tasks that shrinks to allow more time for development because we all know that development always takes longer than planned. This is unfortunately an issue on every project I have worked on. Today, a web site I helped developed for a very large university is being released with absolutely no official QA testing of any kind. There aren’t even any QA engineers on the project. Want to guess what’s going to happen?
What I have learned that it’s crucial that QA is involved in all stages of development and should even be included in the very first meetings. Again, I can only remember this happening once on a project but it was not followed through. I have tried over and over again to get this happen with not much luck at all. I once had a manager remove all testing tasks from a feature I was working on because it “did not meet the release date”.
In just about every project I have worked on the magical (dreaded) “release date” is usually the problem. This release date is usually decided by people that not only are in the development team but never actually talks to them before coming up with the date. I once went to a project meeting and the manager for the product management team walked in, told us the features that had to be done and the date they had to be done by. At this point all the developers in the room checked out (mentally) because this could not be done so there was no point on paying attention anymore. Actually, we did give them a number on how long these mandatory features would take. The number was 6.9 man years… there were only three developers.
So when the department head heard this, he rushed into our meeting and announce we would get it done in three months by hiring contractors. This is the typical response that managers have and we (developers) all know that throwing more bodies on a fire does not work! The department head later cornered me in the stairwell and asked me my opinion. I asked him if really wanted to know and he had to promise not to fire me. After agreeing I told him that if we hired these contractors six months ago we might have a chance, but his plan would not work.
Guess what happened… you got it! The project was many months late and we had to remove many of those “mandatory” features. Actually when we released the product we started loosing current customers mostly due to issues with the program. What will fix this problem? Many are using software development practices like Agile, but this won’t fix it. The only thing that will fix this is communication and education.
Communication is key in any company and is usually never done much at all. At the last company I worked for it was maybe the worse I have ever seen. We referred to all the teams as “silos” that didn’t seem to know how important this is usually due trying to protect their domain.
Eduction refers to teaching everyone above the development teams on how the software process actually works. The last company I worked for had a habit of putting people in key positions of project management that came from other non-software teams in the company like the financial department. They had no idea how this process works. Even after going through the process a few times it seemed, to me, they did not learn anything. Actually I kept ranting that the project management department head had never gone through a software development process even though he has… heck we was the department head. He was removed from this position and we though we might have a chance… we didn’t with the new guy. Not long before I left the company he was brought back. This was the point many of us started looking for new jobs. Actually, one year later, all of the senior developers are gone. Jumping the sinking ship.
Now this company thinks that outsourcing, to foreign countries, will fix their issues. Ha, this is only going to make it much worse and they will learn the hard way. Let’s see if they have any customers left in the next few years.
So how do we fix this? Do all of the things I mentioned in this rant. Sadly this will continue be the norm. In my 20+ years of software development experience I have never seen this issue change.