Lorna Mitchell: Writing Documentation Engineers Will Actually Read
Jan 28, 2025
auto_awesome
Lorna Mitchell, an open source advocate and technical writer, shares her expertise on creating documentation that engineers actually read. She discusses the vital role of documentation in software maintainability and the challenges of reviving old projects like RST2PDF. Lorna emphasizes API governance and introduces four levels of API readiness to enhance usability. Additionally, she shares practical tips for improving technical writing using tools and strategies that make complex information accessible and relatable for developers.
Comprehensive documentation is essential for both new and returning users, serving as a foundation for the long-term sustainability of software.
Effective API governance involves structured readiness levels, ensuring usability and consistency for enhanced developer experience with well-documented interfaces.
Deep dives
Characteristics of Well-Maintained Software
Well-maintained software is characterized by its accessibility and clarity, enabling new and returning users to engage with it easily. Key indicators include comprehensive documentation, which outlines the purpose, installation instructions, and user guidelines for various groups such as new users and contributors. This documentation serves not only to prepare the user for interaction but also to facilitate long-term sustainability of the software, reflecting its potential for a long lifespan. The presence of automated tests is another hallmark of healthy software, as it ensures ongoing functionality and aids in the ease of future modifications.
The Importance of Documentation
Proper documentation is crucial for both open source and private projects, yet it is often lacking in smaller teams where one developer may hold the project alone. Documentation should address specific user groups and include clear, concise instructions tailored for installation, contribution, and maintenance. Maintaining accurate and up-to-date documentation helps prevent knowledge silos and eases the onboarding of new contributors or team members. Even in cases where a project is developed by a small team, setting expectations around documentation can create a more resilient and adaptable environment.
Experiences with Legacy Systems
Engaging with legacy software systems often requires diving into unfamiliar technology stacks, which presents both challenges and opportunities for improvement. Taking over a previously abandoned project, for instance, showcases the need for project maintenance, meticulous refactoring, and diligent updating of outdated components. By installing functionality such as automated tests and ensuring compatibility with current programming standards, developers can rejuvenate these projects. Additionally, this process often involves collaborating with previous maintainers to retain essential features while enhancing performance and reliability.
API Quality and Linting Frameworks
API quality can be assessed through a structured linting framework that includes various levels of readiness, starting from basic validation to achieving full consistency and user satisfaction. Initially, ensuring the OpenAPI description is valid allows for subsequent integrations and usage with other tools. As teams progress, they can introduce basic standards for security and naming conventions, aiming for a consistent interface that fosters familiarity for integrators. Ultimately, striving for a well-documented API with illustrative examples enriches user experience, leading to smoother interactions and greater overall success.
Join Robby as he chats with Lorna Mitchell, open source advocate and technical writer, about the art of creating documentation that doesn’t gather dust. Lorna shares her experiences as a maintainer of the open source project RST2PDF, the value of API governance, and how documentation bridges gaps in developer experience.
Highlights:
What Makes Software Maintainable: Characteristics like great documentation, automated tests, and onboarding ease.
Documentation's Role in Long-Lived Software: Why it’s crucial for internal tools and open source projects alike.
Open Source in Practice: Lorna’s journey with RST2PDF and adopting a tech stack she wasn’t initially fluent in.
API Governance Simplified: Lorna explains the four levels of API readiness and how teams can work toward more usable APIs.
Writing Documentation for Engineers: How style guides can empower contributors without overwhelming them.
Using Tools to Improve Documentation: From linters to prose-checking tools like Veil, Lorna discusses practical tips.
Key Takeaways:
[00:01:00] What makes software well-maintained: documentation, accessibility, and automated tests.
[00:03:10] Why documentation isn’t just for new users—Lorna’s experience with revisiting her own open source projects.
[00:06:30] Diving into rst2pdf: Challenges in maintaining an abandoned project.
[00:13:45] Balancing ownership and transitioning open source projects to new maintainers.
[00:15:30] What is OpenAPI, and how does API governance impact usability?
[00:26:10] The art of concise yet helpful documentation for different audiences.
[00:33:00] Using examples in APIs to enhance clarity and reduce confusion.
[00:40:00] Tools for improving writing, from prose linters to markdown syntax checkers.
Turn hours of debugging into just minutes! AppSignal is a performance monitoring and error-tracking tool designed for Ruby, Elixir, Python, Node.js, Javascript, and other frameworks.
It offers six powerful features with one simple interface, providing developers with real-time insights into the performance and health of web applications.
Keep your coding cool and error-free, one line at a time!
Use the code maintainable to get a 10% discount for your first year. Check them out!