HOW YOUR APP FEELS
Based on the current requirements outlined in the spec, we start work on the Prototype. The prototype gives you an “actual feel” of how the system looks and works and allows you to experience the proposed design and the architecture of the software. We bring your app to life by developing a prototype allowing you to gain significant feedback from potential users and refine the functionality of the design before commencing the actual development. We will then incorporate any changes and refine the prototype until we achieve the desired results. Once we have finished tweaking the prototype we are ready to develop!
BENEFITS OF PROTOTYPING
First and foremost, a prototype gives you a realistic feel of the system that you can see and interact with. A prototype allows you to try out your ideas with target users and customers before commencing the development process. Making changes early in the development lifecycle is extremely cost effective since there is nothing at that point to redo. If a project is changed after a considerable amount of work has been done in the development then small changes could require a lot of time and cost to implement.
If you do a prototype and validate this with target users, you will significantly reduce the time it takes for your developers to build the product both because the product is better defined, and also because you will have been forced to resolve many of the questions early that otherwise throw a wrench into development.
The prototype provides the level of information necessary for accurate engineering cost estimates, early in the process when these estimates are most useful.
MAKES YOU THINK
Doing a prototype helps you –even forces you –to think through your product to a much greater degree than paper specs. A prototype allows you to achieve full compliance with your vision.
types of prototyping
Software prototyping has many variants, however, all the methods are based on two major types of prototyping: throwaway prototyping and evolutionary prototyping. We are here to define your requirements and help you discover which prototype is the right for you.
Also called Rapid prototyping. Once the preliminary requirements are defined, a working model of the system is constructed to visually show you what your requirements will look like when they are implemented into a finished system. Rapid prototyping provides a broad view of an entire system focusing on user interaction more than system functionality. The prototype then becomes the starting point from which you can re-examine your expectations and clarify your requirements. When this has been achieved, the prototype model is ‘thrown away’, and the system is formally developed based on the identified requirements.
The most obvious reason for using throwaway prototyping is that it is cost effective and time saving. When we get your feedback, we will be able to refine the prototype before commencing the development of the software. Making changes early in the development lifecycle is extremely cost effective since there is nothing at that point to redo. Another strength of throwaway prototyping is its ability to construct interfaces that the users can test. The user interface is what the user sees as the system. The User Interface will have to be strategically designed to meet the needs of specific users and certain conditions that the product may be used in. All these factors will be discussed so that they can be implemented at the design stage of the process. When this has been achieved, the prototype model is ‘thrown away’, and the system is formally developed based on the identified requirements to give you a complete look and feel of your future software.
Evolutionary prototype is quite different from throwaway prototyping and has an advantage in that they are functional systems. The evolutionary approach aims to develop a mature system through a series of prototype iterations. The prototype will undergo a series of refinements so at each stage the prototype evolves until eventually becomes the final product. The main goal when using evolutionary prototyping is to build a very robust prototype in a structured manner and constantly refine it. The reason for this is that the evolutionary prototype, when built, forms the heart of the new system, and the improvements and further requirements will be built.
This approach is particularly useful when the exact requirements of the solution cannot be set out in advance or are considered to be vague. You can become closely involved the development, playing a key role as each iteration moves further from prototype and closer to a useable solution that does what it is needed to do, and does it well. Initially you will get a partial system. As your users work with the system, they detect opportunities for new features and give requests for these features to be developed. Developers then take these enhancement requests and change the software-requirements specification, update the design, recode and retest.