5 Metrics to a clearer view of your Project’s Health and Quality

Introduction

Metrics are used to measure various characteristics of a project. They describe an attribute, as a unit. From a software point of view, they can be classified into product quality metrics or project quality metrics. Product metrics are the ones that focus on product quality by describing its attributes and features whereas project metrics focus on improving the project quality. There’s another category of metrics, process metrics which we leave for another post.

Why Quality Metrics?

Quality metrics are measured against quality standards to determine whether the product works to the client’s expectations and if the project is in good health. By good health, it is meant that the development of the software (product) is on track with minimal or negligible problems. Problems that might end up hampering the whole development process, hence resulting in delayed results.

One must understand that metrics aren’t just limited to finding defects, but is about getting insights to optimize the development process.  It also concentrates on qualities like reliability, consistency, and so on. Both products as well as project metrics should be measured and monitored with equal importance.

Generally, you might find a huge number of quality metrics to measure. Let’s focus on the ones which help us analyze a project’s health by providing insights that really matter.

Following are the Metrics

 Let’s look into some project metrics:-

1. Finance

Some people may not consider costing as a quality metric to measure, but in reality, it definitely is. Without laying down the budgeting plans, monitoring the expenditure, and going through the finance books, you cannot deliver something of topmost quality as one might run of resources to maintain the same. This eventually ends up affecting the project’s health. Costing should be looked after with the utmost care to sustain good quality and a healthy project. Some metrics to use are:-

  • Cost Variance: Difference between the actual cost and planned cost.
  • Cost per Problem Fixed: Amount spend on an engineer/developer to get the problem fixed.

2. Defect Quantification

To make the project free of bugs and errors, defects need to be quantized and worked upon(fixed). Lesser the number of defects, better the project’s health. Defects can be dealt with in many ways. All we need to make sure is to make the best out of the defect resolution process and hence increase productivity. Some of the metrics are:-

  • Defect Density = Total Number of Defects / Total Number of Modules
  • Defect  Gap Analysis ( Also called Defect Removal Efficiency)% = (Total number of fixed defects/Total number of valid defects reported)/100
  • Defect Age = Average time taken in finding a defect and resolving it.

3. Scheduling

It helps to analyse the progress made in the completion of a project. Being on the schedule should be of topmost priority, as at the end of the day, you might not want to disappoint your stakeholders with a delayed result. All you need to do is stick to the planned schedule and measure Schedule Variance.

  • Schedule Variance:  Difference between the scheduled completion of a task by the actual completion of the task.ie.
  • SV= Actual Time Taken – Time  Scheduled

Every project is eventually a product made available in the market.  Following are the product metrics that one should always measure:-

4. Performance of the Project

Performance is measured by the performance metrics. Every software is designed to accomplish specific tasks and give results. It is measured if the product can deliver as per the requirement of the client by analysing the time taken and the resources used. One way of measuring performance is to set small goals and work for them. After the accomplishment of such goals, study the process. This approach ends up giving exceptional insights into the project’s health.

  • ROI – Return of Investment: Comparison of earned perks/benefits and the actual cost
  • Resource Utilization: Measures how the individual team member’s time is spent.

5. Usability

A program should always be user-friendly, as eventually, it has to be used by an end-user. One way of measuring this is by analysing the project from a user’s perspective almost after every step in the developing process. This will help to fix errors and bugs on the go, so you don’t have to revise the steps you took weeks ago just to fix a recently discovered bug which might end up being really frustrating. Measuring the usability metric will provide insights to improve effectiveness, bring about efficiency, and thus achieve customer satisfaction. Some metrics to measure are:-

  • Task Completion Rate (used to measure effectiveness) Effectiveness = (Number of Completed Tasks/Number of Task Undertaken)*100
  • Task Completion Time =Task End Time – Task Start Time

Conclusion

Summing up, now is the time to get over the traditional practices, and add this method (of measuring metrics) to your work approach. Find the weak points, prioritize opportunities, and experiment to know what works, or what doesn’t. If you want a powerful and attractive project, which is healthy and guarantees customer satisfaction, measuring quality metrics is the answer you’re looking for.

If you’re looking for more information , please contact us we will be happy to help.

Is your QA practice ‘Future-Ready’?

COVID-19 has changed the world. It has changed mine. I no longer have the luxury of breathing in the unfiltered atmospheric air, where I get to smell the delicious aroma of food from wayside vendors. There’s always a mask on my face. COVID-19 has affected the way organisations and businesses and QA practice are being run as well. 

Arguably, Quality Assurance practice however, has been not so heavily affected by the pandemic, apart from, save a few structural and behavioural changes. Of course, there may be unprecedented time-to-market pressure or extreme cost pressure but, by and large, relying on the age-old test efficiency rule book will steer software teams out of harm’s way. 

With regards to COVID-19, there seems to be no end in sight and as such, we must actively seek new ways of dealing with the new normal. This is essential in sustaining the QA practice while maintaining the same level of work efficiency and quality of services. I call this ” The future-ready QA practice”. 

First, we must come to terms with the new normal and remote work. QA teams that used to huddle around in small spaces, writing and executing software test plans may not be able to do so anymore. Employees are increasingly being distributed across space and time zones and QA teams must adapt to the new system without compromising on providing the highest quality of digital experiences for the end user. 

Let’s look at the pro’s of the new setup. 

  • One advantage is that work can be done anywhere, or anytime depending on contractual terms. This helps in easier time management and results in higher productivity.
  • This setup could potentially improve employees’ work-life balance, and spillover into positive attitudes towards work.
  • It eliminates the travelling time and cost, the day to day cost of spending a day at office and hence, helps save some crucial time and money.

All the above being true, this does come with its own challenges. Employees may not have an official setup (office desk, space etc.)  fast internet connection, depending on which part of the globe you’re practicing, which could cause release cycle delays and disruptions. Employers must therefore make provision for the requisite tools needed for a smooth practice at home. This could mean accelerating the adoption of digital cloud computing services; SaaS, or helping employees set up adequate home networks for efficiency sake.

Cloud to the rescue

Accessing the test environment presents another challenge for remote QA practice. The test environment could be accessed remotely, either through an on-premises server or a cloud-based service. This further underscores the need to move towards a cloud-based development and test environment. While at it, automated tests must be meticulously written, they must follow the branch of code they test, be peer-reviewed, and merged into the regression set. There should be proper documentation as well, so team members at different geographical areas can troubleshoot a test as easily as the originator.

New Engagement Models

Organisations must also consider new delivery models on important factors such as data security and privacy, risk, and compliance audits. Though remote work is convenient, it poses an increased risk for internet fraud, data loss, or system compromise. While you work hard to meet your client’s expectations, hackers are equally working hard to find vulnerabilities to exploit. It is essential to obtain original software licenses and keep an inventory of all open source usage across development teams. Maybe you could add a VPN to your network, have stricter password policies and more importantly, create backups. I cannot overemphasize the Backup.

New ways to supervise and communicate

Supervision. Effective supervision is the difference between a good product and a great product. Nancy Kline, founder and President of Time to Think, described supervision as an opportunity to bring someone back to their own minds to show them how good they can be. Every employee, no matter how skilled, needs a mentor, a supervisor or just somebody to run things by. Supervisors must set achievable goals with reasonable timelines. Employees must endeavor to meet those timelines while delivering on quality. It is also important to reward hard work. Honorary mentions can be made on the organization’s internal social media groups when an outstanding achievement is made by an employee. This can motivate them to do better and remind others that they’re still being watched though they’re at home.

Adaptive and Agile Workforce

Continuous Professional Development for employees is required to maintain a competitive practice within the industry. Technology is changing. There is always something new to learn, or another skill to garner. More so, the job market is now open to anyone around the world with the required skills who demonstrates aptitude for the task at hand. Therefore, the need to constantly improve skills is now more important than ever. Digital learning, however, makes it easier to acquire skills without necessarily taking time off the job. Admittedly, it will take some effort on the employees’ part and encouragement on the employer’s part to keep up with lessons, but it is far from impossible. Ultimately, it becomes a win-win situation for both employer ( who has the most skillful testers) and employee ( who has developed himself into a more valuable asset).

Keeping the human element alive

Finally, working from home or remote work gives employees a level of isolation. Everybody loves a happy and healthy work environment surrounded by work buddies who would give you a brief pat on your shoulder for a good work done, or rub your back while you’re battling with major bugs. But remote work takes the human element away. This means that communication must be of good quality, proactive (on the part of employees) brief, (nobody wants a nagging boss on the phone for hours) and frequent. This is where tools like Microsoft Teams, Zoom and Google Meets come in handy. The good old telephone call works fine as well. Weekly check-in calls with all employees, seeking suggestions and opinions on what could be improved is admirable. Again, everybody loves a great party. Who says you cannot organise a bring your own bottle party on Zoom? The downside of this is that, when all’s said and done, employers may have a hard time bringing back employees into the office space. But that is the inevitable future, and the faster the acceptance, the better.

While the uncertainty of living in the  Covid-19 era continues to affect organizations  all around the world, only the most agile, dynamic and resilient teams will come out stronger and unscathed. Is your team future-ready?

In summary, being future-ready in QA practice testing means embracing emerging technologies, methodologies, and trends to ensure high-quality software products that meet the demands of the ever-evolving digital landscape. By staying ahead of the curve, QA teams can contribute significantly to the success of software development initiatives. This will help in delivery quality assurance and testing services.