For some years I have been advocating the use of a laboratory environment in any significant business information system project.
The goal of a laboratory or simulation centre is to accurately model the real world and ensure that systems are comprehensively tested before going live and that staff are comprehensively trained before going live.
This article provides an overview of the major factors that should be considered in operating a business systems laboratory.
An engineering laboratory is a place in which the real world is accurately simulated.
A laboratory does not necessarily look anything like the real world but it simulates the real world.
Thus a business systems laboratory is a room with some computers in it on which the business systems in question are operating.
Where a warehouse or other physical element of the business is involved there may be a section of the warehouse set aside to operate as a laboratory element for that part of the business.
It is important that the laboratory is executed precisely. A hacked, hastily assembled and executed laboratory will achieve nothing of lasting value and may destroy value by creating a false sense of security.
Data must be entered precisely as it will be entered in the real world, the operators who will use the software in practice must use it in the laboratory. These operators should be the most experienced people in their respective fields.
Where particular workflows are mandated these must be followed exactly and, if this presents problems, the reason for these problems must be understood and, if necessary, the workflow adjusted.
Where policies and standards apply they must be applied rigorously and where this presents problems the reason for these problems must be understood and, if necessary, the policies and standards must be adjusted.
In the same way, the software configuration must be precisely the configuration that is proposed for final operation and, if problems are experienced, the configuration must be adjusted.
Eventually the configuration should be copied from the laboratory environment to the live environment.
The final goal of a laboratory or simulation centre is to ensure that when the system or systems go-live there are no surprises and staff are properly trained on the system.
Once the full system is operational in the laboratory it is possible to run "war game" type scenario tests. Set the laboratory up with a full range of preparation and then run a simulation in which people phone orders in, orders are despatched, stock outs occur, replenishment occurs, invoices are issued, payments are received, outstanding accounts are followed up, etc.
These may take place as separate roll-plays a business section at a time but it is important that before go-live the system has been tested in a manner that accurately simulates real world operation from end to end.
2. Carefully selected fully representative data and situational variants
In preparing and operating the laboratory it is vital to ensure that the data used is fully representative of all possible scenarios.
The goal is NOT to have large volumes of data, on the contrary there should be as little data as necessary to ensure full representation.
Select a few transactions of each type and variant, complex transactions and simple transactions, straightforward transactions and transactions with changes and variations, every type of transaction, including those that occur only under extreme circumstances, certain times of the year, certain volumes of activity, etc.
Data must be selected so that in each case the full range of activities can be traced through the system.
The full range of customers, cash and account, prompt payments and delayed payments with numerous delays and excuses.
The full range of suppliers.
The full range of products.
Etc, etc – not a lot of any particular item, just enough to make sure that the system works under any and all operating conditions and that transactions can be traced all the way through the flow including ensuring that all General Ledger transactions are generated and audited.
The total data of the entire enterprise can be metaphorically thought of as a huge lump of material into which a large number of fine "boreholes" are drilled from numerous different directions until eventually the entire ore body of information is effectively understood and simulated.
This is the approach used to establish the economic viability and mining geometry of an ore body before developing a mine.
It must be possible before go-live to bring in the client's auditors and establish beyond reasonable doubt that the system is working effectively and reliably and that operators know how to use the system correctly.
3. Carefully planned and executed
All aspects of the laboratory must be carefully thought through in order to ensure that all scenarios are catered for, planning sessions, brainstorming and other activities will be required in order to ensure that all aspects of business operations are effectively simulated.
A laboratory team with representatives from all major areas of the business should be set up in order to do this planning and oversee the execution of the plan.
4. Iterative
The laboratory will NOT run smoothly the first time it is run.
Initially operation will be ad-hoc, specific elements of the business will be simulated and once there is some real data there the next element of the business will be simulated.
It is vital that backups are taken regularly so that when a particular status is achieved it can be backed up and reused so that staff are not constantly capturing base data again and again.
This also requires careful planning, management and coordination.
The configuration of the final systems, which is the configuration that is being progressively developed in the laboratory, will require iterations.
It is the nature of iterative work that well planned iterations tend to be completed on time and on budget and badly planned iterations go on indefinitely with severe budget and time overruns.
Careful planning and careful management every step of the way are essential to achieving a cost effective and results effective laboratory and simulation programme.
5. Hands-on configuration in parallel with documentation – show the business how it works in practice
Each step of the way, as the software is configured it should be configured in the laboratory.
It is a reality that very few human beings have the cognitive ability to engage with a document and translate it into actionable computer system operations.
This leads to the phenomenon of business people agreeing to specification documents and then seemingly totally changing the specification once the software is shown to them in actionable and usable form.
Accordingly, as each step of the business analysis component of the project is undertaken this should be translated into software configuration settings which should then be implemented in the software and tested in the laboratory.
Time spent setting up the configuration in the laboratory and running through it with users will generally be much more productive than lengthy documentation sessions.
Where documents are prepared they should focus on presenting the findings and design proposals in ways that business people can relate to, understand and apply.
Where screens have to be designed or laid out they should be prototyped in Excel or other easy to edit presentation tool and NOT prototyped in software that requires time consuming behind-the-scenes configuration.
Note that the word prototype is associated with the meticulous hand crafted assembly of the first generation of a complex machine or system before the design is finalized and converted into mass production specifications.
The prototype must be carefully thought through, designed and executed.
6. Runs throughout the project
The laboratory should be established at the very start of the project and should run through well after go-live until the system is bedded down and is in full operation.
In fact a case can be made to retain the laboratory as a training environment on a permanent basis.
7. Elements of the laboratory
A laboratory should address the following components:
Fully representative data set but small quantities of data
All aspects of configuration
Taxonomies piloted and refined
Simulate standards, policies, protocols, processes, etc -- refine, document and train
Develop and test reports
Embryo of inputs to data warehouse and business intelligence environment
Formal audit of all aspects of the configuration
Full simulation of business operations
Hands-on practical training with real data in simulation setting until all users are familiar with the software
Inputs to development of Computer Based Training material where applicable
Formal confirmation that all testing in the laboratory is complete and that all aspects of the configuration are operating effectively
8. Fully tested and fully trained before go-live – no surprises
All staff who will use the new system must be fully trained in the laboratory environment until they reach a point where the new system can go-live with a reasonable expectation that there will be no major surprises.
The laboratory ultimately delivers two major outcomes:
High level of certainty in the reliability of the configuration and that it will work in practice – the final laboratory configuration is duplicated in the live system.
High level of business user preparation, familiarization and training, when the system goes live it works as expected and they have seen it and worked on it before.
Conclusion
This provides an overview of the major components of a business systems laboratory which is an essential element of any business systems project.