Diagnosing System Problems


By Tim Bryce


"Without a road map, you might be driving in circles."
- Bryce's Law

INTRODUCTION

Okay, you've run your program debugger repetitively and everything checks out fine. But for some unknown reason, the whole system is inoperable. Both the software and data base design looks fine, but you are going stark-raving mad trying to locate the problem. Have you considered that it might not be a flaw in the design of the software or data base at all? That perhaps the problem resides in the overall system architecture, or possibly its just you?

In many cases, diagnosing a problem is more painful than correcting it. Whereas I have reviewed basic testing principles in the past, here, I want to discuss some tips for diagnosing problems.

THREE TIPS

1. Walk through the system and check the man/machine interfaces.

Years ago, we were contracted by a large manufacturing company in the northeast who was having trouble implementing their new shop-floor control system. The system was state-of-the-art in terms of programming and DBMS technology. But they simply couldn't get it to work no matter what they tried. Frustrated, the company hired us to see if we could find the problem. Instead of studying source code, as the development staff had done, we began by mapping the overall system architecture.

I've described the "PRIDE" Standard System Structure Concept on more than one occasion, but in a nutshell, a system can be drawn as a four-tiered hierarchy representing a product structure. Whereas a product structure consists of four levels representing products, assemblies, subassemblies, and operations, "PRIDE" likewise decomposes the system into:

LEVEL 1 - SYSTEM
LEVEL 2 - SUB-SYSTEM (Business Processes)
LEVEL 3 - PROCEDURES (Administrative and Computer)
LEVEL 4 - OPERATIONAL STEPS (for Administrative Procedures) and PROGRAMS (for Computer Procedures)

This universally applicable approach for defining the system architecture makes a convenient road map for walking through all aspects of the system and validating its integrity. Such hierarchy diagrams can either be produced from IRM Repositories or from some simple graphic tools. In our consulting assignment though, we simply sketched it out using paper and pencil. Basically, we walked through the system, sampled work and looked for man/machine interfaces. Inevitably, we came upon a sub-system whereby the computer displayed errors in the shop-floor requiring attention by the foreman. The foreman was to take the corrective action and respond to the computer. There was only one problem with this: nobody had told the foreman about any of this. We then wrote a simple Administrative Procedure for the foreman who took the necessary actions and the system operated correctly thereafter ("miraculously" as our client said).

This brings up an important point: systems will fail more for the lack of administrative procedures than for well programmed computer procedures. Although the manufacturing company had produced some rather elegant software, they had completely overlooked the man/machine interface. Again, the "PRIDE" Standard System Structure Concept had provided the necessary road map, but because the client didn't appreciate the need for such a top-down blueprinting technique, they had no idea where everything was.

2. Work backwards.

When diagnosing business processes, procedures and programs, there is a natural inclination to go from start to end in diagnosing a problem. Sometimes you can find a hiccup using this approach, other times you cannot. Instead, try working backwards from end to start, from output to input. Again, map the design using a flowchart or some other graphical technique. If processing involves considerable decisions, draw a decision tree or table. Such graphics are invaluable for validating design logic.

3. Have a second pair of eyes look over your work.

As we become imbued in the mechanics of a design, too often the obvious becomes less obvious to us. Here, another set of eyes can readily see a problem we have overlooked. This is particularly beneficial in shops operating in accordance with certain design standards. Uniform design practices makes it easier to spot anomalies than without such standards.

Where the second person comes from is also important. If the person comes from your work group and is familiar with your style of design, he/she may very well be able to spot a problem. Then again, maybe not. Perhaps the problem will be invisible to them as well. In this case, you might want to consult a neutral third person with a fresh perspective on the problem. This can either be a person from within the company or possibly an outside consultant.

CONCLUSION

Graphic aids, such as flowcharts and diagrams, are helpful for diagnosing a problem but also remember to challenge the graphic. Its not uncommon for graphics not to match what is happening in fact. A good IRM Repository is also invaluable for substantiating designs. The design is either properly recorded in the IRM Repository or it is not. Further, such a tool provides the means to study the relationship of information resources (aka "impact analysis") which may reveal unknown components affecting a design.

More importantly, the idea of maintaining a system architecture (as implemented by the "PRIDE" Standard System Structure Concept) provides the needed road map to find your way through a system regardless of its complexity. Many programmers view such charts as frivolous primarily because they are only concerned with their small piece of the puzzle and are unconcerned about the total picture. But for those of you who need to see the total picture, the system architecture is the logical first step for diagnosing problems.

Tim Bryce is the Managing Director of M. Bryce & Associates (MBA) of Palm Harbor, Florida, a management consulting firm specializing in Information Resource Management (IRM). Mr. Bryce has over 30 years of experience in the field.


More Resources

Unable to open RSS Feed $XMLfilename with error HTTP ERROR: 403, exiting

More Personal Technology Information:

Related Articles


Computer Performance Tips
IntroductionIn this article I will clearly spell out the most effective steps you can take in order to increase the performance of your computer and enhance your computing experience.More Memory (RAM)If your computer has less then 256 MB of memory you may want to consider adding more.
Be Your Own IT Department
If you use a computer, you need to know more than just how to use your email and surf the web. You need to know that you are protected.
5 Minute Guide to Video Editing for Beginners
Getting started with video editing is very simple you only need a few items and you can be producing quality movies at home that you will be able to enjoy for many years to come. Maybe even produce a hit Hollywood movie.
iPod users get the picture
iPod users start to get the picture and it's turning out to be colorful fun!!The latest generation of hi tech gadget users are watching the different media they use start to converge as Apple launches its latest grab for the market with iPod Photo. Not only can you listen to all your music on the go, or organize your business and social life, but now your entire photo collection can be viewed at hand too.
Flash Memory, Part I: MMC and SD
MMC and SDFlash memory is available in so many formats that it can be difficult to know what will work with any particular device. Devices such as MP3 players, PDAs, mobile phones, digital cameras, and personal computers can take advantage of flash memory to bolster their storage capacity, but selecting the right format may be easier said than done.
Cisco CCNA / CCNP Certification: OSPF ASBRs Explained And Illustrated
When I first started studying for my CCNP, some of the concepts of OSPF really confused me. This was especially true for the ASBR, stub areas, and total stub areas.
Selecting a Personal Digital Assistant
A Computer in Your HandCarrying around an address book and planner is becoming a thing of the past. With new PDA developments, you can manage your contacts and schedule, use e-mail, and even listen to music.
Cisco Certification: Building Your Own Home Lab, Part I
CCNAs and CCNA candidates hear it all the time: Get some hands-on experience. From my personal experience climbing the Cisco certification ladder, I can tell you firsthand that there is no learning like hands-on learning.
Your Computer Cant Keep Time
A computer needs a certain amount of information to operate; for example, the date and time, the amount of memory installed, the number of drives and their configuration, and so on. In the early days of computers, either the user typed in this information each time the computer started, or it was set using DIP switches and jumpers.
7 Reasons NOT to Take Your Laptop on Holiday!
Heading off on vacation soon?Then perhaps you're tempted to take your trusty laptop along for the trip.After all, you bought it for its mobility, and it's nice to stay in touch via email with your family and friends back home.
Your Home is in Your Hands
I would like to tell you about a magic home. You or your children have bought a home and fixed it up very nicely.
How Does a Palm Pilot Work?
Just The Facts, Ma'mPalm pilots are all the rage now. Everyone has a pda or wants to get one in the near future.
Deleting and Destroying Data Forever
Peoples' private information needs to stay private, even after it has been erased. Wait a minute, after it's been erased?Have you ever given away an old computer or diskette, deleting the files off it, or giving it a quick format to make sure your information is gone? That might not be enough to stop some one from easily recovering the information!When you delete a file, normally the operating system and file system say, "ok the file is gone!" but at the physical level the information is still there.
Bluetooth Headphones For Your PDA
Nothing is worse than having to negotiate all kinds of cables with your many electronic devices. This is why bluetooth technology is so fantastic.
The Benefits of the New Firefox Browser
You probably heard of the new Firefox browser version 1.0 recently released by Mozilla.
Got Virus?
GOT VIRUS? Your Data is NOT lost forever!In the wake of so many computer viruses running wild, "Hope is not lost"!With the recent release of such viruses as: mydoom; netsky; mofei, lovegate and many more destructive viruses, there is an affordable solution to recover your lost files from your hard drive.Selecting a Data Recovery Service Company can be a challenging and confusing undertaking to say the least.
Classification of Computers
Computers are available in different shapes, sizes and weights, due to these different shapes and sizes they perform different sorts of jobs from one another.They can also be classified in different ways.
Help, I Need a New HDTV! (Part 3 of 5)
Feeling overwhelmed in selecting a new TV? With all the choices these days, you may feel like, "Where do I start?!"In part 3 of our 5 part article, we the discuss what HDTV is.HDTV stands for High Definition TV.
5 Simple Ways To Increase Your Computer Speed & Help Your Computer Run More Efficiently!
If you're a computer expert, you'll probably already know about these tips (hopefully this will provide you with a little reminder). If you're not an expert, don't worry - these tips are simple, and don't require a lot of computer experience.
Computer Consulting 101 PC Troubleshooting Advice
While most small businesses really do need to find a good local computer consulting business to take care of their computer problems, there are some computer problems that are simple enough for even a technophobe to handle. At Computer Consulting 101, we've found there's one very simple piece of advice that often doesn't get communicated to non-technical small business end users: When in doubt, reboot first.