Implementation best practices
As we've indicated previously, while automation can be a powerful multiplier for efficiency and productivity, there are no guarantees. Poor planning or implementation can lead to solutions that fail to meet the need at hand or, worse, negatively impact your initiatives as a whole. While many important aspects of the automation development life cycle can dictate the overall success of the project, by far the most important step is planning and strategy.
Moving forward without a clear idea on both your objectives, and detailed solutions to meet them, can lead to runaway scope, poorly designed systems, and unnecessary complexity. Let's take a look at a few best practices to keep in mind during this crucial step of the automation process.
Starting small
While it may be enticing to jump head-first into automating large and complex portions of your processes, the universally accepted best practice is to start small and target those items that will return the highest value for the lowest level of effort. Work with related teams to identify processes that are time-consuming or error-prone, particularly those that are both simple and repetitious.
Finding routine, manual processes that are low-risk and high-visibility ensures that you're both providing real value with your solution while not impacting your current initiatives in the event that something goes awry. Processes with low exception rates, that do not require human intervention, should be considered in this regard as well.
Ideally, you should consider those processes that are stable, well documented, and with well-defined risk and cost. Getting buy-in from internal teams is important as well, so looking for tasks where the savings from automation can be quantified and measured can drive support and adoption to get your solution into production.
Try and avoid the Rube Goldberg effect when an automated solution becomes so complex that no one but its creator has a hope of understanding its flow or intent. Processes that are atomic, reusable, and simple on their own are ideal.
Understanding the process
The term flying blind has a negative connotation for a reason. Approaching your planning and strategy without an adequate understanding of the systems, or processes, that you will be automating is a recipe for failure. Understanding how a given process is structured end to end, including how it operates both internally as well as with external systems, is crucial to delivering a successful solution on time. A failure to account for some factor during your planning stage can derail a project, or kill it completely, if your solution no longer becomes viable or runs over the projected costs.
Understand the process well and why each of its steps is performed in its current sequence. It is important to know why things are performed in their current state as they might not be suitable for automation, or only partially suitable. It can be counter-intuitive to automate four tasks when only two of them make sense and the other two could potentially even increase workload via automation.
Rather than fully automating in bulk, automating helpers as part of a process can be vastly more efficient than forcing a full process to be automated. Sometimes, checks and balances are required that just simply cannot be automated. Trying to force this into an automated process could greatly increase the risk or increase the level of effort on other teams to do the manual checking amid the automation, and so on.
Sticking to the objective
While automating data management, email deployment activities, or custom workflows and processes, you must always stick to the original objective outlined in your planning and strategy process. The introduction of a new business need or functionality, or new feature within the platform, can be alluring to attach to a project still in development, but it is important to stay focused on the initial needs and requirements outlined at the beginning.
By staying on track with your initial scope, you eliminate the possibilities of new additions either slowing down your implementation or derailing it altogether. Adding additional functionality in the middle of a project introduces unnecessary risks and has the potential to change the very objective of the solution you've previously outlined. So, while it might be tempting to turn your next data management process into a full-fledged machine learning solution, it's best to avoid this and to look for areas to enhance or branch for future projects.
These are just a few of the very important considerations and practices to take into account when getting started with the planning and strategy portion of the automation project life cycle. Obviously, there are other important practices to keep in mind during the development and testing phases of your project that have been touched on earlier in this chapter. One more that we should call out here is testing.
While you may think that your well-planned and developed project is immune to failure, you must identify likely exceptions and develop a testing strategy before you even begin your development. Having a solid testing plan and execution can reduce the error rate of your automation processes and can help drive more adoption and innovation across other processes in your organization.
Now, let's cover another best practice that is critical to the development and continued success of an automation project: documentation.