Diagnosing System Problems

By: Tim Bryce
Submitted: 2007-01-17 15:51:32
Print this article | Tell a friend | For publisher | Social Bookmarking
Rating:
 

"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. He is available for training and consulting on an international basis. His corporate web page is at: http://www.phmainstreet.com/mba/

He can be contacted at: timb001@phmainstreet.com

Copyright © 2006 MBA. All rights reserved.

Article source: Expert Articles

Most Recent Articles in Personal Tech category

  • 10 Reasons Why Your Business Needs A Server - By: Joel Ray
    Any reliable computer technician will tell you that backing up data stored on individual computers is not only impractical, it's unreliable. Storing all your data on a server and then backing up all of the data on that server is more likely to work properly without interruption and it is also easier to manage.
  • Setting Up a Service Level Agreement - By: Rob Seolas
    You can scarcely work with an IT company anymore without hearing the term SLA. Service Level Agreements are prevalent in most companies and help to define a contract between 2 parties. Whether general or specific, the agreement will help provide specific guidelines you can rely on through your working relationship.
  • Have You Look Into Online Computer Classes? - By: Arvinder Jeet
    We are getting to the age in our history where you need to learn and know how to use some kind of electronics or you are going to be without a job. The day that we are living in today is getting to be more and more about electronics.
  • Computer Support - By: James Larry
    With online computer support services at your side, you can easily say goodbye to expensive technicians who charge per incident or per hour. People who have experienced these services found them extremely helpful to troubleshoot software problems.
  • Advantages of Registery Fix - By: Rimmy Gill
    The need to fix a corrupt registry is something which any personal computer owner may face at any time. Perhaps in order to address whether it is important to fix a corrupt registry or not, let us first define the Windows registry. The Windows registry is a database of information about the configuration of a computer, including software, hardware as well as files and other preferences that you have set on your computer. When faced with a corrupt Windows Registry, many people wonder what causes this problem.
  • iYogi - Online Computer Repair Services - By: Addie Swadie
    Online computer support is offered through the Internet. The technician will connect to your PC through a remote desktop connection and will fix your computer errors right away while you watch. The process can be availed from any part of the world with just the Internet being the top priority.
  • Technical Net Jargon - By: Sandra Prior
    Bots crawl along the backbone, swinging from server to server and round a few routers. If this makes no sense at all, you need to get acquainted with some technical Net terms.
  • What is Netiquette? - By: Sandra Prior
    Netiquette is an attempt to foist table manners on the Net user who might care - a sort of book of right and proper manners for all young and fair societies. Or generally, a set of guidelines Net users should follow to be good Net citizens.
  • Online Technical Support - By: Andrew Lehren
    Computer support experts are gaining in popularity because of their ability to solve the problem effectively over Internet without having you to leave your premises. They are not the amateurs but certified technicians who resolve your PC issue right in front of your eyes as if it's some magic.
  • 10 Tips on How to Get Best Customer Service Support for your Dell Laptop and Printer - By: James Kara Murat
    Dell is one of the leading companies that sell some of the best computer products like laptops, printers, desktops and other PC accessories to suit the varying needs of different customers across the globe.