Automation

We frequently compare analysis and documentation activities to software development, and the topic of automation is another perfect parallel. In extreme cases, software could be written using nothing but Notepad and a compiler. But nobody actually does that. Instead, developers use an arsenal of tools like Integrated Development Environments (IDEs), debuggers, profilers, and screen designers. These tools help them automate repetitive tasks, format code, and perform regular quality checks.

Interestingly, many analysts still stick to the documentation equivalent of "Notepad and a compiler," handling common tasks entirely manually. For example, they might track requirements in Excel, copy them into Word, attach diagrams from Visio, and email the final document around. This approach is not only tedious, but it is also error-prone and highly inefficient. Analysts should take inspiration from developers and look for ways to save time through automation. While manual management might not be a major issue in small teams, enterprise environments with dozens of active systems can no longer be run this way. Organizations need to start adopting tools that automate the creation, management, and quality assurance of their analytical outputs.

aa

What exactly can be automated in analysis?

  1. Generate documentation in various formats
    • Analysts should focus on writing content, not formatting templates. Tools can automatically compile individual artifacts into professional PDF manuals, intranet pages, or other formats.
  2. Propagate updates across models
    • If the name of an artifact changes, it should update automatically everywhere it appears. If a system name is modified, it is highly inefficient to manually find and update it in every single document. This manual approach is frustrating and error-prone. Effective analysts use tools to ensure their models stay up-to-date automatically.
  3. Detect changes and regenerate specifications
    • While a large part of analysis consists of free text, many specifications also contain structured data that can be generated automatically. For example, a system's use case inventory should refresh on its own whenever a new use case is added to the repository.
  4. Validate compliance with rules and conventions
    • Mistakes happen, but an automated safety net can easily flag and help fix them. For example, if there is a convention to prefix all use cases with "UC ", an automated script can quickly find and flag any violations.

The diagram below illustrates these points, showing how a specification page for a CRM system can be built automatically. It includes a component model and an automatically updated inventory of CRM modules that refreshes whenever changes occur.

Example

aa

This kind of automation streamlines repetitive workflows, ensures specifications remain accurate and up-to-date, and maintains compliance with team rules and conventions. In Part III, we introduce a reference implementation demonstrating how to achieve this automation using concrete tools.