Quality Driven Development

I was reading an article about Reasons to write bad code !!, the author was sharing his experience about having problems with some bad code, written by his senior colleague. He further elaborated that his fellow wrote bad code to avenge his company for stress and frustration. But I don’t agree with it completely because developer alone can’t be blamed for his bad code and there might be very few exceptions that will avenge the company. My argument is; what the project manager, team lead or test team was doing when the developer was writing that creepy code. These problems could have been mitigated early in the project cycle if you had conducted peer reviews, implemented proper coding standards and verified them during testing etc.

You can’t develop quality product in tight schedules and stressful environment. Many companies often ignore long term consequences over short term gains. Quality is a company driven activity, unless company is not focused on developing quality product, people will continuously face such problems.

So what are good practices of developing quality in the code, here are some practices that will help you develop good code and quality product.

  • Quality is a company driven activity. (Very important)
  • You should allocate justifiable time for each activity in the project life cycle.
  • Encourage peer reviews among the developers and team lead should be responsible to look after this activity.
  • You should have a quality assurance team capable of doing white box testing, performance and load test etc.
  • Follow good coding standards and verify those standards during testing and peer reviews. Automated testing tools for verifying coding standards save lot of time.
  • Encourage your employees to learn new technologies, we all know older technologies have deficiencies and limitations.
  • Company should try to integrate new versions of the technologies, its not always required but it helps.
  • Unit testing must be compulsory for developers.
  • When you have time review your own code, you will find few issues yourself. I personally experienced that when developers do load testing they improve their code a lot.
  • Train your employees, specially inexperienced ones, on how to write good code and about good practices. To argue about code is bad, you must know what is good.

There might be more practices that will help you improve your code and skills. Please use comments to extend the list or argue about the practices :) .

Top 10 Excuses Made by Programmers

One of my friend sent me an email with subject “Top 10 Excuses Made by Programmers”, I think you might have received such mails or read on some blog or any where on the internet, but I feel its worth sharing. I believe this have been very true if you think for while or look around in your team. Developers have been making these excuses very frequently; if you are a Quality Assurance/Test engineer you will support my argument. Here are the 10 most common excuses made by the programmers:

10. “I haven’t touched that module in weeks!”

9. “It must be a hardware problem.”

8. “Somebody must have changed my code.”

7. “Did you check for a virus on your system?”

6. “You must have the wrong version.”

5. “That’s weird…”

4. “There must be something wrong with your data”

3. “It’s never done that before.”

2. “It worked yesterday.”

and the best one

1. “It works on my machine”

How many of these excuses you made in your career? Share your experiences.