Skip to main content

Automation

Using machines to perform repetitive tasks.

Also Known As

Related

Addresses / Mitigates

  • Operational Risk: Introduces more consistency in process operations and removes opportunity for human error
  • Schedule Risk: Too much focus on automation can distract from more important tasks

Attendant Risks

  • Complexity Risk: Introducing code adds to the complexity of a project
  • Feature Fit Risk: The automated process might not capture the variability of requirements of the original approach
  • Invisibility Risk: The quality and performance characteristics may be obscured by automation.
  • Process Risk: Automation introduces a process
  • Agency Risk: Automated processes have their own agency and might not work as desired.
  • Security Risk: Automation can introduce security issues if automated processes are given elevated privileges.
  • Map And Territory Risk: Automation of reporting and status can hide the truth of a system's health.

Used By

  • Extreme Programming: XP emphasizes the use of automated tests to ensure the software works as expected.
  • Lean Software Development: Lean uses automation to eliminate waste and improve efficiency, especially in testing and deployment processes.
  • Scrum: Automation of tests and integration (CI/CD) is common in Scrum practices.

Description

"Automation describes a wide range of technologies that reduce human intervention in processes, mainly by predetermining decision criteria, subprocess relationships, and related actions, as well as embodying those predeterminations in machines.": - Automation, Wikipedia

One of the key ways to measure whether your team is doing useful work is to look at whether, in fact, it can be automated. And this is the spirit of DevOps - the idea that people in general are poor at repeatable tasks, and anything people do repeatedly should be automated.

See:

See Also

Extreme Programming

An Agile software development methodology that emphasizes customer satisfaction, teamwork, and frequent delivery of small, functional software increments.

Lean Software Development

An Agile software development methodology that emphasizes eliminating waste, building quality in, creating knowledge, deferring commitment, delivering fast, respecting people, and optimizing the whole.

Scrum

An Agile framework for managing and completing complex projects.