logo for information-management-architect.com
leftimage for information-management-architect.com

What is a Prototyping Methodology?

Need prototyping methodology for an information management project and want some practical suggestions to ensure rapid project delivery?

A prototyping methodology is a software development process whichPrototying Methodology allows developers to create portions of the solution to demonstrate functionality and make needed refinements before developing the final solution.

Think of the annual Detroit car show where some automakers will introduce a concept car or prototype. Depending upon interest, it may eventually become a full-scale production vehicle or it may be modified based on consumer reaction.

Software prototyping

Software prototyping is somewhat similar. It produces a “throw-away” solution that is deigned for the sole purpose of verifying user functionality and for demonstrating capability.

It is an excellent way for the development team to confirm understanding of the requirements and ensure that the proposed solution is consistent with business expectations.

When should we use it?

This methodology works very well with online transaction processing systems, which usually interact. It also works well with web-based development and can very quickly help confirm page navigation and other user interaction requirements.

What about business intelligence prototypes?

A prototyping methodology is very useful for confirming business intelligence analytic requirements.

End users do not usually think in terms of facts and dimensions. They are frequently not exposed to the capabilities of business intelligence software and the power of the tools.

I remember one project where the user community was moving from obsolete technology (which produced paper reports) to a Business Objects XI platform (Which was the company standard technology). They really had no idea how to express requirements other than to say, "Give us what we have today".

We tried vendor provided product demonstrations, which helped a lot. However, it was only when we created a working prototype solution, with their data, that users were able to work with the tool and see it’s capabilities.

Project requirements were not actually changed on this project but we saved a lot of churn that might have occurred during design/development. Thanks to the prototype, the users already knew how they wanted certain things like folder structures, and naming conventions.

The user community also became involved so they took more ownership for requirements as they gained confidence working with “their” prototype.

Did you say throwaway?

Yes, I did—The basic premise of prototype development is the software should not be used for production—That is not the purpose of prototype development.

I remember another project where we were contracted to design and develop a prototype solution—We were expected to use the prototype to “flesh-out” requirements. The project was a recognized international success. We concluded the project with a set of recommendations that we had discovered while using the solution (We had discovered one fairly significant flaw that we felt should be addressed in a full production solution).

Did you guess what happened? Project funding was put “on-hold” for a while but one of the business users decided to implement the prototype solution anyway—The solution was more robust than most prototypes but it still had the “flaw”.  This particular user group knew about the issue and had a good work-around.

Unfortunately, these types of solutions have a habit of outlasting people who know about the work-around.

Some things to consider…
  • Prototype methodology is a very useful way of confirming business intelligence analytics and reporting requirements;
  • The prototype solution must be considered “throw-away”;
  • Plan the time and effort as part of the requirements analysis phase and possibly the development phase; and
  • It has limited use for demonstrating data storage and data movement portions of the solution.
Before you return, remember...

A prototyping methodology is a software development process which allows developers to create portions of the solution to demonstrate functionality and make needed refinements before developing the final solution.

This technique can save considerable development time by reducing re-work as users see the product for the first time.

footer for Information management page