Skip to content

Canon Technology Radar Methodology

This document describes how we maintain and update the Canon Technology Radar, including our decision-making process, review cycles, and governance.

Overview

The Canon Technology Radar is a living document that tracks our recommendations for tools, techniques, features, and data formats. It helps consumers understand what technologies to adopt, trial, assess, or avoid when building with Canon.

Radar Structure

Quadrants

  1. Tools & Libraries - Third-party libraries, build tools, and development utilities
  2. Techniques & Patterns - Architectural patterns, development practices, and type system techniques
  3. Features & Capabilities - Runtime features, development features, and integration capabilities
  4. Data Structures, Formats & Standards - Data structures, serialization formats, identity standards, and schema standards

Rings

  • Adopt - Strong recommendation. Proven, stable, and recommended for use
  • Trial - Evaluate for adoption. Worth exploring and evaluating for your context
  • Assess - Investigate further. Keep under review and assess for potential future use
  • Hold - Not recommended. Avoid or replace with better alternatives

Decision Criteria

Adopt

  • Proven track record in production
  • Strong community support and maintenance
  • Aligns with Canon's philosophy and goals
  • Provides clear value to consumers
  • Has been successfully used in Canon development

Trial

  • Shows promise but needs evaluation
  • Addresses specific needs not met by current tools
  • Has good TypeScript support (for libraries)
  • Reasonable bundle size impact
  • Active maintenance and community

Assess

  • Interesting but unproven
  • May address future needs
  • Requires further investigation
  • Potential risks or limitations need evaluation

Hold

  • Proven to be problematic
  • Superseded by better alternatives
  • Doesn't align with Canon's direction
  • High maintenance burden or complexity

Update Process

Regular Reviews

Quarterly Reviews (every 3 months)

  • Review all Trial entries for promotion/demotion
  • Evaluate Assess entries for potential promotion
  • Check Adopt entries for any issues or deprecations
  • Update justifications based on new information

Annual Reviews (every 12 months)

  • Comprehensive review of entire radar
  • Strategic alignment with Canon's roadmap
  • Major technology trend evaluation
  • Archive outdated entries

Ad-Hoc Updates

Immediate Updates

  • Security vulnerabilities in Adopt entries
  • Breaking changes in critical dependencies
  • New technologies that significantly impact Canon's mission

Monthly Updates

  • New library evaluations
  • Community feedback integration
  • Performance or compatibility issues

Governance

Decision Makers

  • Canon Maintainers - Final authority on radar entries
  • Community Contributors - Input and proposals
  • Consumer Feedback - Real-world usage experiences

Decision Process

  1. Proposal - New entry or change request
  2. Discussion - Community input and maintainer review
  3. Evaluation - Testing and assessment period
  4. Decision - ADR-style documentation of rationale
  5. Implementation - Update radar data and documentation

Data Management

File Structure

radar/
├── data.yaml          # Human-editable radar data
├── data.csv           # Generated CSV for visualization tools
├── config.yaml        # Radar configuration and metadata
├── scripts/           # Conversion and management tools
└── README.md          # Radar directory documentation

Workflow

  1. Edit - Modify data.yaml with new entries or changes
  2. Convert - Run npm run build:radar to generate CSV
  3. Review - Run npm run check:radar to validate changes before committing
  4. Commit - Version control both YAML and CSV files
  5. Visualize - Use generated CSV with build-your-own-radar tool

Automation

  • Validation - npm run check:radar to validate data structure and completeness
  • CI Integration - Automated testing of radar data format

Integration with ADRs

The radar methodology integrates with our Architecture Decision Record (ADR) process:

  • ADR-010 - Technology Radar Implementation
  • ADR-011 - Radar Data Format and Management
  • ADR-012 - Radar Governance and Update Process

Each major radar decision should be documented as an ADR, including:

  • Context and problem statement
  • Decision drivers and criteria
  • Considered options
  • Decision outcome and consequences
  • Implementation details

Quality Assurance

Data Validation

  • Structure Validation - Ensure proper YAML structure and required fields
  • Content Validation - Check for completeness and consistency
  • Link Validation - Verify external references and documentation
  • Format Validation - Ensure CSV generation works correctly

Review Checklist

  • [ ] Entry has clear, concise description
  • [ ] Justification aligns with Canon's philosophy
  • [ ] Ring placement is appropriate
  • [ ] Quadrant categorization is correct
  • [ ] New entries are marked appropriately
  • [ ] Links and references are valid

Communication

Internal Communication

  • Maintainer Discussions - Regular sync on radar direction
  • Community Input - GitHub issues and discussions
  • Consumer Feedback - Usage patterns and pain points

External Communication

  • Documentation - Clear explanations in radar entries
  • Blog Posts - Major radar updates and rationale
  • Conference Talks - Sharing methodology and insights
  • Community Engagement - Responding to questions and feedback

Metrics and Success

Key Metrics

  • Adoption Rate - How often Adopt entries are used
  • Trial Success - Promotion rate from Trial to Adopt
  • Consumer Satisfaction - Feedback on radar usefulness
  • Update Frequency - Regular maintenance and freshness

Success Criteria

  • Radar entries are actively used by consumers
  • Regular updates maintain relevance
  • Clear guidance helps with technology decisions
  • Community actively contributes to radar evolution

Future Considerations

Potential Enhancements

  • Automated Updates - Integration with package vulnerability databases
  • Usage Analytics - Track which radar entries are most referenced
  • Interactive Visualization - Enhanced radar visualization tools
  • API Integration - Programmatic access to radar data

Scalability

  • Entry Limits - Guidelines for managing radar size
  • Categorization - Refinement of quadrants as Canon evolves
  • Automation - Increased automation for routine updates
  • Governance - Scaling decision-making processes

References

Released under the MIT License.