Bailey Caravans are a major UK manufacturer of caravans. The focus of their business is purely the design, manufacture and sale of caravans. To this end they buy in components in as much of a finished state as possible, while sales are mostly handled through a network of both exclusive and non-exclusive retailers across the country.
Bailey have a bespoke computerised system to support their business processes, written in Microsoft Visual Basic and utilising a Microsoft SQL Server database. This system however is now difficult to maintain and extend, has not managed to scale-up ideally to match Bailey’s rapid business growth, and has a number of restrictions, both on the technical and business-usage fronts.
A new system is required to meet Bailey’s current and future needs. Crucially it will need to scale well to accommodate growth, be flexible and maintainable, and be extensible to easily accommodate new interfaces. In addition, and most importantly, it will also need to be highly stable and reliable.
Unicorn were chosen to design a new system that meets Baileys requirements now and for the future.
The Unicorn Solution
After analysing the current system, Unicorn’s design specification for the new system proposes splitting the system’s user interfaces along the lines of the operational departments within the company:
- Client Services
Every effort will be made to ensure that business logic will be centralised, both to facilitate re-use and single location within the developed application, and to facilitate the addition of new and changed user interfaces using that business logic over time.
The design specification details the use cases that are to be incorporated in the new system, e.g., ordering caravans, creating and maintaining builds, stock taking and managing spare parts.
Understanding the Process Lifecycle
To ensure the new system meets Baileys existing and future needs, Unicorn created a thorough lifecycle overview, which is summarised here:
A Caravan starts life as an Order (created either through “Caravan Order Entry” function within the Sales department, or through one of the browser-based mechanisms). This creates a record in the Caravans table. Next, the Caravan will be assigned to a Build – a production run building a specific model of Caravan, which will be assigned to a specific week for the factory to produce it.
Prior to that production, all the parts needed for the build, including any special parts required for options selected on the various Caravans making up the Build, will be ordered by the Purchasing department. This they will do using “Create Build Order”, selecting the specific Build from which to create orders to suppliers.
The “Create Build Order” function will be able to determine, from the Bill of Materials for the model being built, multiplied by the quantity of the Build, what parts need to be ordered for the Build and will create those orders accordingly. In addition, it will need to take into account the specific options selected for each of the Caravans included in the Build (each option will also have its own mini Bill of Materials) and also create orders for the parts required for those.
During the ordering and delivery process, the Purchasing department will monitor (using the “Input/Maintain/View Orders” function) and chase orders to ensure that, come the time the Build actually moves into production in the factory, all the required parts will be on hand for work to proceed. In doing this they will monitor the delivery of shipments from suppliers and enter those against the produced orders for the build, again using the “Input/Maintain/View Orders” function.
Prior to a Build commencing, details of each Caravan to be produced in the Build will be printed out on a Work Sheet, which will accompany the Caravan throughout the production and despatch process.
The Build will then be produced in the factory. As each Caravan comes off the production line it will be moved to the despatch area, and a copy of its Work Sheet will be passed to the Sales department for despatch processing.
Within the Sales department the Caravan record will be updated with details such as the Caravan’s VIN and a despatch organised using the “Caravan Despatch Input” facility, with a Despatch Note being produced, a copy of which will be returned to the Caravan in the despatch area. A Warranty Registration Form will also be printed, again to accompany the Caravan when despatched.
Using the Internet
In addition to the four major departmental sections, new interfaces to allow both retailers and the buying public direct access to certain aspects of the system via a web browser are expected to form an element of the development. These new interfaces will probably not be implemented until the internal functionality is substantially complete, perhaps not even until it is fully deployed and in use.
The final design provides an overview of the lifecycle of a caravan from its initial starting point as an ’order’ through the build process and then on to Sales and despatch.
Each function within the process is clearly described, identifying the required inputs, updates and outputs. For example, the design for the Internet Caravan Ordering function specifies:
- Select Range and Model
- Select (multiple) options from list
- Optional different delivery address (Customer address will display)
- Payment details
- Entry in Sales Order table
- Entry in Sales Order Item table
- Entry in Caravan table
- Invoice and invoice detail
- Receipt page
- Confirmation e-mail
- Invoice e-mail
The new system design also describes the database structure to be used by the new system, detailing the logical data design and database tables.
With the process lifecycle, use cases and functions all successfully documented, the system design and database design are complete and ready for implementation.