What is Knowledge Discovery Efficiency (KEDE)?

This is a short read. Here is the detailed version.

Defining KEDE

Knowledge Discovery Efficiency (KEDE) is a metric designed to guide the optimization of software development , focusing on knowledge as the essential resource. KEDE quantifies the knowledge that a software developer lacked prior to starting a task, essentially measuring the knowledge they needed to gather to successfully complete the task. This knowledge gap directly influences developer’s' experience, impacting their happiness and productivity.

A low KEDE score implies that the developer did not possess the required knowledge to tackle the task, or they possessed the knowledge but were prevented from applying it, while a high KEDE score suggests that the developer was adequately prepared. KEDE will be higher if they're primarily applying prior knowledge instead of discovering new knowledge.

KEDE functions much like a thermometer for an organization, observing it from the outside, akin to a black box. KEDE can provide a reading of your organization's "temperature," but not diagnose the reason for a fever, so to speak. To understand the cause, organizations need a physician - someone who can delve inside the black box, like a manager or coach. Therefore, KEDE doesn't conflict with Agile, Kanban, or any traditional management methodologies.

  • The mathematics underlying KEDE dictate that its values can range between 0 and 100.
  • When KEDE approaches 0, it signifies situations where the missing information is virtually infinite - a common scenario when creating new knowledge. Examples include figures like Albert Einstein or startups like Paypal that were pioneering completely new technologies.
  • On the other hand, a KEDE value near 100 signifies a situation where there is no information gap, analogous to an omniscient entity...like God!
  • We would expect KEDE of 20 for an expert full-time software developer, who mostly applies prior knowledge, but also creates new knowledge when needed.

The computation of KEDE is based on a scientific method for evaluating the capability of software development organizations and constitutes patented technology[5][6]. In calculating KEDE, we disregard whether the black box is operated by senior or junior developers, nor do we question the quality of the software produced - we assume it meets appropriate standards.

KEDE is anchored to the natural constraints of the capacity of the cognitive control of the human brain and maximum possible typing speed[3][4]. This association permits comparisons across varying contexts, programming languages, and applications.

KEDE is computed per software developer. However, software developers never work in isolation; they always interact within an organizational context. This organization could be a software development team, a project team, or an entire company. To compute KEDE for an organization, you average the individual KEDE scores of its members. It's crucial to recognize that people often overestimate the influence of individual developers' skills and abilities on knowledge discovery efficiency and underestimate the impact of the system in which they operate.

KEDE measures knowledge discovery, not productivity. Improved productivity arises from efficient knowledge discovery

It is possible KEDE be used as an input to performance reviews and salary negotiations. People would say that because KEDE calculation has as its input number of symbols contributed per hour it will be trivially easy to be gamed by the software developers. Some people could say that a whole company could engage in an effort to game their overall KEDE standing. Considering the above we should recall the McNamara fallacy and the concept of Goodhart's Law and take a systems perspective rather than using KEDE as a single number.

What is the value of knowing KEDE?

KEDE is a tool that applies to a variety of contexts and can be used for several derived metrics. These include metrics like Collaboration or Short Feedback loops, Cognitive Load, Happiness (Flow State), Productivity, and Waste. All these metrics, although diverse, can be quantified and evaluated using KEDE. When KEDE increases, it signifies an improvement in these metrics.

Derived Metric KEDE Correlation Desired Trend Impact on Organization when KEDE increases How to improve?
Collaboration Positive Correlation Upward Trend Improvement in teamwork and communication Shorten the Feedback Loops
Cognitive Load Negative Correlation Downward Trend Reduction in mental strain for developers Capability Should Match Work Complexity
Happiness (Flow State) Positive Correlation Upward Trend Increase in job satisfaction and engagement Address the Causes of unhappiness
Productivity Positive Correlation Upward Trend Enhancement in work output and efficiency Unleash the untapped human potential
Rework as a form of Waste Negative Correlation Downward Trend Reduced delivery time and resources waste Reduce rework

The column "Derived Metrics" lists the different aspects that can be evaluated using KEDE. The column "KEDE Correlation" denotes the relationship between the derived metric and KEDE (whether it's a positive or negative correlation). The column "Desired Trend" signifies the preferable direction for each metric (upward or downward). Finally, the "Impact on Organization when KEDE increases" column offers a brief description of how the increase in KEDE would affect each derived metric in the context of an organization.

KEDE provides a way to measure an organization's capability. If a company focuses on KEDE alone, a rise in the KEDE score correlates with improved collaboration, reduced cognitive load, increased happiness, enhanced productivity, and decreased waste.

KEDE is applicable at both the individual and organizational levels.

On the individual level, KEDE addresses critical aspects of developer experience (DevEx):

  1. Understanding Cognitive Load: In the realm of software development, the mental exertion required to perform tasks (cognitive load) significantly affects a developer's productivity and satisfaction. However, before KEDE, there was no robust and direct way to quantify this cognitive load. KEDE fills this gap by quantifying the knowledge gap that developers encounter when embarking on tasks, thereby indirectly measuring the cognitive load.
  2. Identifying Flow State (Happiness): Achieving a flow state—where developers are deeply immersed in a task, experiencing energized focus, full involvement, and enjoyment—can greatly enhance productivity and satisfaction. However, identifying when this state is achieved can be challenging. KEDE helps solve this problem by monitoring the discovered knowledge after successful task completion, thereby providing an indicator of whether a flow state has been achieved.
  3. Assessing Efficiency of Feedback Loops: The efficiency of feedback loops, referring to the speed and quality of responses to performed actions, is a crucial aspect of DevEx. Yet, it's often hard to measure this efficiency directly. KEDE addresses this issue by assessing the efficiency of information acquisition in relation to the number of active contributing software developers. This provides an indirect measure of the speed and quality of feedback loops.

At the organizational level, KEDE aids in evaluating human capital, productivity, and collaboration among developers:

  1. Evaluating Human Capital: Human capital, often referred to as talent, is a vital intangible asset in today's organizations. Enhancing this capital in knowledge workers directly links to improving efficiency in knowledge acquisition and application. Rather than being static, human capital is dynamic, influenced by human potential, impersonal information sources, collaboration, and efficient work processes. Consequently, it requires active management and is characterized by fluctuations. To measure human capital effectively, we need to assess the Knowledge Discovery process that underpins it. A hallmark of a learning organization is the continual augmentation of its human capital. KEDE quantifies the knowledge gap developers face when undertaking tasks, offering an indirect measure of human capital.
  2. Measuring Productivity: Software developers apply knowledge in order to deliver outcomes. Much like how cars operate on fuel, software development runs on knowledge. An organization that exhibits superior efficiency in knowledge discovery is likely to produce more working software within the same timeframe. Higher productivity is attained when less knowledge discovery is required to produce an outcome. KEDE quantifies the knowledge developers need to acquire to effectively complete a task, thereby providing the basis for measuring productivity.
  3. Assessing Collaboration: Collaboration acts as a conduit for knowledge discovery, drawing on personal sources to fill in missing information. This cooperative effort allows developers to disseminate their expertise and uncover novel information that would have remained elusive in isolation. Collaboration can be measured, with the efficiency of a knowledge discovery process, relative to the number of contributing software developers.. Essentially, a more efficient knowledge discovery process signals enhanced collaboration. KEDE assesses the proficiency of information acquisition against the quantity of contributing software developers, thereby providing an indirect measure of collaboration.

Gaining a competitive edge using KEDE

By utilising KEDE, company leadership can uncover insights, drive improvements, and demonstrate impact. It helps identify challenges in your software delivery process, which is the first step towards creating actionable improvement plans.

The improvement process is dynamic and multifaceted, and while I have resources detailing potential changes, each organization will ultimately determine its own transformation journey.

The cycle begins with data-driven insights. We analyse all relevant Git repositories, and then establish the recent performance history as a benchmark. This benchmark serves as a reference point for measuring progress and effectiveness of changes implemented. During the improvement phase, regular assessments (on a weekly or monthly basis) enable companies to validate the impact of their actions. These evaluations allow for comparisons with the benchmark or initial state and discern whether changes are positively or negatively impacting the software development process.

When you start a software development project the best is to establish an iterative process for managing the project constraint which is the ability to discover knowledge. The goal is to increase developer happiness and gain more knowledge per unit time.

Here are a few practical ways you can utilize KEDE to gain a competitive edge:

  • Comparative Analysis: KEDE enables you to compare among different functional areas within your company, and even your company's capabilities with industry averages.
  • Impact Analysis: KEDE helps in evaluating the effectiveness of significant changes within your organization. Are you curious if the latest restructuring enhanced your company's capability? Or if the new hires have actually bolstered your team's potential? KEDE can provide you with objective answers.
  • Transformation Analysis: If your team has recently undergone an Agile transformation, KEDE can help you measure if the transformation has actually increased your team's capability.
  • Objective validation of successful management practices: In a fast-evolving technological landscape, engineering managers face a significant challenge: objectively validating their management practices to foster continuous growth and success. This task, crucial to the professional performance and personal development of various roles within an organization, often proves daunting. KEDE offers successful managers an opportunity to leverage scientific, data-driven insights for validating their effective management practices. It enables leaders to identify potential areas for refinement and aim for even greater success.

In summary, Knowledge Discovery Efficiency (KEDE) allows for a knowledge-centric approach to enhancing the developer experience, productivity, happiness, collaboration, and human capital within software development organizations, ultimately leading to a more effective and motivated workforce.

Works Cited

1. Shannon, C. E. (1948). A Mathematical Theory of Communication. Bell System Technical Journal. 1948;27(3):379-423. doi:10.1002/j.1538-7305.1948.tb01338.x

2. Drucker , Peter F, “Knowledge-Worker Productivity: The Biggest Challenge,California Management Review, vol. 41, no. 2, pp. 79–94, Jan. 1999, doi: 10.2307/41165987.x

3. Kahneman D. (1973). Attention and Effort. Englewood Cliffs, NJ: Prentice-Hall

4. Kahneman, D. (2011). Thinking, fast and slow. Farrar, Straus and Giroux.

5. Bakardzhiev, D., & Vitanov, N. K. (2022). KEDE (KnowledgE Discovery Efficiency): a Measure for Quantification of the Productivity of Knowledge Workers. BGSIAM'22, p.5. Online: https://scholar.google.com/scholar?oi=bibs&hl=en&cluster=1495338308600869852

6. Bakardzhiev, D. V. (2022). U.S. Patent No. 11,372,640. Washington, DC: U.S. Patent and Trademark Office. Online: https://scholar.google.com/scholar?oi=bibs&hl=en&cluster=3749910716519444769

Getting started