What is Knowledge Discovery Efficiency (KEDE)?
This is a short read. Here is the detailed version.
Knowledge Discovery Efficiency (KEDE) is a metric designed to guide the optimization of software development , focusing on knowledge as the essential resource. By analyzing source code repositories, 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. 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. 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.
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 system perspective rather than using KEDE as a single number.
What is the value of knowing KEDE?
Knowing your KEDE score offers valuable insights into human capital of your organization, and it can help you gauge the happiness, productivity of and collaboration levels among your knowledge workers.
KEDE is applicable at both the individual and organizational levels.
On the individual level, KEDE addresses critical aspects of developer experience (DevEx):
- 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.
- 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.
- 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:
- 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.
- 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.
- 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
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.
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