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


How To Increase Computer Speed And Performance - Great Tips & Tricks
Many computer users are worried about their computer's performance. After spending lot of bucks, still they cannot have that charm of using PC as they had expected.
Why Build Your Own Gaming Computer?
The best way to get the gaming computer that you want, that will provide optimum performance is to build your own computer. If you think you do not have the technical knowledge or are not capable of building a computer you are wrong.
Learning To Navigate Ciscos Online Documentation
When studying for your Cisco CCNA, CCNP, or CCIE exam, you've got a powerful online weapon at your disposal. It's Cisco Connection Documentation, found at www.
This Page Cannot Be Displayed - What to Do When Your Internet Breaks
The DNS (Domain Name System) servers are what your computer uses to figure out where to go on the internet. www.
The Ipod Mini: Why Its Not that Hot
I got my eyes set on a iPod mini, as it looked good for quite some reasons: it's small enough to put inside a pant's pocket, it has a lot of accessories to choose from and it obviously has enough hype you begin to wonder what all the fuss is about.But you really have to see the cons of it and cut all the hype.
How to Set Up Simple File Sharing WinXP
The first step is: Start > My DocumentsSo you have the My documents folder open.Second click the tools button, than select folder options.
PC Tools Youd Never Think You Need
Do you use Windows standard uninstall feature? How do you migrate data from your old PC to the new one? Get some tips on amazing software you never knew existed and find out why the pros have been using them for years.Ashampoo UnInstaller SuiteThe question is, why should this be necessary at all? Why do you need a special program? Why can't you just delete an application in the same way you can delete a file? The full answer to this question could fill a book.
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.
Keeping the Windows Registry Operational
The registry is where the computer stores information about the configuration of the system and the programs installed so that the operating system can use them.Regularly maintaining the registry is a basic requirement.
Portable Technology: Getting to Know the Treo
Up until the recent past, those who wanted to take advantage of a mobile phone, data organizer, wireless e-mail with text messaging, web browsing and a digital camera had to have separate units for each. With today's technology comes the Treo - offering all of those features in one small hand-held unit.
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.
Digital Cameras: Hot Gear with the Coolest Features!
Cameras: still known for taking pictures but assumed as digital still today.We have to understand cameras are just as important today as they have always been to us.
Toshiba Wins Hollywood Support for the HD DVD format
What led them to this choice, as all four studios stated separately, is better performance for the price and copyright protection.The other standard in competition, the Blu-ray disc, unconditionally backed by Sony Pictures Entertainment, is also counting on support from Metro Goldwyn Mayer and Twentieth Century Fox (the latter has recently joined the Blu-Ray Disc Association Board).
Does Microsoft Show Hackers How To Attack?
After another security hole recently surfaced in Microsoft's Windows operating system, the software giant released a patch this past Friday to plug the possibly devastating "back door" which allows hackers to potentially seize control of any pc running Windows.The latest threat, "Download.
Consumer Electronic Information: The Basics of the DLP Projector
Projectors have come a long way in the past few decades. The desktop fossils that were once used to show home moviesor classroom filmstrips are a thing of the past.
Bios Term
BIOS - Basic Input Output SystemThe central processing unit of a computer needs to communicate with the many hardware devices installed in your computer.The BIOS of a computer contains a piece of software that enables the CPU to communicate with the many devices a computer has installed.
What are the Main Components of Any Computer, and Which are the Most Critical to Its Performance?
Computers are everywhere, and vary in specification, brands, sizes,shaped, and prices. However, there is one common characteristic amongall computer systems.
Palm PC critique
I met an entrepreneur who hole heartedly disagree with an article in Advertising Age by Bradley Johnson that Palm Pilot can keep their market share through brand name. We discussed RIMM Research in Motion and my stock in that company and I defended the wireless venue, but he went into a tirade, luckily I used a digital recorder and got most of it; basically here is his critique:"That grip has already eroded by Palm PC makers and clones.
Favorite Things To Do With Home Technology
Save money. Save 10-15% on utility bills per month.
Top 9 Ways To Speed Up Your Surfing & Computing
It seems like fast never quite rates fast enough.No matter how quickly something moves, especially on theInternet, it could always move faster.