Prototyping
Modeling of a proposed solution or part of a solution
Progressive refinement of the model in response to feedback
Program is tagged at the end of its name with a version number, ie. Velvet Sundown v0.01.
Patches or quick updates are updated from 0.01 to 0.02
Major changes are updated from 0.1.0 to 0.2.0
New versions from v1 to v2 contain really big changes such as remade and improved elements
Rapid Applications Development approach (RAD)
Characteristics of the rapid approach, including:
Lack of formal stages
Use of existing routines
Use of appropriate applications to develop the RAD solution
Drag and drop programming environments (What you see is what you get -WYSIWYG)
Common application packages such as spreadsheets, databases
Communication between developer and client (End user development)
Feedback from client
Developer modifies program according to client feedback
Test and debug solutions
Short time period
Small-scale projects
Small budgets
All in the name of creating a very quick prototype
Rapid Applications Development (RAD) Approach:
WHO?
A Rapid Applications Development approach is mostly used by organisations under tight constraint of time. It could also be used by people who wish to create a quick version of a program to give viewers a sense of their production.
WHY?
There are many reasons to choose the RAD approach. The most common one is when a project is needed as soon as possible and time is critical. Other reasons may include things such as the clients not knowing what they want besides a few certain basic requirements. This way, the application can be developed without much of the hassle of planning, and building a robust system for a certain service. This can take a while especially when the plans are not yet clear. The RAD approach ensures the product is delivered in time and, when need be, can be modified to suit the changing needs of the clients.
WHEN?
The Rapid Applications Development approach was developed around the 1970s by New York Telephone Co’s Systems Development Center.
EXAMPLES
Applications such as Visual Basic 2008 enables developers to use the Rapid Applications Development approach when making their programs by no longer needing to write code to make an application or no longer needing to worry about memory management.
ADVANTAGES
The time required to develop the software is drastically reduced due to a reduced requirement analysis and planning stage
Can save time required for testing
Big cost saver in terms of project budget as well as project time and cost due to reusability of the prototypes
DISADVANTAGES
Longer time to take to develop and release
Success depends on the extremely high technical skills of the developers
The method cannot be a success if the team is not sufficiently motivated and nor is unable to work well together.
May not be useful for high, large complex projects
Inhibits creating programs with a strong base or foundation and reduces the quality of the code of the program therefore not making it flexible or scalable beyond its intended purposes.
Prototyping
A Prototype is an early sample, model or release of a product built to test out what has been developed. It can act as a thing to be replicated or learned from. It is designed to test and trial a new design to enhance precision by system analysts and users.
Creating prototypes of software applications is to take an incomplete version of the program that is still in early development. Getting feedback and using it to test and modify according to the end user’s proposal to make the program complete.
Who: Game Developers, Filmmakers, System analysts and end users,
Why: To make sure the final release isn’t riddled with bugs.
When: Before the initial build is released.
Examples: Minecraft was prototyped and is changed by the developers according to how the community wanted it.
Dota 2 Beta was released early for public testing, many fixes were made during the 2 years (2011-2013) until it was officially a free-to-play title.
Advantages - To allow the end user an early access to the product and satisfy the end user, reduced time and costs, improved and increased user development
Disadvantages - Unstable software, not enough time, not enough resources, insufficient analysis, developer misunderstanding of user objectives, expense of implementing prototyping.
PROTOTYPING PROCESS:
1. Identify: Find the problem and issues within the program
2. Review: Get end user feedback
3. Implement: Modify and change the program according end user’s feedback
4. Test and Evaluate: Test the program with the new changes, and continue to find and correct error (debugging) until is error free
5. Maintain: Provide educational and support to end users, correct any unanticipated errors that emerge and identify user-requested modifications (enhancements)
6. Rinse and Repeat: The act of refining the next iteration of the prototype.