Book description
Use an Approach Inspired by Domain-Driven Design to Build Documentation That Evolves to Maximize Value Throughout Your Development Lifecycle
Software documentation can come to life, stay dynamic, and actually help you build better software. Writing for developers, coding architects, and other software professionals, Living Documentation shows how to create documentation that evolves throughout your entire design and development lifecycle.
Through patterns, clarifying illustrations, and concrete examples, Cyrille Martraire demonstrates how to use well-crafted artifacts and automation to dramatically improve the value of documentation at minimal extra cost. Whatever your domain, language, or technologies, you don't have to choose between working software and comprehensive, high-quality documentation: you can have both.
· Extract and augment available knowledge, and make it useful through living curation
· Automate the creation of documentation and diagrams that evolve as knowledge changes
· Use development tools to refactor documentation
· Leverage documentation to improve software designs
· Introduce living documentation to new and legacy environments
Table of contents
- Cover Page
- About This eBook
- Halftitle Page
- Title Page
- Copyright Page
- Dedication Page
- Contents
- Acknowledgments
- About the Author
- Introduction
- Figure Credits
-
Chapter 1: Rethinking Documentation
- A Tale from the Land of Living Documentation
- The Problem with Traditional Documentation
- Documentation Is About Knowledge
- Documentation Is About Transferring Knowledge
- Core Principles of Living Documentation
- Most Knowledge Is Already There
- Internal Documentation
- Specific Versus Generic Knowledge
- Ensuring Documentation Accuracy
- Big Questions to Challenge Your Documentation
- Making an Activity Fun
- Documentation Reboot
- A Gateway to DDD
- Summary
- Chapter 2: Behavior-Driven Development as an Example of Living Specifications
- Chapter 3: Knowledge Exploitation
-
Chapter 4: Knowledge Augmentation
- When Programming Languages Are Not Enough
- Documentation Using Annotations
- Documentation by Convention
- External Documentation Methods
- Designing Custom Annotations
- Handling Module-Wide Knowledge
- Intrinsic Knowledge Augmentation
- Machine-Accessible Documentation
- Recording Your Rationale
- Acknowledging Your Influences (aka Project Bibliography)
- Commit Messages as Comprehensive Documentation
- Summary
- Chapter 5: Living Curation: Identifying Authoritative Knowledge
-
Chapter 6: Automating Documentation
- Living Documents
- Living Glossaries
-
Living Diagrams
- Diagrams Assist in Conversations
- One Diagram, One Story
- Living Diagrams to Keep You Honest
- The Quest for the Perfect Diagram
- Rendering a Living Diagram
- Visualization Guidelines
- Example: Hexagonal Architecture Living Diagram
- Case Study: A Business Overview as a Living Diagram
- Example: A Context Diagram
- The Challenges with Automated Generation of Design Documentation
- Summary
- Chapter 7: Runtime Documentation
- Chapter 8: Refactorable Documentation
- Chapter 9: Stable Documentation
-
Chapter 10: Avoiding Traditional Documentation
- Conversations About Formal Documentation
- Working Collectively for Continuous Knowledge Sharing
- Coffee Machine Communication
- Idea Sedimentation
- Throw-Away Documentation
- On-Demand Documentation
- Interactive Documentation
- Declarative Automation
- Enforced Guidelines
- Constrained Behavior
- Design Principles for Documentation Avoidance
- Example: The Zero Documentation Game
- Summary
-
Chapter 11: Beyond Documentation: Living Design
- Listening to the Documentation
- Deliberate Decision Making
- Shameful Documentation
- Documentation-Driven Development
- Abusing Living Documentation (Anti-pattern)
- Procrastination by Living Documentation
- Biodegradable Documentation
- Hygienic Transparency
- Design Skills Everywhere
- Reporter Porter Interviewing Mr. Living Doc Doc
- Summary
-
Chapter 12: Living Architecture Documentation
- Documenting the Problem
- Explicit Quality Attributes
- Decision Logs
- Fractal Architecture Documentation
- The Architecture Landscape
- An Architecture Codex
- Transparent Architecture
- Architectural Reality Check
- Test-Driven Architecture
- Small-Scale Simulation as Living Architecture Documentation
- System Metaphor
- Summary
-
Chapter 13: Introducing Living Documentation to a New Environment
- Undercover Experiments
- New Things Have to Work and Have to Be Accepted
- Case Study: A Tale of Introducing Living Documentation to a Team Member
- Common Objections to Living Documentation
- Migrating Legacy Documentation into Living Documentation
- Marginal Documentation
- Case Study: Introducing Living Documentation in a Batch System
- Selling Living Documentation to Management
- Compliance in Spirit
- Summary
- Chapter 14: Documenting Legacy Applications
- Chapter 15: Extra: Conspicuous Documentation
- Index
- Code Snippets
Product information
- Title: Living Documentation: Continuous Knowledge Sharing by Design, First Edition
- Author(s):
- Release date: May 2019
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780134689418
You might also like
book
Technical Documentation and Process
Written for engineering managers and technologists, this book helps you develop more effective documentation and processes …
article
Communicate Like a Leader
Communication is a multifaceted skill that facilitates the flow of information and collaboration in the workplace. …
audiobook
Crucial Conversations
The book that revolutionized business communications has been updated for today's workplace. Crucial Conversations provides powerful …
book
The Art of Immutable Architecture: Theory and Practice of Data Management in Distributed Systems
This book teaches you how to evaluate a distributed system from the perspective of immutable objects. …