INTERTEC BLOG

Our Latest Content is on the FPT Blog

Feel free to browse our existing content below, however, if you're looking for the latest articles, we now post them to FPT Software's blog page

How to Manage Complex, Repetitive Tasks

January 7, 2021 / by Frederid Palacios

By one measure, more than 40% of workers right now spend at least a quarter of their time on repetitive tasks—with 70% of workers saying that automating repetitive tasks is one of the top opportunities for automation going forward.

Top view of successful businessman standing near the entrance of labyrinthNow, most people hearing this stat probably think about small-scale tasks and administrivia, but what a lot of folks don’t realize is that these repetitive tasks can actually pervade much larger, more complicated workflows at every level of a company. Take a cloud migration for instance: there are certain tasks—from creating a cloud migration strategy based on your strategic technology vision to rewriting application code for complex refactorings—that require skill, care, and the attention of dedicated technical staff. But there are other tasks—like creating a mountain of Jira tickets for each of the coding tasks that have to happen, or checking in on the progress of any given process—that are repetitive and time consuming. Over the course of a short project they might not amount to much, but if we’re talking about a multi-year migration effort, the effects can get significant pretty quickly.

At the end of the day, enterprises need a way to manage repetition in complex tasks as well as in simple ones. Like most things in business, this is a matter of finding the right approach to tracking and managing work—but it’s also a matter of finding the right tools.

 

Repetitive Tasks Waste Time and Money

We said it above, but we’ll say it again: repetitive tasks waste time and money at companies of all shapes and sizes. The knee-jerk response to this fact is usually to try and incorporate some kind of automation, but it’s not always clear how automation is going to play out in a particular business case or context. A developer might see an opportunity to build a new tool that automates particular steps in a given workflow—and this type of ingenuity does have the potential to save people time and effort, especially if the resulting tool is really well designed—but the occasional side project by a developer isn’t ever going to give you the coverage that you need to tackle this problem in a more comprehensive way. Instead, what you need is a more top down approach that accounts for the structure of complex, repeatable tasks like cloud migrations.

When you approach the problem of repetitive tasks from this angle, you begin to see all of the tiny processes that crop up amid and between your other workflows: for instance, from this vantage point it might become obvious that, from a project management perspective, you’re essentially reinventing the wheel every time you perform a migration. Instead of using a repeatable template for successfully porting over a bunch of workloads, each new project is requiring you to map out processes and create dependencies all over again. Even though it’s the same set of tasks in the same order—just with some of particulars swapped out to reflect the new circumstances—you’re creating a whole new process one Jira ticket at a time.

Here, it’s entire processes or workflows (i.e. the process of setting up a bunch of new tickets to match your current SLA) that are repetitive, not just individual tasks. There may be repetition within the tasks themselves, but by starting at the top and working your way down you can take a more systematic approach to cutting out wasteful time usage. And, it’s from this vantage point that you can begin considering the right tools and strategies to utilize in cutting down unnecessary work elsewhere.

New call-to-action

Tasks vs. Workflows

One of the reasons that the problem we’re describing is such an intractable challenge for so many companies is that they’re only utilizing solutions that help track work at the level of the task. Individual tickets for individual stories or activities might reflect their own particular statuses, but if there’s nothing connecting one task to the next it can be difficult to visualize the entire process at a glance. This, in turn, makes it difficult to uncover areas where you could cut down on repetitive work. For instance, you might not notice that every time you perform a cloud rehosting workflow, you get stuck on the same spot, and that developing a tool in that spot would save you time on every single project of that type. By the same token, you might realize that there’s a consistent lag between finishing up a dependent process and spinning up the subsequent process in the pipeline. In a situation like this, you might find that you can save time by automatically initiating the next process when a certain trigger is set off.

In this way, we can see the difference between gaining visibility into individual tasks and gaining visibility into entire processes. Only with the latter is it possible to take a comprehensive approach to understanding your most common roadblocks and your sources of unnecessarily time-consuming work on a repeatable basis. The only problem? Most work tracking tools aren’t built to give you that kind of visibility into processes and workflows.

 

Challenges in Effective Workflow Management

Okay, let’s imagine a hypothetical project pipeline. A few different teams have to perform complex processes in parallel, and once those processes have been carried out, the next sequential process can start. After that, the next three processes can all happen in parallel, and when they’re done there’s one remaining workflow to complete. You, as the project lead or project manager, need to answer two simple questions:

  • Are you making progress, or are you blocked?
  • Are you projected to get the project done within the timeline that’s outlined in your SLA?

The questions are simple, but answering them often isn’t. Why? It could be for any number of reasons:

  • Your system doesn’t actually track progress against your SLA anywhere, which means you don’t have an immediate way to check progress against a timeline.
  • To check for blocks, you need to make sure no individual ticket is blocked, which means filtering through potentially dozens of individual tasks and trying to suss out how they’re connected to one another.
  • If your system doesn’t have a timer associated with individual tasks (i.e. something that lets you know how long a ticket has been open), with longer tasks you may not know how quickly the owner of the task is making progress. In this way, it becomes difficult to know whether you’re making progress quickly enough.
  • Even if you are making progress, you may not have any historical data on specific workflows (as opposed to tasks) that will give you a sense of how long each process should take—making estimation incredibly difficult.

Basically, these challenges make it fairly difficult to get a firm handle on what’s going on beneath the hood. Luckily, with the right tool, you can automate most of these issues away.

 

Pipeline Automation

From the perspective of choosing the right tools, the best solution to the problems above is to automate your pipeline management. What does this mean, exactly? For starters, it means you want to create pipeline templates (i.e. collections of different workflows that all slot together to produce a finished product) that can be automatically spun up each time you’re starting a new project. This means that you would have a “cloud migration pipeline” template, for instance, and each time you started on a new cloud project you would set up the pipeline with the click of a button, then fill out the specifics as needed.

Here, you’re already saving time—because you don’t have to reinvent the wheel every time you begin work on a complex, repeatable task. Every dependency between workflows is already sketched out, just as every necessary process is already defined. From there, your solution should automatically offer you a view of the pipeline at your desired level of granularity: from an abstract view, you should be able to track the whole pipeline against your SLA and see if and where it might be stalled; then, further down, you could look at individual processes and workflows to see if they’re on track (i.e. by comparing them to historical data for similar workflows); then, you should be able to track how long any given task has been underway—if anything is taking longer than expected, you can look into the situation more closely to see if there’s anything that might speed things along.

Ideally, you’d even be able to automatically spin up new pipelines when a related pipeline has been completed (e.g. automatically initiating the “onboarding” pipeline whenever someone works all the way through the “talent acquisition” pipeline). With this kind of functionality at your disposal, the complexity that comes from both gaining visibility into and actively managing complex and repetitive tasks can be significantly reduced. This is about more than just automating rote and repetitive tasks—rather, it’s about leveraging automation to build smarter processes. Those smarter processes can ultimately act as force multipliers that save you time and money each time you start a new project.

contact us

Tags: Project Management

Frederid Palacios

Written by Frederid Palacios

Fred Palacios is a seasoned software architect with more than 20 years of experience participating in the entire software development cycle across a host of different industries--from automotive and services to petroleum, financial, and supply chain. In that time, his experience working closely with high-level stakeholders has provided him with a strategic vision for developing the right solutions to flexibly meet critical business needs. As CTO of Intertec, he's continuing to focus on the creation of business-critical applications for large enterprise projects, particularly those that handle high concurrency and large datasets. He is passionate about using technology as a tool to solve real-world problems and also mentoring technical teams to achieve their maximum potential and deliver quality software.

Contact Us