jump to navigation

ERP – Who to Choose 12/30/2012

Posted by TBoehm30 in ERP.
Tags: , , , , , ,
2 comments

I’ve often been asked “Did we choose the right system?”  Usually it is right after we experience a serious bug, or something goes wrong causing a project delay.  Would another system have prevented this particular issue?

The answer is always ‘Yes’.  We did pick the right software, despite the current problems.  And ‘Yes’ another system would probably have allowed us to avoid this problem, but would have caused others.  As long as we followed our plan, identified our priorities and compared correctly, we know we chose as best we could.

So what was the plan?  What do you need to plan in order to choose a new software system?

Requirements

The single most import aspect of choosing your new software is the list of requirements.  You need to understand what you need to succeed, and a list of benchmarks so that you know when you get there.  Everyone in the company should have the opportunity to help prioritize the requirements.  This is the chance to visualize the company running at peak operational efficiency and growing as fast as possible.  The new software needs to be able to accomplish all of the current requirements plus future needs.

You need to think about your requirements from a perspective of the future.  Will it be scalable enough?  Does it have the modules to cover functionality that you don’t need now, but could find a use for when there is time to experiment?  What other tools will you need to go along side your new software?  How much data does it need to accept and how?  What other systems will you connect it to?

I make a long list of requirements, and then prioritize them from most important to least important.  Then I like to make a single sheet listing the top requirements with room for evaluation and notes.  These note pages can be used as a scoring sheet for objective comparisons between systems.

Support

You will need a lot of support during the years of using this software.  Make absolutely certain that the company you choose will have smart people who can guide you when you have problems.  You might have to call other companies already using the system to get a good idea of how their support program works.

Some companies charge extra for support, and some have fixed contracts that automatically include support.  You will need to know the structure of support before going into negotiations to buy your new software.

Implementation

Working with another company to implement new software is not an easy project.  You must be ready to accept them as partners.  They should have lots of experience working with companies in your industry and of your size.  They should be ready to explain the process, their expectations, how long it should take and how many people need to be involved.   You need to get a feel for the difficulty of an implementation, and how much work your team will do compared to how much work will be done by outsiders.  Training will take up a large amount of implementation and could be done in different ways; how much time will this one take? 

When getting trained, you will have to make choices on the basic setup of the system and how much to change the out-of-the-box configurations.  Most large software allows you to process similar functions differently depending on requirements; you must have an idea of how many different choices there are to be able to compare the different choices of software.

Loading Legacy Data

Your system will begin either fresh with no data, or have old data loaded into it.  You will need to get some idea of the difficulty of loading data into the system.  Some data may be easily added using standard formats like Excel; and some may require more effort.  You may have to load data compiled from different systems; it will have to be mapped to the new system.  How much help will you get?  How much experience do they have mapping data from your old system?  How successful have other companies been with loading data?

Setup

Obviously your new software will need to run on a computer.  Whether that computer is located in your own office, at a server farm, hosted by a third party, or transparent to you in a SaaS environment is totally up to you.  Make sure that your needs are covered by the company producing your new software.  It would be a regrettable decision to buy software that couldn’t be run as a service and then ask them to setup SaaS.

Interfacing with Other Systems

Any software your run should not be run in a vacuum.  It will need to create send data to people and systems, as well as receive data from people and systems.  You may want automatic interfaces setup to continuously communicate with existing systems.   This should all be possible on any new software that you choose to buy.

One of the main reasons I left my first job was that the software I used couldn’t communicate with anything.  Even creating a report was difficult.  I knew that software like that was doomed to obscurity and I needed to get out before I was left in the dust.

Make the Choice

Using your prioritized criteria, you should be able to make a good decision of which software to purchase.  Don’t look back for regrets; you made your decision the best way you could.  There will be problems that you will be able to solve, don’t let that destroy all of the hard work you put into making the right decision.

Have you been through the decision process?  Did it work for you?  Do you like the new software?  What would you have done differently?  Let me know in the comments.

Be happy with your new software.  You now understand that it’s a global world and Technology makes it happen.

How close is your software vendor? 10/12/2011

Posted by TBoehm30 in Software.
Tags: , , , , , ,
1 comment so far

 

The other day I had a software problem.  My client had come to me with an issue and I had to come up with a solution.  I have been working with them for a while so I know their software pretty well.  I can usually figure out their problems and either solve them or come up with a workaround.  At the very least I can use their testing environment to document all the steps to recreate the problem as well as the steps taken to try to solve it.

My client has a valid contract with the software vendor and has full access to their help desk.  I am sure you have dealt with many ‘help’ desks and are completely familiar with what that means.  Some of them are very good and some of them are worse than a hot day in the desert.  I have to admit that this one is actually pretty good.

The trick is in the communication.  The people who I work with can’t always communicate their problems in such a way that the help desk can solve them.  They also have trouble understanding the responses.  Sometimes the tech-speak is just too complicated.  That’s where I come in.  I can help translate for both sides to get the problem solved.

Today, I found what I thought was a bug in the software.  The company that created this software is very sensitive about criticism of their programs.  I didn’t want to go to the help desk with this one until I had verified functionality with one of their senior consultants.  Since I am on good terms with several of them, my options were open.

The project manager for our implementation likes for me to go through him before talking to the consultants.  I shot him an email with my problem.  Within a few hours he had confirmed my problem, sent it off to tech support, and came back with a solution.  It wasn’t really a bug, but a setup problem.

I have dealt with many software companies throughout my career.  I have talked to people who were really good at their job, but the company was terrible; and I have talked to people who couldn’t help a cat out of a bag, even when their company was great.  A response within a few hours with a solution, going around the help desk, is above average support.  I would recommend that any day of the week.

When you are looking for software it is important to determine what kind of relationships they develop with their clients.  Sure, you will get references and talk to them about the pros and cons about the software; but you also need to find out about their responsiveness.  You need to find out about their personnel.  Do they stay in touch with their clients?  Do they come back to find out if there are any lingering issues?

Before you make a decision on your software, find out who your main contact will be.  Try to meet with him or her at a time and place where you have plenty of time for questions.  This person needs to be someone with whom you can trust and build a relationship.  They need to listen; you need to feel like they are listening to you and not thinking about what they will say next.  They need to be flexible.  Throw them a hypothetical curve ball; how do they react?

If this person doesn’t meet your criteria, don’t abandon the software vendor entirely, just ask for someone else.  Most companies would be happy to switch personnel if it means a chance for a sale.  Make sure you still have time to repeat the process with someone new.

My criteria is for someone who understands that it’s a global world out there and Technology makes it happen.

What is a bug? 04/02/2010

Posted by TBoehm30 in Software.
Tags: , , , ,
4 comments

What is a bug? Of course, I am talking about a software bug, and not the 6 legged variety. To me a bug is any quirk of the program that I find should and could be done better. That puts the entire definition in my hands. I am the one that gets to define what is and isn’t a bug. As the user, I get a say in how I think the program should work.

I don’t always get my way. Recently, I got into an argument over some software that wasn’t performing according to my needs. The problem was minor, the workaround was easy, and the reason for its existence was obvious. That doesn’t change the fact that this was a bug (see the definition above). The software vendor took offense at my criticism and explained that it was not a bug and that the underlying code is, in fact, written correctly.

Wikipedia defines a bug as:

A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways.

By this definition I have to admit that he was right. Their system was designed by the software company to meet their requirements. Since he insists that the result meets their requirements, then there is no error, flaw, mistake, failure or fault.

So who is right?
This argument goes on all the time. Users often incorrectly think that something is a bug in all kinds of situations:
It is their own fault (PEBKAC).
They haven’t read the manual and therefore don’t understand the software.
They want the software to run better, and suggest an improvement.
They need new functionality in addition to what they’ve got.
They don’t like the output of the system, but they don’t have a way to change it.
The system isn’t as intuitive as it could or should be.
(Yes, some of these overlap; No it is not a complete list. Feel free to add to it in the comments; I’ll add them later if they are good enough.)

The software vendor can reply to almost any “bug” report that it fits into one of the above categories. Unless the bug is something obvious like “the computer crashes when I enter a 10 digit number in the text box prompting me for a phone number”; the vendor can come back to deny that it is a bug.

If the vendor actually does call something a “bug”, then they will be forced to fix it. If they can deny that is a bug then the cost of a fix can be avoided or at least delayed. Vendors have several choices in arguing against calling something a “bug”. They can say that it is not reproducible, so it must have been the computer. They need more information because they can’t reproduce in on their own systems.

My favorite is the SWAD excuse – System Works As Designed. This means that what I am seeing, not liking, and getting frustrated with, is not actually a bug. It means that the software programmers deliberately set out to annoy me. It means that they don’t really care that a simple peon like me has an opinion about their gigantic company. They don’t believe that I could have an inkling of an idea about how hard it is to write enterprise software; how difficult it is to please everybody.

The problem is that I do have a technical background. I do have an idea how hard it is to write large software programs. I do know the difference between a bug, a design flaw, a feature request, and a user problem. I’ve been on both sides of this argument. I’ve been the one who explained that the system works as designed because I designed it. I’ve been the one that denied the bug until it was reproduced in front of my face. I’ve tested software to report bugs. I’ve also used plenty of good and bad software.

If a user was asking for their accounting software to automatically search the internet for recipes, that would be a new feature. It is completely understandable for software vendors to reject those ideas as being too big a project to take on, and too costly an investment.

However, if the software allows the user to re-order the dropdown lists in the system, but ignores the text for some of those lists, that is a bug. Why is it up to the user to know that he shouldn’t use the re-ordering functionality on some lists? The software should either prevent the user from making the change, or allow the change and evaluate the choice in the dropdown correctly and dynamically. The latter suggestion would be my preference. It would make the software more intuitive, easier to customize, and better for everyone.

Reading this, you might get the impression that I recently found a bug in some software, but was rejected by the vendor. I like my software to be usable, intuitive, consistent, and complete. Most of the time software we use works well. Sometimes we have issues with it; and sometimes we report our issues.

All I really want is to be acknowledged. I want the vendor to either explain to me how I can accomplish what I am trying to do with a workaround, or agree to put this bug on a list that will eventually be fixed. I have no illusion that my little problem will ever be important enough to be completed. I don’t expect immediate results. All I want is for the people I am working with to recognize that a bug is defined by the user, and work to resolve the issue, not ignore it. How about you?

Software Selection Methodology 02/16/2009

Posted by TBoehm30 in Software.
Tags: , , ,
3 comments

Your company has grown; it is finally time to update the old software. You know they need something that is state of the art, but which one is best? Which one will meet their requirements? What are their requirements? Which one has the most likely chance for success? How will they even define success?

At this point management needs to take stock of the personnel available to them, along with their skills and availability. Since most companies are pretty lean in this tight economy, there is probably little availability among employees. Everyone is working full out just to keep up with their day-to-day responsibilities. No one has time for a huge new project; or that’s what they think.

This is one of the best reasons to bring in an outside consultant. You have a specific project, with a start and an end point. The success of this type of project is easily defined – the best software is chosen, negotiated, bought, and possibly implemented.

The company needs a process to follow. A consultant who has done this before will have a defined methodology. That is where their value comes from. The consultant will be able to help organize the company, create a group of people who can make the right decisions. The consultant will have the time to make sure that all issues are discussed, analyzed, and documented so that intelligent decisions are made. He/She will be able to work with the company to ensure that the software decision is made based on the right criteria and not just made by some high-level manager whose cousin sells software.

A good outside consultant would be one who doesn’t partner with any of the software vendors. A good choice in a consultant for this type of project is one who could possibly help with implementation, but doesn’t specialize in specific software implementation. Some consulting companies will try to drive a company to pick a certain software so that they can share in the profits of the sale, or to guarantee that they can help with implementation. The consultant needed for the software selection process should not be biased toward any software solution, software, or company. They need to be open to any possibility so that the best solution for the company is found.

The methodology that the consultant brings is what is important. They should have a process that has been used before, and can be easily followed. There are plenty of web sites that describe methodologies for a software selection project. Just enter “Software Selection Methodology” into your favorite search engine web site to find different suggestions on how to proceed. You’ll also find plenty of consulting companies who specialize in the kind of search your company needs. I would go with a consultant or company with whom I already had a relationship. Choosing an unknown company has its own risks and opens you up to more selling from the consultants.

The first thing I do as the outside consultant is to organize a committee who will make the decisions. All the leaders from any department affected should be represented on the committee. This group should meet as often as necessary to get the project done. Then, following our process, we create an RFP, send it out to vendors and choose our top 4 or 5 companies for a short demo. Each company gets a 2 hour meeting to put their best step forward.

Reference checking is very important at this point. You need to talk to existing customers to verify that what the vendor is saying is accurate. Salesmen, by nature, will only show you what works, and what looks best. It is my job to get underneath that and show my client what the true picture of the software and vendor. We are not just selecting software or a vendor, but a partner who needs to be interested in the success of their new customer.

From there we can choose 2 companies for a full presentation of 2 days each. I create a very specific script for these demos so that the company can do very little selling, and a lot more presenting. We send the vendor some sample data so that the demonstration will have meaning. We can look at actual functionality of the software and how it will handle our specific issues.

The final step – before making a selection – is to do a customer visit. Some people may want to skip this step, but it is more important than it sounds. Again, all you have really seen is what you have been given by salesmen. You have an obligation to validate your opinions. You can also find out how the vendor responds to requests for support, recommendations for changes, etc. With a little creative questioning, you can find out hints for implementation and creating ways to use the new software.

You can now make a very informed decision on what software your company needs. The job isn’t over, though. A good consulting company can help with the contracts and price negotiation. With a big enough deal, that could pay for the help right there.

So, go out and do your research, create a process, get that consultant, and upgrade or replace your software. Remember it’s a global world out there and technology makes it happen.