38.4 F
Detroit
Thursday, November 21, 2024
HomeSoftware Development Best PracticesAdvantages of a “Proof of Concept” in an Implementation Project

Advantages of a “Proof of Concept” in an Implementation Project

Date:

Related stories

Coding with A.I.

For the last month or so I have been...

Don’t cover it up

My favorite marina in Michigan is an eclectic collection...

Bands by Me

BandsByMe.com was a website that allows music lovers to easily...

Introduction

This is my personal site, with a little information...
spot_imgspot_img

A “Proof of Concept” is defined as a quickly implemented lightweight solution that contains a subset of the functionality required by the full system.  This is also known as Pilot or an Evolutionary Prototype in systems development circles. Regardless of the name used, it is a key to the rapid development methodology and a valuable tool that should be considered whenever a large-scale implementation is under consideration.  Although much of the literature regarding the rapid development methodology refers to the development of systems, the methodology is equally applicable to the implementation of standard software packages, and even non-computer based systems as well.

Prototyping refers to the activity of developing a prototype, and to the use of a prototype as part of a deliberate effort to simplify, speed up, and reduce the costs of development. The concept of a prototype or a working model is not new. Automobile designers have used it for years, as have aircraft designers. In these arenas, prototypes are typically referred to as “mock ups.” In these cases, a prototype doesn’t necessarily have to work, it just has to look good. Of more recent vintage is the notion of prototyping as a deliberate systems development strategy. Because of its comparatively recent origins, the practice of prototyping is not as well understood nor is it as widely accepted as the more conventional approach to systems development. However it is equally applicable in this arena, and provides many of the same benefits.

The pilot, is part of a lifecycle model in which the end solution is developed in increments so that it can be readily modified in response to end-user and customer feedback.  Frequently piloting efforts begin with the user interface, and then evolve the completed system from that.  However piloting can start from any high-risk area, and is most effective when the highest risk areas are implemented first.  By addressing risks early in a project, the customer is provided a basis for an informed capabilities analysis without investing in the implementation of the full solution.

Despite the buzzwords such as “methodology”, “framework”, and “lifecycle”, Piloting is really about people. Users are often not often able to completely articulate what they want an information system to do, and they cannot visualize it from written specifications. In some cases there is concern regarding the proposed solution’s ability to meet the known requirements.  Piloting enables the users to see a system, “play” with it, modify it before it is implemented, and verify that it will accomplish the job required.  Significant changes are sometimes made in minutes, often in no more than a few hours. This generates real interest and involvement on the part of users.

The essential concept to grasp is that a pilot is a working model. It is implemented under a compressed timeframe, and anticipates a large amount of user interaction.  It might or might not be 100 percent complete, with all the bells and whistles that are desired, it might or might not be blessed with full functionality, and it most likely will have a glitch or two. But, essentially, it works as intended, and it typically works well enough to be used in a production environment, even if only temporarily.

The objective of piloting is to simply get on with it, to bring up the system in short order and use this quickly developed version as a focal point for getting clear about requirements in a way that words can never convey and documents can never capture. And, if necessary, the pilot can be used as an early version of the production system.  This has the effect of shortening development times and reducing overall risks and costs. The fundamental premise on which prototyping proceeds is that a working model provides a much clearer picture of the system to be developed than an entire library full of user requirements, system specifications, data dictionaries, functional flowcharts, and memoranda disclaiming responsibility or pointing figurative fingers. To paraphrase Confucius, a prototype is worth a thousand pictures.

Terry
Terryhttps://terrycallahan.com
Software developer, cancer survivor, and recently re-enthused lover of life.

Subscribe

- Never miss a story with notifications

- Gain full access to our premium content

- Browse free from up to 5 devices at once

Latest stories

spot_img