Throughout my career in enterprise architecture, one of the most passionate debates (next to governance, of course) is around architecture documentation. I imagine your eyes are rolling and you're sighing deeply. You may have visions of overbearing governance requiring mounds of paperwork. But you may also be shivering as you think back to times you've had to manage, extend, support, or maintain brittle and undocumented systems. Architecture documentation matters and in many ways more than it ever has.
Traditional enterprise architecture groups follow conventional methodologies focusing on heavy view-based architecture documentation and blueprints that take months to create. I've certainly done this, and while it provided value when waterfall methods were predominant, today's agile approach is very different.
In my article Is enterprise architecture dead in digital? I touched on why lengthy architecture blueprinting, target-state development, and heavy documentation no longer work.
I'll take that a step further: These traditional practices are dated and counter to agile principles. Also, applying documentation-heavy approaches provides little value when business needs require optimizing time to market and nimbleness to change.
The challenge for enterprise architects is architecting and documenting systems in a lean way that supports agile delivery methods while ensuring documentation is not an afterthought but a part of the process from start to finish.
Enter agile delivery and lean methods
Agile and lean methods do not advocate forgoing documentation; they emphasize focusing on and documenting what matters. Without the right documentation, decisions go unmanaged, business risks are hidden, and designs get complex, creating brittle systems that over time cannot be scaled, supported, or extended. Architects must consistently make sure artifacts are in place when rapidly building new systems, and dealing with undocumented ones makes modernizing or growing them very painful.
The documentation that matters will vary from organization to organization and be created at different points in time. Enterprise architects must not lose sight of documentation's importance. They must narrow the focus to those artifacts bringing high value to business and technology teams, enabling both tactical and strategic needs.
[ Digital transformation doesn't happen overnight; it takes practice. Learn more about driving change in the digital transformation eBook. ]
Best practices
Rather than following a strict order for when and how to document architecture, architects need to be flexible, part from traditional ways, and lead the way to an approach that works for each scenario, whether at a program, project, or product level:
- Document what matters and when it matters. Not everything needs to be documented at the beginning. Architectures and corresponding designs can be fluid, especially when testing new capabilities, in pilot mode, or building a new system. Some can be transient, while others need to be permanent, so start with working code, the minimal set required, and extend over time.
- Capture all architecture decisions from the very start. Organic architecture is not architecture. Architecture is deliberate, emergent, and intentional. It avoids situations where you question why a system and its components are designed a certain way and maintains clarity on what forces result in a specific approach. Documenting decisions allows the organization to look back and verify that the solutions continue to meet business needs and helps when extending or refactoring them.
- Track architecture debt to keep a current, well-managed record of what needs to be addressed and facilitate product-level planning and backlog grooming. Undocumented technical debt must be avoided at all costs.
- Document architecture as a part of the process and not as a catch-up activity nor when there's time because there's never time. Define "design complete" as completing an architecture, its design, and the required artifacts. Just as untested code introduces business risk, so does an undocumented architecture.
- Maximize automation of artifacts. While some artifacts require manual work, it is entirely possible to automate creating others, including context and interface diagrams, process flows, service and API catalogs, and infrastructure diagrams. Leveraging self-documenting techniques and automation keeps artifacts current based on what was built and what's running.
Wrap up
A well-documented architecture can be the difference between a project that succeeds and one that fails. Documentation ensures a system is well-understood, thoughtfully designed, and can be communicated to others. Be practical in what you document, make it a part of the process, and be deliberate in what you architect, design, and solution to meet your business needs.
This article is adapted with permission by the author from Modern practices documenting architectures on LinkedIn.
À propos de l'auteur
Nav Singh is a distinguished software engineer and chief software architect for Digital Retail Services at Walmart Global Tech.
He has an extensive background of software development experience and is a highly passionate strategist, technologist, architect, and engineer; highly skilled at delivering to business needs by developing solutions, collaborating, and leading others around him.
Parcourir par canal
Automatisation
Les dernières nouveautés en matière d'automatisation informatique pour les technologies, les équipes et les environnements
Intelligence artificielle
Actualité sur les plateformes qui permettent aux clients d'exécuter des charges de travail d'IA sur tout type d'environnement
Cloud hybride ouvert
Découvrez comment créer un avenir flexible grâce au cloud hybride
Sécurité
Les dernières actualités sur la façon dont nous réduisons les risques dans tous les environnements et technologies
Edge computing
Actualité sur les plateformes qui simplifient les opérations en périphérie
Infrastructure
Les dernières nouveautés sur la plateforme Linux d'entreprise leader au monde
Applications
À l’intérieur de nos solutions aux défis d’application les plus difficiles
Programmes originaux
Histoires passionnantes de créateurs et de leaders de technologies d'entreprise
Produits
- Red Hat Enterprise Linux
- Red Hat OpenShift
- Red Hat Ansible Automation Platform
- Services cloud
- Voir tous les produits
Outils
- Formation et certification
- Mon compte
- Assistance client
- Ressources développeurs
- Rechercher un partenaire
- Red Hat Ecosystem Catalog
- Calculateur de valeur Red Hat
- Documentation
Essayer, acheter et vendre
Communication
- Contacter le service commercial
- Contactez notre service clientèle
- Contacter le service de formation
- Réseaux sociaux
À propos de Red Hat
Premier éditeur mondial de solutions Open Source pour les entreprises, nous fournissons des technologies Linux, cloud, de conteneurs et Kubernetes. Nous proposons des solutions stables qui aident les entreprises à jongler avec les divers environnements et plateformes, du cœur du datacenter à la périphérie du réseau.
Sélectionner une langue
Red Hat legal and privacy links
- À propos de Red Hat
- Carrières
- Événements
- Bureaux
- Contacter Red Hat
- Lire le blog Red Hat
- Diversité, équité et inclusion
- Cool Stuff Store
- Red Hat Summit