A fundamental engineering tenet is that, “you get what you measure”. I’ve worked in both sales and engineering organizations, and my experience is that sales organizations are more consistent and effective at their implementation.
About fifteen years ago, I was at a consulting firm where we implemented an engineering measure of defects per thousand lines of code (d/KLOC). The stated objective of that program was to reduce the amount of time we spent creating custom software. We spent a couple of months baselining the data to understand where we really were with d/KLOC, and then with my friend Sharon’s help and a bulk jar of rubber cockroaches, we got to work.
Code would run through the compiler and then through test cases defined by the customer. This was often a late afternoon or overnight run. In the morning, developers would come into the office and see how many cockroaches they had on their desks, in their coffee mugs, on their monitors and lamps. It became obvious quickly who the “top” programmers were, at least by measure of d/KLOC, and when social pressures kicked in, we did see a decrease in the number of cockroaches being handed out.
There was a related decrease in the speed of code production. We hadn’t anticipated that outcome, but it makes sense in hindsight; by asking the developers to validate their code before check-in, we were introducing an activity some of them thought wasn’t their responsibility. Though we’d reduced d/KLOC, we initially needed more time to create software, which caused some late nights and weekends on fixed price contracts.
The other challenge is that we needed to better define what developers do for a living. That misunderstanding went back to the job descriptions in use at the time; developers write the code, and testers test the code. This is why our initial estimates of duration were off; it’s faster to check in untested code.
Compare that with a sales organization. The most basic measure in sales is the quota, which is often quarterly. The sales quota defines what amount of business the sales person needs to bring into the organization. Individuals can get creative with pricing or volume of transactions but there’s a simple, hard measure that defines the minimum standard. Sales can be measured in bookings or billings, but the measurement system is money, which is a well-understood measurement that does not require specialized tools or an engineering degree to understand.
Sales incentives define the real measurement criteria and objectives. The most frequent is the accelerator, where after the minimum quota is met, salespeople are paid on an increasing percentage scale. For example, if the salesperson comes in at 150% of quota, they receive a sizeable bonus. This is also true if they bring in large accounts, or accounts in a specific market vertical, or have customers agree to talk to the press or to analysts. All of those either cause accelerators or bonuses in a typical sales organization, and they’re set strategically by what the sales management team needs to produce over a given fiscal year. The quotas go up based on prior years, raising the minimum standard of excellence.
Looking back on the jar of cockroaches, there was no defined incentive for having no bugs in the software. There was no way feasible to produce negative bugs, as it was a zero sum measurement. Developers had a social incentive to do their jobs well, but not to excel at their job.
These and other experiences have defined how I write job descriptions and how we currently set compensation plans. Job descriptions should clearly spell out what’s being measured, and in my current case, it’s generally a quota of hours per quarter delivered, with accelerators for over-delivery. It’s easy to determine if a given consultant has hit or exceeded his or her quota. Having ambitious hourly quotas written into the job descriptions also has helped with our hiring process, as the only individuals likely to apply to a job with a high standard are people who can commit to meeting or exceeding that standard of excellence.