Ballmer Rebukes IBM Policy Tying OS/2 Payouts to Lines of Code

Steve Balmer on KLOCs — Ali Gajani

Ali Gajani

Tying developer compensation to raw code volume penalized engineering excellence by reducing payouts when developers created faster, more compact software, Steve Ballmer says.

AI-assisted summary of Steve Balmer on KLOCs — original source. Check the original for full context.

Source published:

Key ideas

  • IBM historically relied on "KLOCs" (thousands of lines of code) as its core metric to scope software projects and assess engineering productivity. (0:00)
  • During the joint development of OS/2, IBM attempted to base financial compensation and revenue sharing on the volume of code produced. (0:00)
  • Steve Ballmer argued the model penalized engineering excellence, noting that an efficient 4 KLOC solution would be paid less than a bloated 20 KLOC implementation. (0:00)
  • Reflecting on IBM's dogmatic approach, Ballmer described the experience with visceral discomfort, remarking that the memory still made his back crinkle up. (0:00)

Detailed notes

## Background Published on YouTube by Ali Gajani on November 27, 2014, this brief clip captures former Microsoft CEO Steve Ballmer reflecting on software metrics. The video does not include any accompanying show notes or description.

## TL;DR Steve Ballmer recounts IBM's dogmatic insistence on measuring software projects and developer output by "KLOCs," or thousands of lines of code. During the joint development of OS/2, IBM wanted to determine compensation strictly based on the volume of code produced. Ballmer challenged this metric, arguing that it unfairly penalized engineering excellence by paying less for a fast, elegant 4-KLOC solution than for bloated 20-KLOC code. He highlights the profound friction between IBM's bureaucratic methodology and Microsoft's focus on software efficiency.

## Atmosphere & style The clip features a candid, animated, and exasperated reminiscence from Steve Ballmer as he revisits a legendary corporate culture clash. His tone moves from disbelief to visceral frustration as he recounts IBM's rigid mindset, punctuated by his physical shudder at the memory of the ordeal. Watching the segment feels punchy and revealing, offering an authentic, unfiltered glimpse into the friction between legacy enterprise bureaucracy and modern software development.

## Bulletin - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) IBM historically relied on "KLOCs" (thousands of lines of code) as its core metric to scope software projects and assess engineering productivity. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) During the joint development of OS/2, IBM attempted to base financial compensation and revenue sharing on the volume of code produced. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) Steve Ballmer argued the model penalized engineering excellence, noting that an efficient 4 KLOC solution would be paid less than a bloated 20 KLOC implementation. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) Reflecting on IBM's dogmatic approach, Ballmer described the experience with visceral discomfort, remarking that the memory still made his back crinkle up.

## Key takeaways - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) IBM treated KLOCs (thousands of lines of code) as an institutional standard for quantifying software engineering productivity. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) Project scoping at IBM was rigidly categorized by code volume, labeling initiatives as 10 KLOC, 20 KLOC, or 50 KLOC projects. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) IBM attempted to enforce the KLOC metric to dictate developer compensation and revenue distribution during the OS/2 project with Microsoft. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) Steve Ballmer argued that tying compensation to code volume created a perverse incentive against software optimization and conciseness. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) Under IBM's compensation framework, writing an elegant 4 KLOC solution earned less revenue than delivering a 20 KLOC implementation. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) Microsoft emphasized that concise codebases should be rewarded, as smaller implementations typically result in faster and more efficient software. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) IBM remained inflexible in its methodology, insisting that tracking KLOCs was the proper way to govern software production. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) The dispute over KLOCs highlighted a fundamental cultural and engineering divide between IBM and Microsoft during their collaboration. - [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) Ballmer recalled the absurdity of the KLOC system with physical discomfort, noting it still made his back "crinkle up."

## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=kHI7RTKhlz0&t=0s) The IBM Religion of Measuring Software by KLOCs

Steve Ballmer recalls the corporate culture and software engineering environment at IBM, describing a rigid mindset centered around measuring developer productivity through "KLOCs"—an industry shorthand for a thousand lines of code. In IBM's view at the time, project scoping was defined entirely by this single metric: managers would categorize an initiative by asking whether it was a 10 KLOC project, a 20 KLOC project, or a massive 50 KLOC effort. IBM attempted to impose this dogma directly onto their business relationship with Microsoft, treating lines of code as the primary mechanism to dictate compensation and determine who made how much money during the joint development of OS/2.

Ballmer details the fundamental friction this caused between the two companies, as Microsoft argued that incentivizing raw volume directly penalized engineering excellence and optimization. If an engineer devised a clever, elegant approach that solved a problem in 4 KLOC instead of 20 KLOC, Ballmer questioned why Microsoft should earn less revenue simply because the developer created software that was smaller, faster, and more efficient. IBM remained unyielding, dogmatically insisting that tracking KLOCs was the required methodology. Reflecting on the sheer absurdity and frustration of the arrangement, Ballmer remarks with visible discomfort: “Anyway, almost makes my my back just crinkle up at the thought of the whole thing.”

- **Definition of a KLOC**: A measurement denoting one thousand lines of code (KLOC), used by IBM as a standard metric to categorize the scope of software projects (e.g., 10 KLOC, 20 KLOC, or 50 KLOC). - **Dispute over OS/2 Compensation**: IBM wanted to tie financial compensation and revenue sharing on OS/2 directly to the quantity of code produced rather than software functionality, performance, or quality. - **The Efficiency Penalty**: Ballmer argued against the methodology by pointing out that a skilled engineer writing a 4 KLOC solution instead of a bloated 20 KLOC implementation would unfairly earn less money despite producing smaller, faster, and superior code.

## Mentioned Steve Ballmer, IBM, Microsoft, OS/2, Ali Gajani

[Source](https://www.youtube.com/watch?v=kHI7RTKhlz0)

中文简报

鲍尔默痛批IBM将OS/2报酬与代码行数挂钩的政策 史蒂夫·鲍尔默表示,将开发者报酬与纯粹的代码量挂钩是在惩罚卓越的工程能力,因为开发者编写出更快、更精简的软件时报酬反而会减少。 史蒂夫·鲍尔默回顾了IBM教条式地坚持以“KLOC”(千行代码)来衡量软件项目和开发者产出的做法。在联合开发OS/2期间,IBM希望完全根据编写的代码量来决定报酬。鲍尔默对这一衡量指标提出质疑,认为这是对卓越工程能力的不公惩罚,因为一份高效、优雅的4 KLOC解决方案获得的报酬竟然少于臃肿的20 KLOC代码。他重点指出了IBM的官僚化方法论与微软对软件效率的关注之间存在的巨大摩擦。 IBM在历史上依赖“KLOC”(千行代码)作为其评估软件项目规模和衡量工程生产力的核心指标。 (0:00) 在联合开发OS/2期间,IBM曾试图将资金报酬和收入分成建立在编写的代码量之上。 (0:00) 史蒂夫·鲍尔默辩称该模式惩罚了卓越的工程能力,并指出一个高效的4 KLOC解决方案获得的报酬会少于臃肿的20 KLOC实现。 (0:00) 在反思IBM这种教条化的做法时,鲍尔默形容这段经历带来了极度不适,直言回想起来仍让他后背发紧。 (0:00)

Original transcript

[0:00] that was the environment in IBM there's [0:02] a religion in software that says you [0:04] have to count klocks and a klock is a [0:07] thousand line of code how big a project [0:10] is this oh it's a 10K lock project this [0:12] is a 20K locker and there's a 50k locks [0:16] and IBM wanted to sort of make it the [0:18] religion about how we we got paid how [0:22] much money we made off o to how much [0:23] they did how many kcks did you do and we [0:26] kept trying to convince them hey if we [0:28] have a developers got a good idea he can [0:30] get something done in 4k locks instead [0:33] of 20K locks should we make less money [0:36] because he's made something smaller and [0:38] faster less clocked oh kxs kcks that's [0:41] the [0:43] methodology anyway almost makes my my [0:47] back just crinkle up at the thought of [0:49] the whole thing