Prototyping in Software Engineering
Insight

Prototyping in Software Engineering

Software Prototyping

Prototyping in software development refers to the process of visualising a software product before it has been created. It is particularly useful in scenarios where the project's requirements are not known in detail.

The main goal of prototyping is to create a basic version of the product and have it tested by the clients, and/or user, early in the development phase. Most clients prefer to have a visual prototype developed before work is put into developing the actual product. David Kelly, founder and CEO of IDEO Product Development and professor at Stanford, when speaking at one of Stanford's Entrepreneurial Thought Leader Speaker Series, stated that:

" You don't find anything out until you start showing it to people… Humans are really interesting. If you show them your idea in the prototype form, very few people will tell you all the things they think are right with it. But everybody will tell you all the things that are wrong with it. So you just write down, you copiously take notes about all those things, and you fix them. And the next time you show up, you have all those things fixed. It doesn't take very many times before you have a product that's delighting the people that you're making it for. And so, we call this enlightened trial and error."

Angela Duffy, programme and BD director at dConnect, worked with IDEO on various projects and has readily employed prototyping in new product development. As humans we are very visual and showing someone what you mean, even with a rough drawing, really helps them to comprehend. It also allows them critique and provide you with the feedback that you need to improve your mock-ups right the way through to the final product.  stated that "Something from your experience in the importance of having early feedback from customers, how prototyping can help."

Prototyping should be a quick mock-up that will give the client a rough idea of the appearance and/or functioning of the product. 

Pros & Cons

Pros

· Clarification of product/project vision – once requirements are gathered, developers can work on the design process giving a shape and form to the product. This will also help identify possible gaps in the app's functionality and reduce the risk of failure.

·  Improved communication and collaboration – prototyping enhance client-developer communication. Having the clients' feedback and improving the design will help better address the client's expectations and give the actual feel of the system.

·   Early User Acceptance Testing – once prototypes are developed, a number users can be selected to test run the prototype.

·   Time and money – prototyping helps in identifying problems early before development has even begun. This helps to avoid making costly changes later in the actual development.

Cons

·   Adding an extra step to the SDLC process.

·   The client may lose interest in the final product when he or she is not happy with the initial prototype.

Types of Prototyping

There are different types of prototyping. Choosing the most suitable technique ultimately rests on factors such as time, cost, scope, and fidelity. The two most common techniques are:

·  Low fidelity (Wireframe Prototyping)

·  High Fidelity

At dConnect, we provide prototyping services for start-ups and early-stage companies. You can reach out to one of our team members to discuss your needs.

In our next article, we will present the types of prototyping and available tools.

References

1)    Effective Prototyping for Software Makers, Jonathan Arnowitz MichaelArent Nevin Berger, https://www.oreilly.com/library/view/effective-prototyping-for/9780120885688/

2)     Integrating Prototyping Into Your Design Process, https://boxesandarrows.com/integrating-prototyping-into-your-design-process/

3)      https://www.slideshare.net/pips1/sketching-wireframing-prototyping-how-to-be-agile-and-avoid-halfbaked-user-experience

4)      https://boagworld.com/usability/prototyping/— this is a great article on prototyping

Software Engineering Executive

want to keep informed?

sign up to our newsletter