Best Practices in Reporting Information: Software Engineering
Some metrics commonly used by software engineering companies include profitability measurement, revenue metrics, profit to revenue ratio, lead time, cycle time, among others. You can find more details below.
To find the some of the most commonly used metrics for measuring financial and non-financial performance for software engineering companies in North America, we analyzed several industry articles about KPIs and metrics used in the Software engineering industry and selected the most common ones that appeared in most of the reports.
Profitability measures how profitable a firm is and is one of the most commonly measured metrics by software engineering companies in North America.
Profit To Revenue Ratio
Profit to Revenue ratio is the profit divided by the net revenue. The profit used is profit before distribution and taxes. This is an important KPI because it helps a software engineering firm understand how well they manage their project.
There are several revenue metrics that are important to software engineering companies and they include revenue growth rate, revenue per user, and contracted annual/monthly recurring revenue. Revenue growth rate measures how much revenue has grown compared to the previous year while revenue per user is the total revenue divided by the number of customers/clients a software company has.
Contracted revenue is very commonly tracked by Software as a Service (SaaS) companies as it measures the predictable, recurring revenue for the company.
Customer and client metrics measured by many software engineering firms in North America include the Cost of Customer Acquisition and Customer Lifetime Value. Cost of Customer Acquisition includes all the cost and resources such as sales and marketing expense the company incurs when trying to bring on new customers. The "Customer Lifetime Value (CLV) is the
amount of profit a customer is calculated to deliver to the company over the lifetime of the
customer relationship." The lifetime value of a customer helps an organization determine how much expense is reasonable to incur when trying to bring in new customers. If the customer lifetime value is high, the company won't hesitate to spend more on marketing and sales.
Critical Cost Metrics
Critical Cost metrics includes all cost and expenses the company incurs when trying to deliver its software service or product. This includes overhead cost, employee cost, compensation, sales and marketing expense, customer support, training, among others. This is an important metric most software engineering firms in North America monitor.
Lead Time is a metric that measures how long it takes the firm to go from idea to a fully functional software that is ready for the market. This is important because it lets the company know how effective and efficient their team is and helps them find areas where their process can be improved. This is sometimes described as Time to Market.
Cycle Time measures how long it takes to make changes to a software system and deliver that change into production. It is the "total time that elapses from the moment when the work is started on an item (e.g., ticket, bug, task) until its completion." This is important because it enables the software firm to estimate how fast they can deliver new features to users. It’s also another way to measure "the team’s current speed for different tasks by breaking the total throughput down to median time by status or issue type. You can pin down the exact bottlenecks affecting the team’s performance and set more accurate expectations."
This measures the “units” of software a team normally completes in an iteration (a.k.a. “sprint”). Velocity is important because it "measures the delivered value over a certain period. The delivered value represents the number of features developed. The best practice is to measure velocity over a few periods to come up with the average indicator." This metric is important for a software firm because it helps in planning, estimation, among other things. The volatility of the velocity is also important. For instance "if a team in the company scores high volatility consistently, it means that some process is now working, and need to be investigated so it can be adopted by other teams." If velocity is inconsistent for a long time, both internal and external factors can be investigated.
Throughput is a metric that measures the "total value-added work output by the team. It is typically represented by the units of work (tickets) the team has completed within a set period of time." The throughput metric should align with the current business goals of the software company. The throughput metric is important because it helps the firm "detect when the team is blocked as the throughput metric drops." It also helps "understand when the team is overloaded if it's compared with the average throughput against the current workload." It's particularly important for small teams to understand how long each task takes so as to improve efficiency and reduce waste time.