Saturday, April 19, 2008

Do I Even Need a Prototype??? & Prototyping Overview

Prototypes can add unnecessary overhead if they are not needed or are not workable for a particular project situation. Analyze the circumstances of the project to determine if a prototype will add value. When making the decision, consider the benefits of prototyping.



THE BENEFITS OF PROTOTYPING



Types of Benefits



Prototyping primarily assists with communication between the end-user and the development staff. The enhanced communication results in greater accuracy and fewer errors in later parts of the project, when they become more expensive to fix. The early involvement also empowers the end-user and facilitates system acceptance and understanding.



Communicate Requirements to Customer



Prototyping is an effective means of communicating the analyst's understanding of system requirements to the customer. The customer achieves a better understanding of the proposed system than could be obtained from written documentation alone. Therefore, problems that may have gone undetected until a later stage are identified earlier.



Prototyping should be used for all interactive systems. Consider that a serious review by end-users will almost always result in a change.



Communicate Requirements to Programmer



Prototyping is an effective means of communicating the system requirements and design to programmers. It is easier for the programmers to build a system from a working model than from a design document.



Customers See the Design at an Earlier Stage



Some design activities, such as Human Interface Design, occur at an earlier stage in the life cycle when a prototype is developed. Customers are able to try out the design and provide their input before much time and money are expended.



If Horizontal Prototyping is used during analysis, a first cut of the system externals is defined at that time. If a Vertical Prototype is developed, a first cut of the database must be designed during analysis.



Prototyping can greatly reduce the scope and size of design activities. Design activities still occur but they are moved to other stages of the system life cycle. Depending on the extent of the prototype, design efforts can be reduced to include only such tasks as test plan preparation, user aids design, conversion design, and database optimization.



Greater Customer Involvement



Customers become more involved in the system development process when a prototype is used. This helps ensure that customer requirements are met.



Reduce Written Documentation



Prototyping makes a system more intuitive and reduces the amount of written documentation required.




Situation Where Prototypes are Most Valuable



Some situations where prototyping is particularly valuable include:



· scope of the project permits customer involvement to improve the system,



· customers are unsure of their exact requirements or are having difficulty expressing requirements,



· the new system is altering a basic business operation,



· customers are not fully aware of all the impacts of the new system,



· the advantages and disadvantages of alternative solutions need to be explored.



Situations For Limited Prototyping



In general, prototyping is more valuable for on-line systems than for batch processing. However, most batch systems produce reports which can be prototyped using a report generator. Prototyping is of limited value in some systems that are logic intensive. In these cases, horizontal prototypes can still be used to evaluate the human interface.




Craig Borysowich (Chief Technology Tactician)






-------------------------------------------------------------------------------------



Use Prototyping to:



· develop a working model of key functional components of a system, which may or may not be developed into the final system,



· enhance communication of requirements between the analyst, customer, and development team members,



· demonstrate features of the proposed system to such a level that the customer can relate it to his or her requirements,



· allow customers and analysts to explore alternative architectures and specific customer task scenarios,



· uncover design flaws early in the project life cycle,



· train customers who will eventually use the system,



· validate customer requirements (are we building the right product?),



· verify customer requirements (are we building the product right?).



Method



To build a prototype, complete the following steps:



Evaluate the Need for Prototyping



Define the Type of Prototype



Develop the Prototype



Refine the Prototype



Tips and Hints



Fourth Generation tools make it possible to quickly and easily prototype a model of system externals. However, if the prototype cannot be built and changed easily, many of the advantages of prototyping are lost. Some tools require considerable effort to set up the database or make database changes, particularly in the hands of inexperienced programmers.



See Also



Interviewing (for defining requirements related to the external design of a system)



Participant Observation (for defining requirements related to the external design of a system)


Timeboxing








Craig Borysowich (Chief Technology Tactician)

No comments:

Post a Comment

Dear blog visitor, Thanks for visiting my blog.