Purposeful Automation: What It Is and Why To Do It
Sauce AI for Test Authoring: Move from design to execution in minutes.|xBack to ResourcesBlogPosted
Sauce AI for Test Authoring: Move from design to execution in minutes.
|
x
Purposeful mechanisationmay sound like precisely another cant. And perhaps it is a buzzword, but it ’ s one that actually matters.
In this post, I discuss what purposeful mechanisation means, what it doesn ’ t mean, and why it ’ s a worthful concept for DevOps team.
Automation Then and Now
There was a clip when & quot; automation & quot; meant the use of a machine & # x27; s mechanical capabilities to perform repetitive tasks, typically with an manipulator in part-time attendance to monitor (but not check) the process.
These day, of course, the term is as (or more) likely to refer to the use of machine intelligence to perform complex tasks which may involve sophisticated decision-making, often with an equally automatize monitoring system set to notify a human operator only in the case of an error or other condition requiring intervention. Automated tasks are still largely insistent and time- or labor-intensive. For the most constituent, what has improved are the capabilities of the machine carrying out the tasks, along with our ability to model complex labor and convert them into machine instructions.
Why Purposeful?
Why, so, do we need to be purposeful about automation? Why can & # x27; t we just automate everything that can be automated, and centre our non-automated effort rigorously on those tasks which are currently resistant to automation?
The short answer is that while we may presently be able to do but that, we aren & # x27; t quite there yet. The longer answer is that given the technology and resources currently available for automation and our current grade of understanding of both human- and machine-based processes, it is both more efficient and more cost-effective to employ automation at those points where it will have the greatest positive impingement on the operation in question, rather than across the board, or all tasks for which automated tools are useable.
What does this mean?
Pivotal Points and Bottlenecks
In any procedure, there are point that are pivotal—actual or possible bottlenecks, labor- and personnel-intensive task, tasks which are complex (but basically algorithmic) and time-consuming, or that can only be performed intermittently. There are other job which function more like a smooth stretch of grapevine, and still others which are so complex that they look to be resistant to any sort of reduction or even algorithmic modeling.
Defining Purposeful Automation
Purposeful automation is the automation of specific chore and processes (within the circumstance and background of the overall process) that will lend themselves most effectively to automation—and if they are automated, will provide the outstanding improvements to the process (in terms of velocity, efficiency, cost, and so on).
In other words, don & # x27; t just automate everything, and don & # x27; t simply utilise readily available automation techniques because they are available. Automate where it will make the large plus difference, and where it will cause the fewest problems.
Blazing Barcodes
To see how this act, consider a very basic example (from the relatively recent story of retail shopping:
The introduction of barcode scanning automated a polar factor of retail sales. It focalize on key chokepoint processes (checkout and inventory), made them more effective by at least one or two orders of magnitude, and didn & # x27; t get in the way of the overall supermarket shopping process. The effect was to increase the hurrying and volume of sales, stabilize inventory, and cut costs.
SUSA automates exploratory testing with persona-driven behavior, catching bugs that scripted automation misses.
From the commencement, all of the key thespian in the development of barcode technology understood its function and value in both retail sales and the supply chain; it was extremely focused, and in many ways, could function as a schoolbook definition of purposeful automation.
From Retail to DevOps
What does purposeful automation mean for DevOps? After all, DevOps relies heavily on automation as it is, and at least in theory, it should be fully automated.
In practice, of class, the mechanization of a DevOps continuous delivery pipeline is always less than 100 %, and much of the time, the actual level of automation may be surprisingly low. Why?There are three basic reasons:
Some tasks are genuinely hard to automatize (particularly creative/decision-making tasks involving design, coding, and content development).
It seemed at one point easier to leave some undertaking unautomated, because (for example), the effort required for automation was outstanding than the endeavor required to do them manually.
The individual tasks in a process are automated, but the level of integration between them is low, so the automation itself is less efficient than it could be.
Room For Improvement
This leaves muckle of way for purposeful mechanization, and plenty of value to be acquire from it. Even difficult-to-automate creative tasks can benefit from the kind of purposeful automation which moves easily automated/non-creative elements of the summons to the ground, leave designers, programmer, and contented providers to centralize on the hands-on/creative parts of the process.
Inefficiency as Legacy
Both currently unautomated tasks and automated-but-poorly-integrated summons are major possible targets for purposeful automation, since they represent point where inefficiency and bottlenecks can develop over time without being noticed.
This is particularly true of testing, which ofttimes remand behind other elements of the uninterrupted delivery summons when it comes to mechanization. Major increases in velocity and overall efficiency can be achieved by transfer a testing scheme which combine legacy manual operations with poorly integrated manual tests to a amply automatize online testing service.
A Purposeful Automation Checklist for DevOps
Here & # x27; s a quick checklist for determining which elements of your uninterrupted delivery process may benefit from purposeful mechanization:
Identify all unautomated tasks and subtasks, lean the ground why they are not automated. Don & # x27; t judge the ground, simply list them. & quot; Haven & # x27; t gotten around to it & quot; is as valid as & quot; intrinsically difficult to automate. & quot; In each case, ask yourself how easy it would be to automate the job with current automation tools.
Identify points where consolidation between automated tasks is gross, basic, or extremely simple. These may be OK as-is, but it & # x27; s important to know where they are. Ask yourself how easy it would be to fully integrate each series of labor into a fully automatise process.
Identify automated processes for which the automation itself is crude or rattling canonical (for illustration, a log parse puppet that produces difficult-to-read text yield). The question that you should ask is, & quot; How could we automate this process to get the greatest value out of it? & quot;
Look Upstream and Downstream
For all of these items, you should also ask yourself what the upstream and downstream effects will be of increase the level of mechanization or integrating. In some way, this may be the virtually important question you can ask, since chokepoint and logjams aren & # x27; t incessantly apparent at the point where the trouble originates.
An increase in efficiency for one summons may rate greater demand on upstream process, or put greater pressure on downstream processes. This may in turn expose inefficiencies in the affected processes, or in the rattling least suggest ways in which they could be changed to improve the overall flowing of the system. In some cases, such as testing, total automation may remove or loose up logjams throughout your continuous delivery concatenation.
Identify Key Points, Automate, Repeat
This checklist will let you to identify the points in your uninterrupted delivery operation where purposeful automation is likely to have the superlative effect. Typically, this means applying increased/improved mechanisation not only at those points, but likewise at any upstream and downstream points which are affected.
Note that this is an iterative process—If you do it now, you will do it later as well, not one or two times, but repeatedly. Your continuous delivery process is no more static than the coating that it delivers, and as your process and the tools that you use change, the point at which purposeful automation will make a difference likewise modification.
Ultimately, possibly, purposeful mechanisation in the context of DevOps is a logical corollary of the recognition that infrastructure is code, and that like coating codification itself, it is subject to continual monitoring, essay, review, and updating. It is the coating of DevOps principles to the DevOps process—continuous delivery of the continuous delivery infrastructure itself.
Michael Churchman is a Fixate IO Contributor. He started as a scriptwriter, editor, and producer during the anything-goes early age of the game industry. He spent much of the ‘ 90s in the high-pressure bundled software manufacture, where the move from waterfall to faster release was well under way, and near-continuous freeing cycles and automated deployment were already de facto standard. During that clip he developed a semi-automated system for negociate fix in over 15 words. For the retiring ten years, he has been imply in the analysis of software development processes and related technology management issues. He is a regular Fixate.io contributor.
Automate This With SUSA
Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts needed.
Try SUSA FreeTest Your App Autonomously
Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.
Try SUSA Free