When RASCI #2321 is not enough

You know you have a program that is set up to fail when:

There are two thousand three hundred twenty one RASCIs and still no one knows what they are supposed to do and what they are not supposed to do.  And they spend all their time protecting what they think they should do and arguing with the other guy about what they should and shouldn’t be doing.

I’ve been on a program like that.  Every other day someone wanted to create yet another RASCI (if you don’t know what that is, consider yourself lucky) at yet another level of detail to attempt to take responsibility for something; or better yet to place blame on someone else for something that’s not going so well.  Needless to say, not much was getting done except to fight over who did or didn’t do what to who.

I’ve also been on a program where there were no RASCIs at all.  WHAT, not even one?  This was a program where people knew whether they were a screwdriver or a butter knife (see http://visionpeak.wordpress.com/2012/02/01/the-butter-knife-and-the-screwdriver/) and had no desire to be anything else.  Everyone was busy, contributing, and being recognized so it wasn’t necessary to worry about what the butter knife was doing; being a screwdriver was enough. Not only was it enough; it was fun!

Why do you suppose that was?  I believe it’s because every person could see in their own mind exactly where the program was headed.  And people all saw the same picture.  Everyone knew what was required to get there and what their role was (screwdriver or butter knife) in getting there.  They also believed that it took both the screwdrivers and the butter knives to get there, neither was enough alone and neither could do the other’s job near as well.  Trust was implicit.

So how did that come to be?  In this case, investment was made “up front” to create that common vision of what success looked like.  Along with that was a description of what and who was required to get there; both the screwdrivers and the butter knives.  All this, before the implementation program was even launched; there wasn’t a systems integrator in sight (or billing by the RASCI line).  For this program it wasn’t so much about how it was going to be done; it was about figuring out what to do first.

The payback?  An implementation program that was on time and under budget.

Sometimes I twitch when I hear RASCI.  Maybe you might need one RASCI, but many more than that and you’re probably headed for a program that is set up to fail.  And if you feel you need to have that one, it’s best to not have too many lines…

Don’t twitch!

© Ellen Terwilliger 2012

Anything is possible with time, money and expertise

This phase was a common answer from me when asked if our IT applications organization could do something for the business. When I first used the phrase back in 2002, it went “Anything is possible with time, money and resource”. I modified it a bit later after realizing that not all resources are created equal. If you have never done something before, there is no shame in asking for help from those with the expertise. That way you get to learn so next time you have the expertise. But it’s really not so much about what the phrase says as it is about the attitude that is represented.

I don’t know if this has ever happened to you, but in my career I have run into people who only know how to say why something can’t be done. They continually look for what won’t work, make excuses for why they don’t want to do something and generally throw up roadblocks every step of the way. For me, it’s not very much fun working with people who have that kind of attitude; everything seems to be a struggle. The easiest question can take weeks to be answered. In fact, depending on where they are in the organizational structure, an attitude of that nature can make it almost impossible to get anything done. Instead of engaging in a quest for answers, everything stops at them since they have already decided it’s never going to work.

On the other hand, if you have people who are constantly looking for how something can be made to work, I believe you have a pretty open environment. Instead of there being roadblocks, you have many people engaged in blowing holes through the rock trying to see if what’s on the other side will help. That’s how successful programs get done, because people have an attitude that it is possible.

Take a look at yourself. Are you a roadblock or a rock breaker? It is up to you the attitude you take every day. There are always down times but I fundamentally believe people want to be successful and make things work.

My mantra: anything is possible with time, money and expertise.

© Ellen Terwilliger 2012

What is a vanilla implementation?

It’s doesn’t matter what type of software you’re implementing or for what purpose, Einstein’s quote is the guide to success; finding the balance point of simple is the key to a vanilla implementation.

Software is created to perform a function, typically a function that many people do on a regular basis. The product designers spend lots of time understanding the commonalties of the function in order to create a product that follows Pareto’s Principle or the 80-20 Rule. The 80% is the same for everyone; it’s standard/vanilla and is going to work just fine for your purposes. It’s how you handle the 20% that determines how vanilla your implementation will be.

From the software application perspective, here are three rules of keeping things vanilla.

Rule #1: Extend – never replace. If the application does it, use it. If shipping capabilities exist within the software then use it. Don’t reinvent the wheel; extend from the hub to add the uniqueness you require. That’s kind of your own 80-20 rule; you can use 80% of the functionality of the code that’s there and just add on your own 20%. The total cost of ownership for the 20% is a lot less expensive than 100% of your own development and support. Plus, you’ve already paid for the capability (and continue to pay support) so you certainly don’t want to pay twice! The question to ask in regard to Rule #1: Why doesn’t the standard capability work for my company? 99 times out of 100, there is just one specific situation where you need something a little bit different.

Rule #2: Extend – never change. Never modify standard application code or data structures. I have always told my teams: “Tell me the 25 other ways you’ve considered before saying you have to modify standard application code”. Almost every software manufacturer provides a method to extend the functional capabilities of their package. You may need to do some unique calculation or capture some additional data. Use the hooks provided to interrupt the flow of the process, do what you need to do, then come right back in where you left off in the application flow. This is what allows you to continue to upgrade as new versions of the software are released. In my career (many, many moons), there have only been two times when a standard code change was required. And believe me – everyone who ever worked with that section of the application knew about it and how to deal with it, talk about documentation!

Rule #3: Data drives flexibility and scalability. Every software application is configured to distinguish Company A from Company B. The data values that drive the function you are automating is what makes your company yours and allows you to extend the functionality to meet the unique needs of your organization. For example, imagine you are a company that provides financing directly to some of your best customers. Only 1% of the time is this option selected. By creating a unique value, “Financed” associated to the quote and order, you can create a hook when that value appears to capture additional data and determine differentiated pricing, for instance. You don’t change the way quotes and orders are entered or processed, you just add to it and perhaps do some overrides. If you decide later you’re not going to do that anymore or do it in a different way, then inactivate the “Financed” value or add a new value to drive behavior differently. You’ve handled the 1% and left the 99% as business as usual: vanilla.

If you follow these three rules you use what is there and have not modified the code or data structures as provided by the software manufacturer; you have a vanilla implementation. You added your 20% of uniqueness in a way that maintains the integrity of the supplied software. The ease of doing this varies based on the tools associated with the specific software application; some suppliers force the behavior, with others you have to be more diligent.

Of course, there is a bit more to it than that. How you implement in a vanilla fashion is one thing, the bigger measure of the “vanilla-ness” of your implementation is what you choose to put into the 20%. As I described in the rules, this is a question of uniqueness and value; unless there is something to differentiate you from your competitors, why spend the money? How do you know what is truly unique and differentiating about your company; where is the balance point for simple as described by Einstein? Software can do anything you can imagine but you probably can’t afford for it to do everything.  I always like to say “Just because you can, doesn’t mean you should”.

Start by understanding the best practices for the function and in your industry (the 80%) and then state specifically (in writing) what is really special about your company in these areas (the 20%). Be aware if anyone says, “We’ve always done this, we have to have it!” For every unique factor, describe how this differentiates you from your competitors and what benefits are derived. Don’t forget about reporting; you will look at your data differently from others and you may need to feed your business intelligence applications for a more holistic look. Based on this, have a rating and ranking exercise performed by the program sponsors and executive leadership. This sets you up to find the balance point of simple for your implementation.

Vanilla now becomes a budget decision. Figure costs for environments, configuration, testing and change management, that’s your baseline. Determine rough estimates for the ranked list (only go as far as you think necessary). From there you can determine the cut line based on the budget for the program (or adjust your budget accordingly). Voila, vanilla!

There are three simple rules to follow for a vanilla implementation: never replace, never change and drive with data. The harder part is the choice of where to differentiate your implementation and your company. Vanilla is permission to play; the balance of simple is winning.

© Ellen Terwilliger 2012