BellHawk Implementation Process
Introduction
BellHawk Systems provides real-time operations tracking and management systems for manufacturers, food and pharmaceutical processors, and other industrial organizations. BellHawk is intended for use by those mid-sized organizations who need a solution that is tailored to their specific needs but do not want to invest in a totally custom solution. These are typically organizations for whom standard “industry vertical” software products are not available, or where these do not meet their needs at an affordable cost, or where the industry vertical solution contains an ERP system and the organization does not want to replace its ERP or accounting system.
In this document we describe how we use (what are formally called) “agile” methods to rapidly and cost effectively implement solutions that include real-time data collection, automated data exchange with other systems, and custom reporting.
Our methods start with the use of our BellHawk automated data collection software and our Bell-Connector automated data exchange software which, between them, typically provide over 90% of the needed code working “out-of-the-box”. We then incrementally customize this code to meet the specific business needs of each client, using the processes described below.
The big benefit of the BellHawk software is that it is designed to be easily customized to meet the needs of each client, using an agile methodology. As a result, for those organizations needing a customized solution, using BellHawk is typically much less expensive than trying to customize a “standard” product such as an ERP system.
BellHawk Implementation Process Agile Methodology
The formal “agile” software development methodology starts with a prototype that closely matches the client’s needs. Users then test this prototype and incrementally request that it be changed to meet their specific requirements. These changes are made and tested in a rapid cycle until the system meets the needs of the end users. The system is then deployed.
This is in contrast to the older “waterfall” method which requires writing a formal specification for the whole system before coding starts. The system is then coded or modified and tested to meet the specification before deployment.
While the waterfall method works well for highly structured, well defined, applications, such as those needed for accounting and finance, it has a major flaw when applied to operations
management systems. This is because it is very difficult for anyone to write a detailed specification for these systems because of the complexity of most industrial operations.
Operations tracking software specifications can run to thousands of pages, take months or years to write, and by the time they have been written and reviewed, are typically obsolete, as
The agile method avoids this problem by eliminating the need for a specification. Users start with immediately testing a prototype, which in our case is the BellHawk data collection software. Users then incrementally specify changes they need to be made to meet their requirements. These changes are then rapidly incorporated into the system and the modify-test cycle continues until the system meets the needs of the end users.
The big benefit is that systems get deployed quickly and can be rapidly evolved as user needs change. This is why agile methods were used to develop major products such as FaceBook and Google. The cost is also significantly less as far fewer people are required with far less meetings and paperwork
Data Collection Implementation Process
1. The BellHawk software is installed at the client site or at a remote data center and made ready for use. At this stage the system is run stand-alone.
2. One of each needed piece of data collection equipment is installed at a client’s site in a “training room pilot” installation.
3. The client’s project team sets up a test knowledge-base in the BellHawk tracking database. In doing this they may import test data in the form of Excel spreadsheets from other systems. 4. The client’s project team then uses the software to collect operations tracking data and to
perform barcode labeling in simulated operational scenarios.
5. The client’s project team incrementally documents where the system does not meet their needs.
6. BellHawk team then determines how to modify the system to meet the client’s data collection requirements and estimates the cost of the modification.
7. The client’s team then decides whether the cost of each requested modification is worthwhile from a business point of view and, if it is gives the go ahead.
8. The BellHawk team then rapidly makes changes to the software and installs an updated version. The process then loops back to step 4.
9. When there are no more changes to be made, the system can be deployed in production. Initial Deployment
The deployment of the data collection system may be done incrementally in three phases, which are often the following (but not necessarily in this order):
a. Receiving and put-away b. Production
Typically these deployment phases are tied in with incremental testing, as described in the prior section, such that thorough testing of the first deployment phase is completed followed by its deployment before thorough testing is started on the second phase.
During initial deployment, the BellHawk system is typically not integrated with other systems, as this gives the greatest flexibility to rapidly make any needed changes. This does require duplicate data entry, which may be facilitated by the use of Excel spreadsheets to exchange data with other systems.
Initially, when deployed, the BellHawk system may be run in parallel with existing data collection methods, such as the use of paper forms, until the BellHawk data collection is demonstrated to be working correctly in production.
Automated Data Exchange
Automated data exchange is typically implemented shortly after the initial deployment of the first data collection phase. Just like data collection, this is best done incrementally, getting the transfer of a small set of data objects working at a time.
The implementation process typically proceeds as follows:
1. The Bell-Connector software is installed at the client’s site.
2. Based on the data already being exchanged manually (typically using duplicate data entry) an automated data transfer is defined.
3. The time and cost of implementing the requested transfer is determined and the appropriate data transfer object (DTO) is defined.
4. If the cost is approved, the DTO is implemented, either by BellHawk Systems or one of its partners or by the client’s own software developers or IT staff. Please note that sometimes it does not make sense to implement an automated data transfer for data objects, such as units of measure, that are rarely changed.
5. The data transfer is tested using test copies of live databases and any needed changes made.
6. The transfers are released for operational use.
7. The process then cycles round to the next group of data objects to be transferred and continues until all data objects are successfully being transferred.
Note that this process is best done incrementally, with the transfer of small sets of data objects implemented and tested at a time. In an overall system there may be dozens of data objects to be transferred. Trying to implement them all at the same time can be a daunting undertaking but doing this incrementally is very straight forward.
Where possible, we start with an existing interface between the systems and then customize this to meet the specific needs of clients. It is important to recognize, however, that there is no such thing as a standard interface. The data exchanged, when and under what circumstances it is exchanged, and how it is translated is very dependent on each client’s business and accounting
models. As a result these interfaces always need customizing, which is best done incrementally using “agile” methods.
Reports
The BellHawk software does include a small number of web-browser based PDF and Excel exports which are intended to facilitate operations people with their real-time operational
management and data collection. Sometimes these are required to be modified as part of the data collection implementation process.
BellHawk also contains a limited number of operational history reports and screens which can be modified, if needed by the BellHawk staff. We can also provide custom reports and screens and Excel exports to meet the specific needs of each client.
Where the BellHawk database is installed on-site many of our clients have used their favorite reporting tools such as Access, Crystal Reports, or SSRS to generate their own custom reports. This does, however, typically require SQL programming skills and a good knowledge of SQL databases.
BellHawk is a very efficient, highly parallel, real-time data collection system with a SQL Server database structure designed for this purpose. Unfortunately the design trade-offs involved in meeting the real-time data capture requirements have resulted in a database which is not
designed for reporting purposes. As such, it is recommended that the data collected by BellHawk be exported every few minutes, using Bell-Connector, into a separate well-formatted reporting database from which reports, graphs, and dashboards can easily draw their data.
It is highly recommended that the production of these reports be done incrementally, with a group of common data being exported from BellHawk and then a set of reports created incrementally from these, as the system is incrementally deployed and the needs of the organization expand.
Commentary
In explaining the benefit of an agile process, when applied to implementing operations tracking software, I like to use the analogy of a brown door. Almost everyone has great difficulty in writing down a specification for the color of a brown door. But if you show them a door that is similar to what they need, then just about everyone can then tell you if they want it a lighter or darker and a yellower or redder brown and more or less grainy. It is the way our brains are wired. The agile process is a low-risk strategy. Clients can start out by inexpensively subscribing to BellHawk for a short time period and buying a limited amount of data collection equipment. If after a month or two, the use of BellHawk as a starting point “prototype” does not work out then the client can stop the project and take an alternate approach, having gained tremendous
knowledge about what they really need.
Agile is also an evolutionary strategy. It allows work-in-process and inventory tracking systems to continuously evolve over many years as the organizations needs change. This substantially reduces the risk of having to replace a tracking system in future because it no longer meets the needs of the organizations.
Agile does have the disadvantage of being an incremental project management strategy. Rather than there being a fixed project plan and budget, there are operational goals and estimated costs. This does not mean that the project execution is not tightly controlled. On the contrary, it is highly controlled with the client incrementally making business investment decisions at every step along the way.
Agile deployment does require a continual and sometimes significant level of involvement by the client’s managers and staff as part of the test/modify cycle. This is different from the “hands-off” approach of hiring an external consultant to write a system specification and then hiring an external team to develop and test the software. The benefit of the agile method is that the client’s team gets a solution that truly meets their needs rather than ending up with someone else’s idea of what they should need, which often is incorrect.
Agile Project Management
Implementing a real-time work-in-process and/or inventory tracking system needs a team-effort to provide:
1. The work-in-process and inventory tracking software and customize it to the specific needs of each organization.
2. The needed IT infrastructure including computers, networks, security appliances, and physical network wiring.
3. The barcode scanners and printers, wireless mobile data collection device.
4. Systems integration services to integrate the data collection software with other systems such as accounting, ERP, and process control systems.
5. Analysis, reports and graphs from the data that is collected.
The incremental agile approach can be applied to many of these activities, including systems procurement. It also makes it much easier for participants from different organizations to provide these different services and products.
Rather than the old systems-integrator sales strategy of “give me 50% up-front of whatever we hope we can implement the system for”, it is recommended that BellHawk clients only initially sign up for a 3 month subscription to BellHawk depending on the expected deployment time. This is to make sure that BellHawk is what each client wants to use as the base for their system before making any major commitment in time or money. In this way there is no major up-front capital equipment purchase. Clients can then purchase a perpetual license to use BellHawk or renew their subscriptions to use the BellHawk software in 12 month increments if it works or abandon the process if it does not work for them.
Also BellHawk clients only pay for the changes they need to their BellHawk system in small increments. Each change is pre-approved by the client’s project manager before it is made and the changes are tested by the client’s team as soon as possible afterwards. As a result, the whole process is highly controlled and very efficient.
It is also recommended that clients only buy one of each barcode scanner and printer or mobile data collection device they intend to use in production and then thoroughly evaluate these in a
simulated production environment in the training-room pilot test environment. In this way many expensive mistakes, such as selected devices being ergonomically unsuited to the task being performed, can be avoided. Also software-hardware interactions can be quickly ironed out at this stage but this may not be so easy after a client has purchased a large number of devices that are not compatible with the BellHawk software or their intended use.
It is noteworthy that the agile process eliminates:
1. The need for an up-front systems analysis and design consulting phase. Clients do need expert advice but this can be provided incrementally as part of the test/evaluate/modify cycle process. There is no need to generate a written specification for the whole system, just for the incremental changes, which is a much smaller task.
2. The need for formal training. Rather training and support are provided incrementally as clients go through the test/evaluate/modify cycle.
BellHawk Systems’ role in this agile process is to provide:
1. The BellHawk real-time operations tracking and management software and any needed modifications to this software.
2. The Bell-Connector automated data exchange software and any needed modification to this software as well as the development of custom data transfer objects.
3. Expert advice and technical support in using the BellHawk and Bell-Connector software. This includes developing standard operating procedures (SOPs) to guide clients in the use of the system for each client’s specific applications and to support FDA GMP validation and verification procedures.
4. Other needed software and related support services where its partners or clients do not have the ability to provide these services themselves. This can include assisting with systems integration, automated data exchange, and custom report generation.
We strongly recommend that each client appoints a project manager who will be the internal point-of-contact for the implementation project and will lead the client’s implementation team. The BellHawk client support team will then work with the client’s project manager to ensure a rapid, cost effective implementation with a low risk of failure.
Conclusions
Agile is not for everyone.
Those organizations that can purchase standard off-the-shelf software that meets their needs working out-of-the-box should absolutely use this standard software, without question. But, if standard products do not meet the organization’s needs, working “out-of-the-box”, and a customized solution is required then the agile methodology, based on the use of the BellHawk software as a “prototype”, should seriously be considered.
This agile process can result in a much quicker and lower cost deployment of a system that meets the specific business needs of each organization rather than developing a custom solution or customizing software, such as ERP system, which is not designed for the agile process.