Need for Speed: Practices to Improve Software Quality

Software quality is always a fascinating and daunting task to achieve. Right from top management to test engineers, all talk about quality goals to be achieve. And you will still find defects in your application.

There is reason why bugs are called “Bugs”. These pests have been around for a long time, they always turn up at the most inappropriate times. This way achieving quality gets trickier in this brutal business climate – a scarcity of time and resources as well intense cost pressures – have made “the need for speed” a more apt motto for development teams rather than assuring that “quality is job No. 1.” This doesn’t mean that we can afford to dilute quality and accept software with Bugs.

We need to understand that quality assurance is not final part of application delivery, rather it must be part of whole SDLC. Below are few practices that the development teams should follow. These will help the development team to improve quality without the need to slow down development.

  1. Develop own Quality standards: Keeping your end business goals/ KPIs in mind, define your quality standards. Make sure you take into account your time, resource and budget.
  2. Fine tune Goals to include Quality: Once your High level goals (at release level or Higher) are established, start translating them to teams and individuals. It will have 2 distinct advantages : A. You can closely monitor your progress towards goals by distributing goals among teams. Later respective Team Leaders will have responsibility to track the goals.  B. It will not only give a clear goal to your team members to achieve but also motivate them to achieve them as they can relate themselves with Business Goals.
  3. Establish Requirements Right: For the success of any project, Requirements are foundational stones. Requirements should be aimed for satisfying user experience. The benefit of this will result in less rework, less retesting and reduction in overall time and effort. 
  4. Test what you required, not everything: Once your requirements and Goals/KPIs are set, start identifying crucial and most risky areas. Make sure testing for such areas will get lion’s share, so bugs that slip through are from less important areas. Also, discuss with development team for impact areas based on code changes.
  5. Define Simple Quality Metrics: Start with simple  quality metrics. It could be Defects per module, Open Defect Distribution etc. Once few basic metrics are ready, start discussing with business teams about which are the areas they would look for improvements and want to measure. In this case you can also propose few ideas from your side. 
  6. Optimize the use of Testing Tools: As per your budget and other constraints include Automation and Issue Tracking tools to help the testing team.

Automation will free resources from repetitive testing efforts. Tracking issues with any standard issue tracking tool will give important data points to make decisions.

Remember: Software quality is team exercise and everyone has to do it.

By : Manish Holey


Also published on Medium.

Share