A Routine Life is Boring, But Routine Work is Awesome!

What is your routine?  We all have one.  Mostly these exist because there are actions we do every day and we can take the same steps to accomplish them.  For example, driving to work or brushing your teeth.  You can also find routine actions in the work your team does and identifying those can gain your team some efficiency over time.  For example, if you have a bunch of routine manual test cases to run, someone will be repeating that action multiple times before a release.  Now notice, I said "routine" test cases - new test cases that are finding bugs or discovering other critical concerns in your product are not routine.  If you have automation to run, it will be run at a certain frequency on builds.  If the builds from your project come out randomly and the automation is run from different machines or in a way that can’t be easily repeatable, then you are not taking advantage of some great time savings.  As a lead or manager, you (and potentially your team members) should think through all the work that needs to be done during a project cycles and determine where there are actions that can be put into a routine.  By getting them into a regular routine, you can now consider the possibility of out-sourcing that work, automating it, or finding other methods for doing that work in a less expensive way.  Keep your testers involved in the critical, complex work that needs thought leadership and continuous innovation. 

Simplifying work to be more of a routine can sometime be more difficult than you think.  I have managed centralized services teams where we took standard actions from multiple teams and did that work for them.  For example, running automation in a lab.  Sound simple, right?  Not when you have 10 different teams with hundreds of different customized steps and conditions to make their automation work a certain way!  So no matter what work you plan to hand off to a centralized team (which could be an outsourced team - offshore or onshore), there needs to be some standardization or routine existing for that work to get done simply and successfully.  Think about it this way, brushing your teeth every morning is a routine most people do without thinking much about it.  But what if your toothbrush was hidden and you first had to find it every morning before you used it?  Or your toothpaste kept changing?  Or someone had to give you instructions every morning and sometimes you had to wait for those instructions before starting to brush?  What if some of those instructions required you to brush with the toothbrush handle instead of the bristles while standing on your head?  Ok, this last example is a bit extreme, but anyone that works on a team that is centralizing or standardizing work, they know that sometimes these customized requests seem to be as random as that situation.  With all these complications, brushing your teeth would now become very complicated and time-consuming.  What makes brushing your teeth so efficient is that you know when to do it, how to do it, and nothing really changes day-to-day.  The same needs to happen with the actions you carve out of your team and transform into routine work that others can do.  This is especially true if you are going to automate those steps.  For example, automating machine setups or environment deployments can be hugely beneficial, but you need to make sure these tasks follow them same routine every time or they can instead become time-consuming.

Now let's take it one step further.  You have your routine steps in place to hand them to someone else, but are those steps consistent with other teams' steps?  If I am handing my routine automation runs to a centralized team, but that automation is still run in a different way than another team, I still don't have the consistency across all our actions to be routine enough for a centralized team to be successful.  Another way to look at it is that many teams have smaller sub-teams.  You can gain a lot more efficiency by coordinating all routine tasks so they are done the same way across all sub-teams instead of just within yours.  This is a progression and the broader the scope, the more difficult it is to gain that consistency.  But although it's difficult, the end result of broadly-accepted routine work is a ton of efficiency and some very happy employees who can focus on the critical, complex, and challenging work that grows their careers within the company. 

What about those poor people that are in that centralized team that have to take your routine work?  Well, don't worry about them.  They have opportunities to apply some thought leadership in making that work even more standardized, portable, and cost-efficient.  In some cases, they may even provide feedback back to your team on how to improve things even more!   And at the same time, these centralized teams find opportunities for less experienced people to become experts in this work before moving to more difficult tasks.  It's a win-win for everyone!