KEDE glossary

This glossary introduces common KEDE terminology.

Developer efficiency

is the efficiency in knowledge discovery and application. The 'resource utilization rate' covers not only typing but also thinking. It's not recommended to measure the capability of individual developers. Instead, you should always measure the capability of an organization, whether that be a team, a project, or a company.

Developer productivity

is a ratio between the value delivered and the knowledge developers needed to discover to deliver that value. Value can be measured as money, business gains, customer satisfaction, technical innovation etc. Knowledge discovered is measured in bits of information.


is a state of heightened focus and immersion in activities. People in a state of Flow lose their sense of time, feel in control of the task at hand, and experience an intrinsic sense of enjoyment and fulfillment. Flow leads to improved developer productivity and enhance the overall quality of the software products. This state is achieved when there is a balance between individual capability and work complexity, with a slight inclination towards challenges. This is calculated by gauging the knowledge discovered after successful work completion We can employ Knowledge Discovery Efficiency (KEDE) for this measurement.


is defined as the theoretical or practical understanding of a subject or field of study. Knowledge is the sum of what is known and resides in people, documents, tools and machines. Knowledge is accurate and considered to be true. Importantly, knowledge is not the same as information. Information is new, surprise data that has been processed and organized to be meaningful to a person. Information is not necessarily true or accurate. What is knowledge?

Knowledge Discovery

is the process of identifying, acquiring, and applying new knowledge. What is knowledge discovery?

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. It is a ratio between the knowledge discovered and the maximum knowledge that could be discovered for a time period. What is KEDE?

Knowledge-centric perspective

is a perspective on software development that treats knowledge as the fuel that drives the software development engine. What is knowledge-centric perspective?

Neural code synthesis

are approaches to code completion generate suggestions by using a language model to predict what the user might type next (the completion) from the context of what they are working on at the moment (the prompt).

  • Rather than focusing on a particular task (such as suggesting a method to call), neural code synthesis predicts arbitrary sections of code
  • Rather than generating single tokens; these systems might predict multiple lines of code at once.

Organizational knowledge

all the knowledge contained within an organization.

Organizational knowledge resources

include things like product knowledge, intellectual property, customer communications, employee handbooks, manuals, AI-tools, Google Search, StackOverflow, and lessons of success and failure.

Perceived productivity

is a measure of productivity on multiple dimensions and using self-reported data. This approach, often correlates productivity with job satisfaction and happiness.

Software development process efficiency

is the efficiency of the knowledge discovery process within the organization as a whole.

Systems perspective

is taking into account all of the behaviors of a system as a whole in the context of its environment. Take a systems perspective

Getting started