A few comments:
Prototyping as an approach to software development to ensure product quality can be problematic, because the very nature of prototyping can mean that the quality of software and design is not so great. Prototypes should not be excellent quality by definition.
If the goal is to get feedback from the intended client / user in the early stages, it can often be a good idea not to prototype the full vertical slices (for example, UI โ Business โ DB), but to work with the user interface layouts that can be used to study ideas with users . The layout is flexible and easy to change, but not fully functional, for example. has no business logic or perseverance. This approach allows users to gain an understanding of the functionality and be involved in the design and collection of requirements. As requirements change, mocks will change quickly, especially if there is no business logic or database code that needs to be changed with it. An example tool for a mocking UI is Balsamiq:
http://www.balsamiq.com/
If one of the general goals of prototyping is to research and explore various technology options, this can be done in isolation of UI layouts, and in a more abstract way, i.e. a pure research of technology, and not a prototype oriented toward satisfying the exact needs, which can change en masse. UI layouts can change a lot with user feedback, so if investigating technologies as another activity can simplify this process, there will be less communication because a lot will change at the early stage of detection and youโll have to constantly change the backend because the userโs ideas The interfaces are developing so fast that they will slow you down.
In terms of accelerating the pace of software development, use third-party libraries. If you use a database for storage, look at ORM solutions that can significantly reduce the work required to develop a data access layer, for example. NHibernate. Depending on which user interface technology you are using, look at third-party libraries.
An industry-wide approach that over the years has completely replaced prototype development: Agile. He strives to address the changing needs of users, always working to provide features, but focuses on developing high-quality software using techniques such as TDD.
Tim lloyd
source share