Prototyping in expert systems development
There are a lot of different methods for information systems development. The System Development Life Cycle (SDLC) is one traditional information systems development method. It is sometimes referred to as a waterfall development method because the whole process is planned out from the beginning, and the project is then developed one stage at a time going down the steps of the plan. Common main steps of the SDLC method are concepting the system, requirements analysis, system design, programming, testing, implementation, and maintenance. In the SDLC method, the process almost never goes backwards to a previous stage though the results of previous stages may be modified. This inability to go backwards is why SDLC is often also called a waterfall development method because much like it is impossible to go up a waterfall there is no going back to the previous steps in SDLC. The prototyping development method offers many advantages for information sytems while also having some weaknesses (Alavi 1984). Decision support system (DSS) development usually has the greatest opportunity to utilize prototyping's advantages while minimizing its disadvantages.
Prototyping systems development focuses on the iterative creation of a new information system. Rather than going through the whole SDLC process for everything that could be potentially envisioned with the system, a portion of the system is chosen to use to create a prototype. The prototype does not go through extensive requirements analysis and instead focuses on getting something created quickly for immediate use by end-users in order to gather feedback to either modify the prototype or begin the process again with another component. While the prototyping development method gets users involved in the system's development and typically brings about real results quickly, it can be difficult to manage prototyping-based projects due to its differences with SDLC (Alavi 1984). Since the mid-80s, prototyping has matured as an information systems development method.
Sen and Sinha discuss the development of data warehouses, a key piece of modern information systems (2005). A data warehouse is a DSS that brings together data from multiple databases, organized by subject area. Data warehouses are immense projects that require extended development periods and can deal with terabytes of data in large organizations. Based on analysis of the varying products and companies available to create a data warehouse, most of them use some sort of iterative- and usually prototyping-based development model. The waterfall style of the SDLC is simply not viable due to the difficulty of collecting requirements including their evolvement over time during the construction of a data warehouse (Sen & Sinha 2005).
Al-Qaed and Sutcliffe cover the topic of adaptive decision support systems in their article (2006). They define an adaptive decision support system (ADSS) as one that takes the user's motivations and preferences and combines those with the appropriate tools and advice. Since an ADSS requires a good portion of tacit knowledge in order to determine the correct tool, it is not possible to fully define the requirements before beginning development. In order to successfully test the interface, six models were developed using a Wizard of Oz technique (Al-Qaed & Sutcliffe 2006). Later on in the development, full prototypes were developed to test out the conclusions derived in the earlier prototypes. In the end, the system asks the user a series of questions to find out what information they are seeking in order to direct them towards the correct DSS tools.
In an article in CIO magazine, William Golden discussed a process for managing IT innovation that can be applied to DSS as well (2007). Proctor & Gamble uses a process they call SIMPL – Simplified Initiative Management and Product Launch. The key concept of the SIMPL process is to move quickly from opportunity to prototype in order to test out new products (Golden 2007). In the case of a DSS, a management decision might be identified that is made on a semi-regular basis. If the decision is currently done with an extended amount of time and work, work could begin to create and test a prototype that could help make the decision-making process more efficient and faster. If the prototype works well, it would be rolled out to a broader audience and eventually enabled for the entire user base that could find it useful. If the prototype does not perform well or needs more work, it goes back to have more development done.
Prototyping has emerged as a powerful method for developing IT systems but especially DSS. The ability to go quickly from concept to usable prototype system means that users can give feedback very quickly. That feedback enables the project to either move forward or go back for revisions. In the classic waterfall methodologies like SDLC, there is not a very good way to go back since everything is supposed to be determined before the implementation work begins. In the fast changing real world, software projects that take several months are a risk because the market landscape can quickly change, potentially making the project obsolete before it is ever finished. Prototyping enables an organization to reduce this risk, and it is especially useful for DSS development.
References
Al-Qaed, Faisal & Sutcliffee, Alistair (2006). "Adaptive decision support systems (ADSS) for B2C e-commerece". ACM International Conference Proceeding Series. Volume 156. pp. 492-503.
Alavi, Maryam (1984). "An assessment of the prototyping approach to information systems development". Communications of the ACM. Volume 27, Issue 6. pp. 556-563.
Golden, William (2007). "How to implement new ideas". CIO. March 1, 2007. Accessed on March 26, 2007, at http://www.cio.com/archive/030107/forum.html.
Sen, Arun & Sinha, Atish P. (2005). "A comparison of data warehousing methodologies". Communications of the ACM. Volume 48, Issue 3. pp. 79-84.
