To BDD or Not To BDD
When you start a new Insbridge implementation or are working on a major change do you incorporate a design phase or do you just dive into RateManager and start building rating logic?
If you are in a time crunch (usually the case) you may be tempted to skip design and just jump right to the build phase. While that might be OK for smaller changes, it is not recommended.
A design phase will help you be more efficient during the build phase as it will define “how” the requirements should be implemented. The output of the design phase should be a design specification document.
SO HOW DO YOU DOCUMENT THE INSBRIDGE PROGRAM DESIGN?
When designing the instructions for an Insbridge program, it is important to document each instruction in a way that allows you to deconstruct each calculation into its individual components and define them using Insbridge terminology. Here at Second Phase we call this document an Insbridge Build Design Document (BDD). It is built using an Excel workbook that contains sections (or sheets) for Algorithms, Calculated Variables, Tables, and Sequence. Optionally, you can add a sheet for Inputs and Outputs or record these in a different document.
Insbridge BDD’s are being used on pretty much every project Second Phase engages in. Every customer we’ve worked with has benefited from using them. In fact, once they understood their value to the project some customers made it a requirement that all personnel involved with Insbridge development use them.
I am not sure if it is a great analogy but the Insbridge BDD is much like a blue print for a house. One would not start building a house until the blue print was completed, reviewed, and approved. Just like the details provided in a house blue print, the BDD provides needed details such as variable names, variable type, data type, scope, category, sequence, notes, and other beneficial information that could help the developer.
WHAT ARE SOME OF THE BENEFITS OF AN INSBRIDGE BDD?
Customers we’ve worked with that use BDD’s are seeing these benefits:
Reduces Development Time
The BDD allows a developer to evaluate design options prior to actually implementing them in RateManager. Once a BDD is complete, a developer should be able to use the BDD to build a program within 1-3 days depending on the amount of data to be entered into Insbridge. This development time can be further reduced by dividing up the development of the variables and algorithms amongst several people.
Reduces Risk of Introducing Defects
The design document can become a deliverable that can be reviewed and approved before development can begin. This ensures that what is being developed meets set standards and reduces risk of bad solutions being introduced. This should ensure quality programs are being developed.
Much Easier to Make Changes in a BDD than in Insbridge
This is especially important in the initial design phase for a project that has insufficient documentation and/or frequently changing requirements. Many variables in Insbridge have dependencies and it can be very difficult to delete or rework logic if new requirements spring up unexpectedly. These scenarios can be handled faster in the BDD.
Provides an Easier More Transparent Way to See What is in a Insbridge Program
The BDD is an Excel workbook that is much easier to navigate and find needed data than RateManager (especially for those not that familiar with Insbridge). This also lowers the training time that will be needed to get a new employee familiar with a given Insbridge program.
Work Can Be Split Up Without Causing Conflicts
If there are multiple people on a project, the BDD design can be used to divvy up the work. Design can be completed in separate excel documents and merged after each is complete.
WHAT ABOUT MAINTENANCE?
Once you are in maintenance mode the BDDs become less beneficial. Most of your future changes will probably be small to medium in size and the BDD may not seem worth the effort. If you prefer to have some sort of Insbridge Rating Logic documentation outside of RateManager then you should keep and maintain them. Some customers do require a design document of some sort be presented before any kind of development can begin. In that case, the Insbridge BDD could serve that purpose. We have been discussing at Second Phase the possibility of creating an Oracle Insbridge add-on that gives the ability to export program version data into a BDD like format so that it would not be necessary to maintain the original BDDs created at the beginning of a project. Until then, it will be up to you to decide if it makes sense to maintain BDDs.
If you are at the beginning stages of an Insbridge project or embarking on a major change to one or more Insbridge Programs then it is highly recommended that you incorporate a design phase and create an Insbridge BDD. Doing so will keep you more organized, reduce total development time, and reduce the risk of introducing defects.