A colleague’s refusal to document their work creates significant technical debt and risks project stability. Address this directly, emphasizing the impact on the team and the importance of shared knowledge, starting with a one-on-one conversation focused on understanding their perspective.
Resistance A Technical Leads Guide to Undocumented Work

As a Technical Lead, you’re responsible for not only delivering technical solutions but also fostering a healthy and sustainable development environment. One of the most frustrating challenges is dealing with colleagues who consistently fail to document their work. This isn’t just a minor annoyance; it’s a systemic risk that impacts team efficiency, maintainability, and overall project success. This guide provides a structured approach to addressing this issue, blending assertive communication with professional etiquette.
Understanding the Problem: Why Documentation Matters
Undocumented code and processes create significant technical debt. When a team member leaves, or when a feature needs modification, the lack of documentation drastically increases the time and effort required. It hinders knowledge transfer, increases the risk of errors, and ultimately slows down development. Beyond the technical aspects, it also erodes team trust and creates dependencies that stifle individual growth.
Identifying the Root Cause: Why Aren’t They Documenting?
Before confronting your colleague, consider why they aren’t documenting. Possible reasons include:
-
Time Constraints: They genuinely feel overwhelmed and see documentation as an unnecessary burden.
-
Lack of Understanding: They may not understand why documentation is important or how to do it effectively.
-
Perceived Lack of Value: They might believe documentation is rarely used or appreciated.
-
Personality/Work Style: Some individuals simply dislike writing or prefer to ‘figure it out’ as they go.
-
Fear of Criticism: They might be hesitant to document, fearing their work will be scrutinized.
-
Process Issues: The documentation process itself might be cumbersome or poorly defined.
The Approach: A Structured Conversation
The best approach is a one-on-one conversation, focused on understanding their perspective and collaboratively finding a solution. Avoid accusatory language; instead, frame the discussion around the impact on the team and the importance of shared knowledge.
1. Preparation is Key:
-
Gather Evidence: Have specific examples of undocumented work and the resulting issues (e.g., increased debugging time, difficulty onboarding new team members).
-
Define Expectations: Clearly articulate the team’s documentation standards and the reasons behind them.
-
Consider Alternatives: Be prepared to discuss alternative documentation methods (e.g., brief inline comments, diagrams, short README files).
2. The High-Pressure Negotiation Script:
This script assumes a relatively direct, but respectful, approach. Adapt it to your specific relationship with the colleague. Important: Practice this script beforehand.
(Setting: Private meeting room)
You: “Hi [Colleague’s Name], thanks for taking the time to chat. I wanted to discuss something that’s impacting our team’s efficiency and long-term maintainability – the lack of documentation for some recent work. I’ve noticed [Specific Example 1] and [Specific Example 2] haven’t been documented, which has led to [Specific Consequence, e.g., increased debugging time, confusion for other team members].”
Colleague: (Likely response – could be defensive, dismissive, or apologetic)
You: (Regardless of their response, acknowledge it and show you’re listening.) “I understand that you’re busy, and documentation can feel like an extra task. However, it’s crucial for several reasons. Firstly, it allows others to understand the logic and purpose of your code, especially when we need to maintain or extend it. Secondly, it helps with onboarding new team members and reduces the risk of knowledge silos. Finally, it protects us from future technical debt. Can you help me understand why you haven’t been able to document this work?”
Colleague: (Explains their reasoning)
You: (Actively listen, paraphrase their response to show understanding. Then, address their concerns directly.) “Okay, I hear you saying [Paraphrase their concern]. While I appreciate that [Acknowledge their point], the impact on the team is significant. Perhaps we can find a way to make documentation more manageable. Would you be open to exploring some alternative approaches, like focusing on key areas or using a more streamlined documentation format? I’m also happy to pair with you on a small task to demonstrate a quick and effective documentation method.”
Colleague: (May offer suggestions or resistance)
You: (Negotiate and find a compromise. Be firm on the core requirement – documentation – but flexible on the method.) “I appreciate your willingness to discuss this. Let’s agree that for all future work, you’ll commit to [Specific, Measurable, Achievable, Relevant, Time-bound – SMART – documentation goal]. I’ll check in with you in [Timeframe, e.g., a week] to see how things are going. If we’re still facing challenges, we can revisit this discussion and explore further solutions.”
You: (Concluding statement) “Thanks for your time and willingness to work together on this. I believe this will significantly benefit the team and improve our overall development process.”
3. Follow-Up & Escalation:
-
Regular Check-ins: Schedule brief, regular check-ins to monitor progress and provide support.
-
Positive Reinforcement: Acknowledge and appreciate any effort made towards documentation.
-
Escalation (if necessary): If the situation doesn’t improve despite your efforts, escalate the issue to your manager, providing documented evidence of the problem and your attempts to resolve it.
Technical Vocabulary:
-
Technical Debt: The implied cost of rework caused by choosing an easy solution now instead of a better approach which would take longer.
-
Knowledge Silos: When information is isolated within specific individuals or teams, hindering collaboration and knowledge sharing.
-
Maintainability: The ease with which a software system can be modified to correct faults, improve performance, or adapt to a changed environment.
-
Codebase: The entire collection of source code for a software system.
-
API Documentation: Documentation describing the functions and parameters of an Application Programming Interface.
-
Refactoring: Improving the internal structure of existing code without changing its external behavior.
-
Version Control (e.g., Git): A system for managing changes to code over time.
-
Inline Comments: Comments embedded directly within the code to explain its functionality.
-
README File: A text file that provides essential information about a project, including setup instructions and documentation.
-
Design Patterns: Reusable solutions to commonly occurring problems in software design.
Cultural & Executive Nuance:
-
Focus on Impact: Frame the discussion around the impact on the team and the business, not on personal shortcomings.
-
Empathy & Understanding: Show genuine interest in understanding their perspective and addressing their concerns.
-
Collaboration, Not Confrontation: Position the discussion as a collaborative effort to find a solution that benefits everyone.
-
Documentation as a Team Value: Reinforce the importance of documentation as a core team value, aligned with the company’s overall goals.
-
Executive Alignment: If the issue persists, involve your manager or a senior leader who can emphasize the importance of documentation and hold the colleague accountable. Be prepared to present data demonstrating the impact of the lack of documentation.
By following this structured approach, you can effectively address the issue of undocumented work, foster a more collaborative and sustainable development environment, and uphold your responsibilities as a Technical Lead.