How are you a prototype?

We project a design, a graphical interface, just analyze a specific problem, proof of concept, etc. Sometimes we discard the prototype, and sometimes we end up with production code. We use different languages, technologies, strategies and styles for the prototype.

What are the different situations that you usually prototype and how do you prototype? Any good resource to master the craft?

+7
prototyping
source share
6 answers

One hot name is Effective Prototyping for Software Developers . The problem is that there are several schools of thought.

  • Rapid prototyping. Use fancy tools; get something done soon.

  • Evolutionary prototyping. Develop from prototype to production.

Some of these are legacies based on an era in which tools were primitive and projects had to be carefully planned from the start. When I started in this industry, the "green screens" used in symbol mode, where rocket science is very painful to prototype. Tools and formal methods are needed to manage costs and risks.

This thinking is surpassed by more recent thinking.

  • Powerful tools eliminate the need for sophisticated prototypes. HTML layouts can be quickly hit. Is this still a prototype when you are hardly planning a budget or planning it? [You can make fun of it in MS-Word and save it as HTML. It’s faster for a business analyst to do this than to point it out and ask the programmer to do it.]

  • In addition, powerful tools can reduce the cost of errors. If it took just one week to put something together - ready for production - what is the point of the formal effort of the prototype?

  • Flexible methods reduce the need for sufficiently detailed preliminary planning. When you put something that works quickly in the hands of users, you don’t need so much need for every nuance to be right before you start. It just needs to be good enough to consider its progress.

What could happen is the following. [Hidden question: is it still “prototyping” - or is it just an Agile approach with powerful tools?]

Using tools such as Django, you can assemble an essential core data structure and implement it almost immediately. Use the standard Django administration pages, and you should be up and running as soon as you can formulate data structures and write boot utilities.

Then add presentation pages wrapped around real-life operational data. Make sure everything is in order. Since you only created a data model and HTML template pages, your investment is minimal. To explore.

Iterate until users begin to request more reasonable transactions than those available on the admin pages by default. At this point, you move away from "discovery" and "development" and "construction." Have you made any prototypes? I believe that every HTML template you have chosen was a kind of prototype. For that matter, then where are the ones you saved.

All the time you can work with more or less lively, productive users.

+5
source share

Personally, I believe that a real prototype should not be much larger than diagrams made on paper to demonstrate the flow of what you are trying to achieve. You can then use these documented threads to run multiple scripts to see if it works with the one who requested the functionality.

Once the prototype paper has been changed to the point where it works, use it as the basis for starting the coding correctly.

The advantages of this process are that you cannot actually use the prototype code in production because it does not exist. In addition, it is much easier to test it with business experts, since there is no code for them.

+2
source share

Right now I'm just drawing pictures. I would like to do more, but to get something to the point that users will realize that better than a picture will cost a lot of time.

I am interested to see some of these answers :)

I have to mention where I work, it's just me and another guy to play the role of a project manager (collect data, design and application), dbas, coders, researchers / tool developers, etc. that come with work when making an application for a small company.

+1
source share

For webapps, start with the (x) HTML + CSS layout, and then use a framework that simplifies the implementation of these functions.

Template-based frameworks are very good for this, but we had a good experience with JSF + Facelets + Seam.

+1
source share

The main reason for prototyping is risk reduction. Thus, we create prototypes of UIs that are really not very useful if they actually do not do something that the user can play with. Equally important, we also make prototypes to prove that something can work or find out how something works.

+1
source share

I start to create a prototype that does the most interesting part of the work, then I discard it and move on to a new, more interesting project ...

* kills himself *

0
source share

All Articles