Showing posts with label Software Development KPI. Show all posts
Showing posts with label Software Development KPI. Show all posts

Saturday 6 July 2019

How to measure the health of a software project i.e. the KPI/ Metrics to measure the project health?

A software metric is a measure of software characteristics which are important for many reasons, including measuring software performance, planning work items, measuring productivity, and many other uses. Please see below some of the KPIs to measure software project’s health -

1. Agile Metrics - Agile metrics are used to find out the ways to enhance the process of  software development. For agile, the basic metrics are Lead Time, Cycle Time, Team Velocity, and Open/Close rates. These metrics aid planning and inform decisions about process improvement.
    • Lead Time Lead time determines the time taken by a team to generate ideas, develop and deliver a software product. In simple words, it’s the time from start to finish that is taken for completing a product or a service. If you want to be more responsive to your customers, work on to reduce the Lead time, typically by simplifying decision-making and reducing wait time. Lead time includes cycle time.
    • Cycle Time Cycle time is a part of the lead time that is taken for developing software and deploying it in production. In another words, how long it takes you to make a change to your software system and deliver that change into production. Teams using continuous delivery can have cycle times measured in minutes instead of days.  
    • Team Velocity - How many “units” of software the team typically completes in an iteration (i.e. “sprint”) is called the team velocity. The objective of velocity metric is to estimate the time taken for completing a certain number of units and to plan the future projects with regard to how fast the previous tasks were completed. 
    • Open/Close rates How many production issues are reported and closed within a specific time period. 
2. Production Metrics – Productivity shows the relationship between inputs and outputs. How much are you getting out after all that you put into a project? The ideal productivity outcome is creating more for less. Production metric uses a mix of criteria to measure project performance. They are –
      • Time (How are we going against schedule)
      •  Cost (How are we going against budget)
      • Resources (How much time are we spending on the project)
      • Scope (Is the scope creep in line with expectations)
      • Quality (Are we reviewing and fixing quality problems)
      • Actions (Do we have action items outstanding)
By looking at the performance against these six criteria as a project dashboard, a view of the parts of the project that are OK and the parts that are not OK can be formed. Unfortunately, in many projects there is more focus on identifying a problem (Issue, risk, assumption etc.) than taking action to address the problem. One of the most important changes a project manager can bring to a project is to shift the focus from identifying problems, to creating action items for every problem.
    • Assignment scope - Assignment scope is the amount of code that a programmer can maintain and support in a year. This software metric can be used to plan how many people are needed to support a software system and compare teams.
    • Efficiency - Efficiency attempts to measure the amount of productive code contributed by a software developer. The amount of churn shows the lack of productive code. Thus a software developer with a low churn could have highly efficient code.
    • Code churn - Code churn represents the number of lines of code that were modified, added or deleted in a specified period of time. If code churn increases, then it could be a sign that the software development project needs attention.
    • Mean time between failures (MTBF) - Since software failures are almost unavoidable, these software metrics attempt to quantify how well the software recovers and preserves data.
    • Mean time to recover/repair (MTTR)- Mean time to repair in this context measures the time from the security breach discovery to when a working remedy is deployed.
    • Application crash rate (ACR) - Application crash rate is calculated by dividing how many times an application fails (F) by how many times it is used (U).  ACR = F/U

3. QA Metrics - Testing is an integral part of any development process. There are hundreds of metrics for software quality testing. Basic metrics include test cases executed and test cases written. Calculated metrics are usually executed by a QA Lead and are used to determine the progress of the project. The reports of calculated metrics can help improve the whole software development life cycle (SDLC).To make it clear on how quality assurance metrics works, please see below the testings steps-
      • Determine the core issues to be tested, for instance, test a tracking progress system.
      • With regard to the first step, specify a metrics that will be used and a number of test cases that will be written daily.
      • Assign testing to a responsible person.
      • Calculate the efficiency of the metrics used.
      • Define where to implement the metrics results to enhance a product development and/or a workflow.

4. Security Metrics – Security metrics reflect a measure of software quality. These metrics need to be tracked over time to show how software development teams are developing security responses. Every software may face different dangers on various devices that are why the metrics are used to detect how much time is needed to find out an issue and fix it.
      • Endpoint incidents  Endpoint incidents are how many devices have been infected by a virus in a given period of time.

5. Function-Oriented MetricsA function point is here a core quantifier. It is a measure that demonstrates how much functionality, business functionality mainly, a product gives. This methodology considers user inputs, errors reports, and messages, user inquiries, etc.
      • Errors per FP or Defects per FP  -  These software metrics are used as indicators of an information system’s quality. Software development teams can use these software metrics to reduce miscommunications and introduce new control measures.
      • Defect Removal Efficiency (DRE)  - The Defect Removal Efficiency is used to quantify how many defects were found by the end user after product delivery (D) in relation to the errors found before product delivery (E). The formula is: DRE = E / (E+D)
              The closer to 1 DRE is, the fewer defects found after product delivery.
6. Customers Satisfaction - The metric estimates a level of customer’s satisfaction with the product that varies from very satisfied to very dissatisfied. The data about a level of quality under these terms is obtained from customer surveys and calculated in percent.

You cannot know or assume root causes from the numbers, but these metrics give you insight into where your essential processes need attention. A high open rate and a low close rate across a few iterations, for example, may mean that the team is focused on reducing technical debt to fix entire issues, or that the only person who knew how to fix them quit. You cannot know or assume root causes from the numbers.

Sunday 11 September 2016

What are the KPIs to measure Software Quality Assurance ?

Key performance indicators are the important metrics that are calculated by the software testing teams to ensure the project is moving in the right direction and is achieving the target effectively, which was defined during the planning, strategic, and/or budget sessions. The important Key Performance Indicators (KPIs) for software testers are –

  1. Understanding the requirements - How well you understand the requirements logically.
  2. Understanding of Database Structure - How well you are confident with basic checks in database.
  3. Quality of drafting the bugs/impediments - The bugs/impediments should be well-drafted and self explanatory with complete information and screenshots.
  4. Communication effectiveness in scrum calls - How you put up your questions in scrum calls and how you actively participate in the discussions.
  5. Off-shore team satisfaction - The way you communicate with offshore team members, are you actively available to help them with their queries.
  6. Appreciation emails/messages - The number of appreciation emails/messages you have received from Customers/Sponsors.
  7. Team discussions - How actively you participate in discussions with internal team members and managers.
  8. Helpfulness - How well do you perform in the eyes of the colleagues and how you actively available for their help.
  9. Number of initiative taken - The count of initiatives taken for project's and team's betterment.
  10. Suggestions shared and accepted - How many suggestion shared by you, were accepted for project's and team's betterment.
  11. Reporting - How proactively you are communicating with managers to raise your concerns, ideas, suggestions and work completion status.
  12. Number of items passed - Count of PBIs passed vs. their severity.
  13. Number of Reworks raised - Count of PBIs passed vs. their severity.
  14. System-Wide Defects (SWD)–Multiple defects that are associated with the same objects.
  15. Development Completion – The Reworks raised should have complete clarity and the replication steps must be proper so that the developer can understand it clearly and complete the development task.
  16. Test Plan Coverage - This is one of the most important KPI to track the PBI because it includes Investigation Task and Exploratory Test task that includes the Data Migration as well.
x