On this page
In the fast-paced world of software engineering, knowledge is indeed power, but how do you unlock this power to make your team more effective? With software engineers choosing to leave after 1–2 years or budget cuts resulting in the loss of tenured engineers, and decades of institutional knowledge, the folks remaining are left to pick up the pieces. That’s why capturing and retaining knowledge amongst your developers is essential to your company’s success. Without this knowledge transfer, projects can easily fall apart, causing significant setbacks in terms of time, money, and resources. The good news is that with a well-designed knowledge transfer plan, you can keep your team’s knowledge flowing and your projects on track, ensuring that your company is always ahead of the curve.
There are many different categories and types of knowledge that software developers need to be successful. We will begin by breaking them down into groups and then identifying methods for enhancing each type of knowledge in your developer organization.
Categories of Knowledge
- Explicit Knowledge: Knowledge that can be easily articulated, codified, and transferred through words, symbols, or images. This type of knowledge includes manuals, documents, and other structured information that can be easily shared among employees.
- Implicit knowledge: knowledge that is gained through real-life experience or hands-on applications. Implicit knowledge is the experiences of the people in the trenches doing the work. It includes the skills, expertise, and know-how that employees gain over time.
- Tacit Knowledge: Knowledge that is difficult to express, formalize, or communicate, often deeply rooted in an individual’s experiences, insights, and intuition. Tacit knowledge can be captured and added to the knowledge base, but it will take effort and time, often involving the one-on-one transfer of knowledge to start.
Note: You can group implicit and tacit knowledge together to simplify the concept. It is either knowledge you can or cannot easily document.
Types of Knowledge
Declarative knowledge (know-what)
This type of knowledge represents “what” we know or the facts and concepts that we have learned.
Examples:
- Explicit: The syntax and usage of a programming language, such as Java or Python.
- Implicit: The recognition of common coding patterns and their implementation in practice, such as knowing when to use a certain design pattern for a particular problem.
- Tacit: A developer’s intuition about the optimal approach to solving a particular problem, based on their years of experience working on similar projects. This may be difficult to articulate or transfer to others.
Procedural knowledge (know-how)
This type of knowledge represents “how” to perform specific tasks, often involving a series of steps or actions using the skills and techniques we have developed.
Examples:
- Explicit: A software development team has a documented process for conducting code reviews before merging changes into the main codebase. The process includes step-by-step instructions for creating a new code review, assigning reviewers, providing feedback, and approving changes. The process is documented in the team’s internal wiki and is available to all team members.
- Tacit: A seasoned software developer’s ability to debug complex code issues, as this is typically acquired through experience and not easily codified or communicated explicitly.
- Implicit: A software developer knowing how to navigate complex codebases or software systems to find and fix issues, without needing to consciously think through each step of the process.
Strategic knowledge (know-why)
This type of knowledge represents “why” we do things or the underlying principles and theories that guide our decision-making.
Examples:
- Explicit: Knowledge of development methodologies, project management frameworks, and software development tools.
- Implicit: Understanding of the business domain in which the software is being developed, knowledge of the company’s goals and strategies for growth, and understanding of the competitive landscape.
- Tacit: Experience in leading cross-functional teams, ability to identify emerging trends and technologies, and knowledge of industry best practices for software development.
Methods for Knowledge Transfer
It’s worth noting that some of these methods could fall into more than one category depending on how they are implemented.
Declarative knowledge
Explicit:
- Writing: documenting knowledge in manuals, documentation, or standard operating procedures.
- Knowledge management system: using a system to store and access explicit knowledge
Implicit:
- Shadowing: observing experienced colleagues perform tasks to learn their approach
- Narration: having colleagues describe their decision-making process while performing tasks
Tacit:
- Interviews: conducting interviews or surveys with experts to capture their knowledge
- Collaboration: creating opportunities for employees to share and learn from each other’s knowledge and experience.
Procedural Knowledge
Explicit:
- Documentation: written materials, such as manuals and guides, that outline procedures and processes
- Standard operating procedures (SOPs): formal documents that describe step-by-step instructions for specific tasks
- Checklists: lists of tasks that must be completed in a specific order
- Workflow diagrams: visual representations of the steps in a process
- Video recordings: recordings that demonstrate how a task should be performed
Implicit:
- Job shadowing and observation: learning by observing someone performing a task
- Simulation training: training that simulates real-life scenarios to help learners practice a task
- Practice exercises: activities that allow learners to practice a task repeatedly to build their skills
- Group problem-solving activities: activities that challenge learners to work together to solve problems
- Project-based learning: learning through working on projects that require the application of specific skills
Tacit:
- Apprenticeships and mentoring: learning from an experienced mentor or expert
- Informal conversations and discussions: learning from informal interactions with colleagues and experts
- Reflection and introspection: reflecting on past experiences and actions to gain insights and improve skills
- Role-playing: simulated scenarios where learners act out different roles and scenarios to build skills
- On-the-job training and experience: learning by doing and gaining experience through performing tasks in a real-world setting.
Strategic Knowledge
Explicit:
- Knowledge management system/repository: store and organize strategic plans.
- Documentation: outline company’s strategic goals and objectives.
- Surveys/interviews: gather feedback on a company’s strategic initiatives.
Implicit:
- Discussion and dialogue: surface differing perspectives on strategic issues.
- Brainstorming sessions/workshops: generate new ideas and approaches.
- Culture of experimentation and risk-taking: encourage innovative strategic thinking.
Tacit:
- Mentorship/coaching programs: transfer strategic knowledge from experienced to newer team members.
- Collaboration and knowledge sharing: expose team members to new ideas and perspectives.
- Industry conferences/networking events: expand strategic knowledge and networks.
Plan to Increase Knowledge Transfer
- Assess the current state of knowledge transfer in the company: Identify the knowledge gaps that exist and determine which types of knowledge are critical for business success. This can be done through surveys, interviews, and other forms of data collection.
- Develop a knowledge management strategy: This should include defining the goals of the knowledge management program, identifying the types of knowledge that need to be transferred, and developing a plan for how that knowledge will be captured, stored, and shared.
- Implement knowledge management tools and technologies: This can include a variety of tools, such as knowledge management systems, collaboration software, and learning management systems. The tools should be chosen based on the needs of the organization and the types of knowledge that need to be transferred.
- Provide training and support: Employees should be trained on how to use the knowledge management tools and technologies effectively. Ongoing support should also be provided to ensure that employees have access to the resources they need to transfer knowledge effectively.
- Foster a culture of knowledge sharing: This can be done by creating opportunities for employees to collaborate, such as through cross-functional teams or regular knowledge-sharing sessions. Leaders should also model the behavior they want to see by sharing their own knowledge and encouraging others to do the same.
- Measure and evaluate knowledge transfer: Regular evaluations should be conducted to determine the effectiveness of the knowledge transfer program. This can be done through surveys, interviews, and other forms of data collection.
Sample OKRs
Objective 1: Increase the capture and transfer of declarative knowledge across the organization.
Key Results:
- Develop and implement a knowledge management system to store and organize declarative knowledge.
- Increase the number of declarative knowledge sharing sessions held by 25% over the next six months.
- Create an online resource library for employees to access declarative knowledge easily.
Hypothesis:
If we make declarative knowledge more accessible and create opportunities for sharing, employees will be better equipped to perform their tasks effectively.
Action Items:
- Research and select a knowledge management system.
- Develop a training program for employees on how to use the knowledge management system.
- Schedule and hold regular declarative knowledge sharing sessions.
- Develop an online resource library and ensure it is easily accessible to all employees.
Objective 2: Increase the capture and transfer of procedural knowledge across the organization.
Key Results:
- Create a set of standard operating procedures (SOPs) for all key tasks performed in the organization.
- Increase the use of simulation or lab training for key tasks by 50% over the next six months.
- Increase the number of job shadowing opportunities by 25% over the next six months.
Hypothesis:
If we provide employees with clear guidelines for performing tasks and opportunities to practice and observe, they will be better equipped to perform their tasks effectively.
Action Items:
- Identify key tasks and develop a set of SOPs for each.
- Develop a training program that includes simulation training for key tasks.
- Develop a job shadowing program that pairs experienced employees with newer team members.
- Increase the number of opportunities for job shadowing.
Objective 3: Increase the capture and transfer of strategic knowledge across the organization.
Key Results:
- Increase participation in some form of strategic planning by 20% over the next six months.
- Develop a mentorship program that pairs experienced employees with newer team members to transfer strategic knowledge.
- Increase attendance at industry conferences and networking events by 50% over the next year.
Hypothesis:
If we provide employees with opportunities to learn about and participate in strategic planning and networking, they will be better equipped to contribute to the organization’s overall strategy.
Action Items:
- Develop a schedule of regular strategic planning sessions.
- Create a mentorship program that pairs experienced employees with newer team members to transfer strategic knowledge.
- Develop a program to identify and fund attendance at industry conferences and networking events.
- Develop a training program to help employees get the most out of attending industry conferences and networking events.