Architectural Archaeology Process
· One min read
Guide on how to use architectural archaeology to uncover implicit architectural decisions in my projects.
A systematic approach to uncover and document implicit architectural decisions.
Instructions for AI
-
Identify Target Area
- Examine current implementation details
- Note any non-obvious technical choices
- List patterns that seem intentional but lack documentation
-
Question Chain Analysis For each identified element:
- Why was this specific approach chosen?
- What problem was being solved?
- What alternatives were available at the time?
- What constraints influenced this choice?
- What trade-offs were accepted?
-
Evidence Collection
- Search commit history for relevant changes
- Review related documentation/comments
- Identify dependencies and their versions at time of decision
- Note any patterns in surrounding code
-
Alternative Analysis
- List other approaches that could have been taken
- Research common solutions for similar problems
- Consider technology landscape at time of decision
- Document why alternatives might have been rejected
-
Context Reconstruction
- Map out the technical ecosystem at time of decision
- Consider project constraints and requirements then
- Note relevant team knowledge/preferences
- Document industry trends of that period
-
Decision Documentation Create ADR in format:
# NNNN. Option1 vs Option2
Date: [Archaeological Discovery Date]
Original Implementation: [Estimated Date]
Status: Discovered
Discovery Context: Architectural Archaeology
## Historical Context
[Reconstructed context from investigation]
## Decision
[Documented actual implementation]
## Alternatives Considered
[Reconstructed alternatives]
## Consequences
[Observed long-term impacts]
## Archaeological Notes
[Document evidence and reasoning process] -
Validation
- Cross-reference findings with team knowledge
- Verify timeline consistency
- Check if reconstruction explains current state
- Note confidence level in conclusions
Remember: Focus on understanding "why" over "what". The goal is reconstructing decision context, not just documenting current state.
