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: Automating laborious tasks clears the schedule for higher-value work.

Attendant Risks

  • Operational Risk: Automated processes may be less observable than manual ones.
  • Complexity Risk: Introducing automation adds to the complexity of a project
  • Feature Fit Risk: The automated process might not capture the variability of requirements of the original approach
  • Communication Risk: The quality and performance characteristics may be obscured by automation.
  • Process Risk: Automation introduces a process, which therefore means a new source of Process Risk.
  • 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.
  • Internal Model Risk: Automation of reporting and statuses can lead to false confidence about 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.
  • Scaled Agile Framework (SAFe): SAFe promotes built-in quality through continuous integration and automated testing.
  • Scrum: Automation of tests and integration (CI/CD) is common in Scrum practices.
  • TameFlow: TameFlow encourages automation to maintain flow efficiency and reduce manual bottlenecks.

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.

Variations

Automation TypeDescriptionReference
Continuous IntegrationAutomatically building and testing code changes as they are committed to the repository.Continuous Integration, Wikipedia
Continuous DeliveryAutomating the release process so software can be deployed to production at any time.Continuous Delivery, Wikipedia
Infrastructure as CodeManaging infrastructure through machine-readable configuration files rather than manual setup.Infrastructure as Code, Wikipedia
Robotic Process AutomationUsing software robots to automate repetitive business processes and workflows.Robotic Process Automation, Wikipedia

Used By

Extreme Programming

Extreme Programming

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

Why: XP emphasizes the use of automated tests to ensure the software works as expected.

Uses:
  • Automated Testing
Lean Software Development

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.

Why: Lean uses automation to eliminate waste and improve efficiency, especially in testing and deployment processes.

Uses:
  • Pull Systems
  • Automation
Scaled Agile Framework (SAFe)

Scaled Agile Framework (SAFe)

A set of organization and workflow patterns for scaling lean and agile practices across large enterprises.

Why: SAFe promotes built-in quality through continuous integration and automated testing.

Uses:
  • Continuous Integration
  • Built-in Quality
Scrum

Scrum

An Agile framework for managing and completing complex projects.

Why: Automation of tests and integration (CI/CD) is common in Scrum practices.

TameFlow

TameFlow

A management approach for knowledge work that integrates Theory of Constraints, Kanban, and Agile principles to optimize the flow of work, information, and value.

Why: TameFlow encourages automation to maintain flow efficiency and reduce manual bottlenecks.