The title is based off a favorite quote of mine, courtesy Ralph Waldo Emerson.
It's also my way of warning you that blog posts here can be quite long. ;) But there's no skimming the surface for me when it comes to topics I care enough to write about.

Saturday, October 14, 2006

I often hear this from my client IT managers, even battle-hardened ones - “We think automation and OMM are good things for us, but we don’t know how to really get started. We manage so many databases and applications here that it’s tough to standardize anything. We have no say in the matter. Our DBAs are busy working their tails off; it’s unrealistic to tell them to drop what they are doing and work on automating stuff. It’s just not going to happen!”

I know there are many environments out there that are probably struggling with the same issues. The desire is there to get to higher levels of operational maturity using board-based processes such as ITIL and OMM, but the challenges are steep. (BTW, if you are unfamiliar with OMM or the Operations Maturity Model, my company has a white-paper on their website on the topic: http://www.stratavia.com/downloads/9_adaptiveimplementation.pdf.)

For many companies, there are a myriad of 3rd party ERP, CRM and custom home-grown applications. There is often more than one mainstream database platform in use - Oracle, SQL Server, and/or DB2. The developers are playing with open-source DBMS platforms and there’s a good chance your DBAs will need to start supporting them in the near future, if they aren’t already! There are hundreds, possibly thousands of tickets being worked on by the DBA team every month. Pretty soon, there will be new projects that will need to go live. You will need to hire another DBA or more to support those projects. Hopefully your CIO will give the green light to add that head-count. And then, there’s talk that your company might acquire that pain-in-the-derriere competitor of yours… Your top DBAs carry a ton of tribal knowledge inside their heads and they don’t always have the time to document things or train others. They are all running at 100 miles an hour. In spite of this, the business users don’t seem exactly pleased; heck - truth be told, they aren’t even remotely sympathetic. Your team is already working so hard, what else can they do? In such “saturated manpower” situations, is any improvement possible? Isn’t standardization merely a nice-to-have, a luxury that one just doesn’t have time for?? Is automation a realistic goal to chase, given the team’s lack of bandwidth?

My question to those managers usually is, is this situation sustainable? How long can you go on like this? And how do you not get smoked by your competitors that have already figured this out? If IT is not providing the competitive advantage your business needs, the writing is on the wall. Regardless of the fact that your environment is bursting at the seams, you need to act now ‘cause there’s never a good time to do this. You have to take some tangible steps to inject a sense of order in your environment and get things under control.

So how do you do go about doing that? This is where baby steps come in.

The first step one can take is to simplify the environment. Don’t even think about relatively lofty initiatives such as automation yet. Focus whole-heartedly on identifying where complexity abounds in your environment and attempt to strike it down. For instance, if your DBA group uses a variety of tools, put together a “tools/needs analysis” spreadsheet that lists each tool, who uses it and why. (Send me an email if you would like me to share some of the spreadsheet templates I use in this regard.) Look for tools that are not actively in use, and those that are redundant. Similarly, make an inventory of what scripts are in use. Look for inefficiency indicators – such as, different DBAs using different scripts to accomplish the same thing.

Here I’m assuming that your environment already has decent processes for change control, release management and configuration management. If not, implement simple processes that help establish a level of stability and predictability in your environment without injecting additional layers of complexity. If your existing processes are too complex, try to get the relevant stakeholders to sufficiently dumb down the processes. To determine if a process is “simple” or not, try describing it on a single sheet of 8½ X 11 paper. If you can’t, chances are, the process is too convoluted.

Once you feel your environment is as simple as can be, then it’s time to embark on standardization. Compile a list of the top 5 most common (repetitive) tasks per platform. Make note of how different DBAs in your team carry out these tasks. There are different ways to accomplish this. The simplest way would be for the DBA to jot down notes on each step she is taking next time she is asked to perform that task. Now remember, it is important for her to do this WHILE she is performing the task rather than jotting down the steps from memory. The latter scenario leaves room for errors and omitting steps. If the DBAs are too busy or plain unwilling to do this and you are unwilling to MAKE THEM do it, you may need to watch over their shoulders and take notes while they do it. (In most cases, merely threatening them with watching over their shoulders will make them do it just to get you off their backs!)

Also it’s been my experience that if you assuage them and keep them in the loop about what you are trying to achieve, they will support you because after all, their quality of life goes up as well due to such initiatives.

Your goal should be to compile a spreadsheet listing each DBA and his/her task recipe for each of the 5 tasks. Look for areas of commonality or divergence. If multiple DBAs are carrying out the same task in different ways, determine the best method to carry out that task based on the success criteria that’s most relevant to you and your organization – indicators such as fewer errors (“first time right”), faster completion time (“on time delivery”), etc. Once the most efficient methods per task are nailed down via a formal SOP document (email me if you would like me to share a good SOP documentation template), coach all your DBAs to use that method each time they perform that specific task. Regardless of which time shift they work, or where they are physically located, they need to follow that SOP.

Once you have the best recipe for each of the Top 5 tasks selected, everyone in the DBA team has signed off on it and is actively using it, it’s the right time to be automating it. This can be achieved using an automation platform such as Data Palette.

BTW, this Simplification -> Standardization -> Automation cycle is not a one-time thing. It needs to be an iterative process. Once you have successfully done it for the top 5 tasks, look at the next 5 tasks. Continue doing this until most mundane tasks in your environment are running on auto-pilot, or to put it more succinctly, you have reached OMM Level 3 or higher.

One more interesting fact, you don’t have to automate a large percentage of your mundane tasks to gain value. Even just the top 5 or 10 tasks will give you great returns for your efforts!

1 comment:

Paul Robison
said...

Baby steps are needed to do this, but still its easier said than done. Frankly Im not aware of any company that has successfully done this to reach top maturity in the industry. An article with case studies would be useful.

About Venkat S. Devraj

Previously, co-founder of Stratavia, a data center and cloud automation software company, acquired by Hewlett-Packard. Prior to that, I was CEO at ExtraQuest, a database managed services provider that was acquired by a private syndicate and became datAvail.