Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Assessing the cost of losing good developers

by lin0 (Curate)
on Jun 28, 2007 at 22:08 UTC ( #623993=perlmeditation: print w/replies, xml ) Need Help??

Recently, samizdat wrote a nice post on Retaining Top Developers. In that post, samizdat presented some strategies for employee retention. In the same post, samizdat requested links on “the costs of letting good people walk away”. After doing some research online, I found out that it is not easy to quantify the cost of employee turnover in the case of good developers. So, I did some academic research and found an article by Aharon Tziner and Assa Birati titled “Assessing employee turnover costs: A revised approach”. The article appeared in the Volume 6, Issue 2, Summer 1996, Pages 113-122 of the journal Human Resource Management Review. In this article, the authors made a case that losing top performers causes:

(1) erosion of the performance level of the remaining work force due to a drop in morale; (2) customers lost to competitors because of the inability to supply them with services or products on schedule; (3) excess over-time compensation to inside employees or substitute outside workers to temporarily try to make up for the loss of strong performers; and (4) the additional cost paid to supervisors and coworkers to integrate new hirees.

Later in the article, the authors identify the following costs as being associated with losing a good developer:

  • The direct outlays to the firm incurred by the replacement process: recruiting, hiring, training, and socializing new employees including the extra effort by supervisors and coworkers to integrate them;
  • The indirect costs and losses that relate to interruptions in production, sales, and the delivery of goods and services to customers; and
  • The financial value of the estimated effect on performance as a result of the drop in morale of the remaining work force following on dysfunctional turnover.

Based on these costs, the authors developed the following formula that allowed them quantify the cost associated with the lost of a top performer:

$cost_associated_with_lost = ($cost_differential + $cost_of_acquiring_new_employee + $cost_of_training_new_employee + $cost_paid_to_integrate_new_employee + $cost_of_excess_overtime_payment_to_compensate_temporary_performanc +e_downfall + $cost_of_loss_of_production_or_loss_of_customers + $monetary_value_of_loss_of_morale_of_remaining_employees) * (1 + $turnover_rate_of_newcomer_to_organization)

with $cost_differential being the cost differentials during the entire period (in years) in which the departing employee was expected to perform efficiently if he or she did not leave. This cost can be computed by:

foreach (1..$total_number_of_years) { $cost_differential += ( $annual_remuneration_of_new_employee - $an +nual_remuneration_of_person_leaving ) / (1 + $interest_rate_paid_by_ +employer / 100)**$_ }

In the article, the authors provide an example using probable numerical figures based on their experience as consultants (the values should be adjusting according to the particular industry in which the cost is computed). The values they used were:

$total_number_of_years = 10; $interest_rate_paid_by_employer = 10; $annual_remuneration_of_person_leaving = 64800; $annual_remuneration_of_new_employee = 60380; $cost_of_acquiring_new_employee = 3150; $cost_of_training_new_employee = 10000; $cost_paid_to_integrate_new_employee = 48600; $cost_of_excess_overtime_payment_to_compensate_temporary_performance_d +ownfall = 1000; $cost_of_loss_of_production_or_loss_of_customers = 55440; $monetary_value_of_loss_of_morale_of_remaining_employees = 3000; $turnover_rate_of_newcomer_to_organization = 0.1;

with those values, $cost_associated_with_lost would be 103434. See code below

#!/usr/bin/perl use warnings; use strict; my $line = <DATA>; chomp ($line); my @data = split /\s+/, $line; my $total_number_of_years = shift( @data ); my $interest_rate_paid_by_employer = shift( @data ); my $annual_remuneration_of_person_leaving = shift( @data ); my $annual_remuneration_of_new_employee = shift( @data ); my $cost_differential = 0; foreach (1..$total_number_of_years) { $cost_differential += ( $annual_remuneration_of_new_employee - $an +nual_remuneration_of_person_leaving ) / (1 + $interest_rate_paid_by_ +employer / 100)**$_ } my $turnover_rate_of_newcomer_to_organization = pop( @data ); my $cost_of_losing_good_people = 0; foreach (@data) { $cost_of_losing_good_people += $_; } $cost_of_losing_good_people += $cost_differential; $cost_of_losing_good_people *= (1 + $turnover_rate_of_newcomer_to_orga +nization); $cost_of_losing_good_people = int( $cost_of_losing_good_people ); print "Cost of Losing Good People = \$$cost_of_losing_good_people\n"; __DATA__ 10 10 64800 60380 3150 10000 48600 1000 55440 3000 0.1



Replies are listed 'Best First'.
Re: Assessing the cost of losing good developers
by apl (Monsignor) on Jun 29, 2007 at 19:13 UTC
    Pointy-haired Management has a response to all that: Three junior developers could be hired for the same price as the Experienced Developer. Losing the ED is better over-all from his perspective, and shows that the Manager is more important than a developer...

      Hi apl,

      The point of view of the Pointy-haired Management is very limited in the sense that they are only considering the $cost_differential instead of the total cost that would include among other things:

      • the cost differential,
      • the cost of acquiring a new employee,
      • the cost of training the new employee,
      • the cost paid to integrate the new employee,
      • the cost of excess overtime payment to compensate the temporary performance downfall,
      • the cost of loss of production or loss of customers, and
      • the monetary value of loss of morale of remaining employees.

      I guess that this lack of vision is what causes so many businesses to fail


        Hi lin0. You raise a lot of excellent points, all usually ignored by Pointy-Haired Management. Perhaps now is the time to mention The Mythical Man-Month?

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://623993]
Approved by BrowserUk
Front-paged by Old_Gray_Bear
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others wandering the Monastery: (5)
As of 2017-08-20 18:16 GMT
Find Nodes?
    Voting Booth?
    Who is your favorite scientist and why?

    Results (317 votes). Check out past polls.