The ultimate goal of software prototyping, is to build a realistic instance of a product, fast and inexpensively. Read on for hints and best practices on how to build one Prototyping, defined refers to the development of incomplete versions of a digital product; and there are several reasons why you might need one: In a digital context, prototyping To to selected users and stakeholders; . present a complex idea in a realistic form fast and inexpensively To allow users to of the to-be-developed product. interact with a good, realistic approximation To and insights from users and other stakeholders. capture feedback A functional prototype is by no means a production-ready deliverable, as it is built under certain assumptions with a focus on specific areas. Prototypes should be and to build. quick inexpensive The goal of a rapid prototyping project, is to build a functional instance of the product concept; to capture feedback from users, learn and test the key-hypotheses and assumptions. ultimate realistic Do I need a prototype? Prototyping makes perfect sense, when you are about to build features or products which have . increased level of uncertainty For instance, when the proposed user experience is new to the users and you don’t know if they are ready to adopt it: imagine a concept based on experiences — would your target users feel comfortable interacting with a machine over voice? Would the voice understanding be accurate enough? voice-driven Given the unknowns in the above example, a quick functional prototype could provide valuable insights on both the technical feasibility of the concept and the expected levels of user engagement / readiness to adopt such a user interface. How a Prototype is different to an MVP? A prototype is in fact different from an MVP: The Minimum Viable Product should have increased production readiness, as it is normally exposed to real users, consuming real data through integrated services. very The prototype, on the other hand, is rather disconnected, built under a lot of assumptions; and based on hard-coded components and static content. It is just of the real end-user experience. an approximating The prototype is of the product; the MVP is . just an approximation a first instance of the real product How can I speed up prototype development? To rapidly build a prototype, consider the following: or even your MVP. When in rapid prototyping mode, it doesn’t make sense to waste resources in building non-critical components and features. Do not prototype your entire product and minimize the development time: Identify — the ones that are expected to generate interesting insights and learning; the ones that need to be exposed to real users and capture their feedback. For example, why build a real login mechanism or a user profile page or a dynamic landing page? For these non-important elements, you should just reuse existing code or use static data or hard code the experience. Set the right focus the important components Remember, you only need to the real product. approximate : When prototyping, you need to act fast and use your time in the best possible way. You should avoid building or ‘data models’ and databases; instead, you could simply model all your key entities as static JSON objects. Use static data and components complete sophisticated : Before starting the development of your prototype, it is a good idea to search online for and that could cover specific needs of your prototyping project. You could find any type of resources- from Even if you are building advanced AI-powered applications, you can still find commercial services and open source resources which could be used to rapidly and inexpensively build your prototype! Use existing, 3rd party services building blocks reusable components UI elements and controls, APIs, services, data models, data sets, images, content — even sophisticated open source components. Simple wizard-like tools can help you easily build a clickable user interface and expose it to real users; You can leverage , , chart controls, frameworks or even and pre-built user interaction components. You may find ready-to-use ; or to help you prototype your Augmented Reality experience. Use prototyping tools. templates images AR/VR content tools ! Whenever you hit a difficult decision point or unknowns, make assumptions and move fast. Remember, you are aiming for a , not for a production-ready system. Your objective is to and capture feedback from users. Make assumptions — move fast realistic experience test certain aspects of your product : Code Quality is a must — but for , you need to redefine quality with a focus on user experience. You are probably , so take the opportunity to speed up the process! Reconsider Quality the purposes of prototyping writing through-away code : Quality can be redefined in the context of your prototype, with a bias for UX rather than or other you shouldn’t be concerned about best practices and how well-structured your code is; or spend effort in ; or about the of your code. When prototyping, it should be totally fine to hard-code and use static data as needed in order to move faster. Focus on User Experience optimized code technical aspects: commenting, documenting or re-factoring your prototype code re-usability : to accelerate the process — you need to make assumptions and conventions; for example, you can remove production-related constraints and also switch to a light version of your software development rules, practices and guidelines. Relax the constraints : You may need hosting services and basic release/ deployment management across iterations. Managing the development life-cycle of your prototype, should also be fast and efficient. Consider setting up basic DevOps environment — to help you quickly release and manage the versions of your prototype. Use the right DevOps environment Build, measure, learn; iterate fast! A single iteration of prototyping a software concept, could look like that: Prepare your data — or data objects to support the prototype scenarios retrieve generate artificial Draft a first version of the UI — using wireframes Build wrappers to existing services — consuming standard APIs Build a basic end-to-end user experience Set the context and expose the prototype to your stakeholders and users Capture feedback from users and stakeholders Process the feedback in order to and as needed learn adapt Decide if an additional iteration is required How to manage expectations? Managing expectations regarding the outputs of a prototyping effort is also very important. You need to ensure that your team and other stakeholders understand what a prototype is: don’t let your stakeholders expect a real product (or an MVP) and then experience a prototype. Share and inspire the ‘ — that is, the principles; and also the reasoning - the value — behind prototyping versus directly building an MVP. culture of experimentation’ fail fast, fail safe What does Success look like for a prototype? A prototype is a kind of an to help teams improve the product development process. You need to define a framework — and how to interpret the signals in the right context. You need to specifically call out the success factors and exit criteria for your prototyping initiatives. Remember, prototyping is not only a but also a tool for better product decisions. experiment on how to process user feedback learning process _How to scope a great Minimum Viable Product: Start by describing the ideal situation versus the current one, and how…_medium.com How to scope a great Minimum Viable Product (MVP) Cover image: Photo by on José Alejandro Cuffia Unsplash
Share Your Thoughts