Sunday, October 12, 2014

Prototypes

Many system developments turned into a failure after the completion of the project because the customer discovered that the developed system does not fulfill the required and agreed upon requirements. One way to avoid this could be by developing a prototype for the solution prior to developing the solution directly. Prototyping help customers, end users, developers and project managers understand the system requirements and have a chance to test it prior to the final development. As well the prototype could be used to offer a training environment for customers and end users, and offers a sandbox environment for developers to help them understand and find better ways to develop the final solution.

Prototyping could be seen as one of the ways used to develop software, in addition to structural SDLC or a hybrid of both. Prototyping is questioned with regards to its efficiency and effectiveness (Pliskin & Shova, 1987). Authors claim that prototyping is only useful in small problems, and its basic benefit that it helps in determining interaction requirements (Pliskin & Shova, 1987), in complex projects prototyping increased project risk, and cost. The major benefit from building a prototype is that it helps in clearing any misunderstanding between business managers and their user on one side and system developers, as well it helps to identify missing requirements and helps in building the requirements document to form the base for the development of the final solution. What differentiates prototypes from final solutions is that in prototyping phase system changes happen more frequent, and the prototype evolves by time. As well the prototype could help in requirements and specifications gathering, this could be useful for complex solutions, and when business users lack the full picture of the requirements. This type of prototyping is referred to as evolutionary prototyping and it helps when developing solutions with limited understanding of requirements, this type of prototyping has some disadvantages, and those are it provides impractical performance, schedule and budget prospects, and maintenance becomes costly because of the multiple changes the prototype building phase went through.

Evolutionary prototyping could lead to poor documented solutions, and for that a hybrid technique could be more effective, and the benefits of prototyping could be seen in small projects. I do support the perception that claims that prototyping is poor technical solution only if the solution to be developed is complex. In small projects prototyping could be more effective than structural SDLC and more effective, as it helps in delivering the project in shorter time, and provides a better visibility to build system requirements.

Reference:

Glushko, B., (2008), ‘Prototyping’, [Online]. Available from:

http://courses.ischool.berkeley.edu/i290-1/f08/lectures/ISSD-20081117.pdf

(Accessed 2 June 2012)

Pliskin, N. & Shoval, P., (1987), ‘END-USER PROTOTYPING: SOPHISTICATED USERS SUPPORTING SYSTEM DEVELOPMENT’ DATA BASE Summer, [Online]. Available from: http://www.itu.dk/~evahel/speciale%20artikler/end-user%20prototyping.pdf

(Accessed 2 June 2012)

Walker, M., Takayama, L. & Landay, J., (2002), ‘HIGH-FIDELITY OR LOW-FIDELITY, PAPER OR COMPUTER? CHOOSING ATTRIBUTES WHEN TESTING WEB PROTOTYPES’, [Online]. Available from: http://dub.washington.edu:2007/projects/fidelity/pubs/Walker_HFES_2002.pdf (Accessed 2 June 2012)

No comments:

Post a Comment