Accomplished, this ensures that every business information system object is created such that it can be used elsewhere in the business information system in a reusable manner without having to be duplicated.
First and foremost is the business information system's integrated development environment (IDE). Picking the right one that, at its very core, enables the automatic specification of about 95% of the business information system objects that, in turn generate the actually programming language statements which are compiled and linked to both executables and DLLs comprise the overall created business information system is critical. This alone causes the biggest savings in resources.
The types of business information system objects include for example, menus, lists, forms, and a myriad of other controls that complete windows, display calendars, and perform embedded processes such as pick lists, radio buttons for choices, sorting of browses by column headers, and the like that are required by the needed business information systems to be generated must be identified, specified, and then employed as selection criterial for picking the right IDE.
It is important too that these business information system objects include the ability to add procedure language or object oriented code within embed points that allow the accomplishment of business relevant processes.
Critically important too in the IDE is the ability to create business information system objects that may be missing. This can only be done if the IDE is fundamentally constructed through the use of business information system object templates that are constructed through a template-based language, that, in turn generates the business information system templates.
A final component of the IDE is the creation of a visible and maintainable data and business information system architecture that can be easily created and maintained. The IDE must contain easy to use button/icon-based processes that cause the generation of the computer language code, its compilation, and its linkage into an executable.
Once a highly engineered and work enhancing IDE is selected and deployed, the business information system component specifications need to be initially generated. Such a generation forms the basis for generated specification tuning and for the addition/modification of additional business information system functional specification.
Such an initial generation is best accomplished through the use of a subset of an overall enterprise data model appropriate for just that business information system's scope. That is because, a well-ordered data model automatically imposes functionally organized processes in support of database table record creation, update, and interrelationships.
The quality and sophistication of any specification generation, based on the scope of the control templates, automatically create these business information system functional specifications. There are two aspects of any control template. First is whether there are control templates for virtually every process or activity needed for the business information system, and second, when one or more of the needed business information system processes or activities are needed but are missing, are there control template language mechanisms that can be deployed to create the missing template?
Two examples, one simple and the other complex are: gender, and data-based "Bill of Materials" network data structure. For the simple example, gender, to automatically have the business information system component materialize the values for a gender column in a database table, where the determined values are to be Male, Female, and Unknown, the control template should support the specification of two types of "pick lists:" Radio Buttons, and Select Lists.
The "radio-button" alternative in which the value is displayed next to button, the button, when pressed, causes the selected data value, Male, Female, or Unknown" to be generated as the value for the gender column. The "select list," alternative, when employed, displays the set of values from which one can be selected, which, in turn becomes the value for the gender column.
To enable the automatic appropriate choice from these two alternatives, the control template needs to have a rule that counts the pre-determined values set out in the application data model for the gender column, and if the count is at or below a certain quantity, the result is a radio-button specification and if above that quantity, the result is a "select list" specification.
For the more complex example, Bill of Materials, the control template is more sophisticated. First, it depends on a very sophisticated configuration of database tables, and second, the control template contains a whole collection of "prompts" that must be valued before the control template generates the complete specification for the Bill of Materials processes that includes 1) a window for the creation of Bill of Materials items, 2) another window that supports the creation of the interrelationships among the items, and finally 3) the process functionality that displays the hierarchy of interrelationships among the items despite the fact that these hierarchies can in fact be network based data structures.
In a highly engineered IDE that is buttressed by both control templates and a sophisticated control template language, vendors can dramatically increase work productivity, as each control template can have their own special ROI.
For example, the time needed to "hand code" a "Bill of Materials" network data structure and all supporting procedure/objected oriented windows and processes can take a staff month or more once all the IT specifications for such a facility have been created.
If there is a sophisticated control template creation language, an IDE-allied independent vendor could produce a control template that generates the same specification, which, by definition enables the actual generation of the procedure language or object oriented business information system code. If use of a Bill of Materials control template only takes one full staff day to deploy, there's a 20:1 ROI on just that one control-template based IT technique.
The final component of Maximizing the Development of Reusable Data and Processes is the application of a learned behavior coupled with an accommodating IT environment. The behavior, Near Real Time Programming & Execution, is either enabled or prevented by the choice of the IDE, its specification and code generation, and its ability to immediately compile and begin execution of just the business information system component that is currently being implemented.
If these facilitating mechanisms fail to exist, the creation of the business information system will be straight-jacketed into a serial process that is slow, error-prone, and expensive to evolve and maintain. That is because the straight-jacketed environment will result in a water-fall approach that requires whole horizontal swaths of the business information system to be accomplished before proceeding to the next lower-level swath.
If the IDE et al environment is accommodating, however, higher layers of the business information system only needs be sketched to the extent needed for the next lower-level wedge of business information system implementation to begin. This cycle of "Conceive-Posit-Prove-Reflect-Optimize" invariably both uncovers new opportunities for better functionality, but also thd need to modify the specifications of the previous higher levels.
If a high quality IDE et al environment exists, the speed at which the most costly components are accomplished, that is, the detailed design and programming, especially when compared to the traditional water-fall approach to their creation, will more than compensate for any necessary redesigns and re-implementations of both the higher levels and of any re-design and re-programming.