Professional Documents
Culture Documents
Prototypes
Prototype
Stakeholders often find it difficult to express their
real needs.
BIM Engineers often find it difficult to predict how
a final system will affect the working environment.
It is also difficult to know how the final system
will impact other systems during operation.
Requirement models and reviews can help reduce
some uncertainty.
There is a technique to trying out a requirement
before building it called Prototyping.
RED SUN Inc.
Definition
A prototype is an initial version of a BIM
system, which is used to demonstrate concepts,
trying out design options and generally finding
out more about the problem and its possible
solutions.
A prototype typically simulates only a few aspects
of the functions of the proposed system and may
be different from the actual implementation.
The main purpose of a prototype is to allow users
to review the requirements for the system by
actually trying them out, rather than having to
articulate the requirements based on their ideas.
RED SUN Inc.
BIM Prototyping
BIM prototyping supports:
Requirements elicitation: Prototypes allow
users to experiment to see how systems
support their work. They get new ideas for
requirements and can find what is working or
not working in the BIM, then they can rewrite
the requirements.
Requirements validation: Prototypes may
reveal errors and omissions in the
requirements which have been proposed. A
feature seems well defined but when used with
others, stakeholders may find that their view
maybe incorrect or incomplete, leading to
changing the requirements.
RED SUN Inc.
Benefits
Misunderstanding between stakeholders and
BIM Engineers can be identified quickly as
proposed functions are demonstrated.
BIM Engineers may find incomplete or
inconsistent requirements as the prototype is
developed.
A limited working system is available quickly to
demonstrate the feasibility and usefulness of
the proposed system to management personnel.
The prototype may be used as a basis for writing
the specification for the system.
Other Benefits
A prototype can be used for:
User training before the system is built.
Improving system usability.
Improving design quality.
Improving maintainability.
Reducing development effort.
Accelerating delivery of system.
Improving stakeholders engagement in the
development process.
Throwaway Prototype
Throwaway (Rapid Prototyping) is the process of
creation of a model that will be discarded after
requirements gathering is accomplished.
Throwaway is a simple working model of the
system to visually show stakeholders what their
requirements may look like when implemented
into a finished system.
Throwaway model is very informal and acts as the
starting point from which users can re-examine
their expectations and clarify their requirements.
For example: A screen display menu option.
A set of buttons, each represents a function.
Throwaway Prototype
Requirements
Establish
Prototype
Objectives
Define
Prototype
Functionality
Develop
Prototype
Evaluate
Prototype
Confirm, Clarify
Requirements
Evolutionary Prototype
Evolutionary prototyping is building a very
robust prototype in a structured manner,
constantly refining it.
The evolutionary prototype forms the heart
of the proposed system, and is based on
the improvements and continual
refinement while the real system is built.
BIM Engineers only build based on
requirements that are well understood and
continually verified with stakeholders.
RED SUN Inc.
Evolutionary Prototyping
Develop Abstract
Specification
Build Prototype
System
Use
Prototype System
No
Validate
Requirements
& Build System
Yes
System Adequate?
10
Best Practices - 1
In this prototyping technique, rather than focus
on the entire system, BIM Engineers start
building a unit of the system, then uses the unit
that has been built to inform and serve as a
starting point for other units.
BIM Engineers start the process with
freeform exploration unconstrained by any
specific technology.
By asking questionIs this what users want? Is
this what the business needs? The engineer
continues to refine the idea and allows it to
manifest until they can come up with a set of
concrete realities of the actual system
requirements.
RED SUN Inc.
11
Best Practices - 2
When prototyping using the evolutionary method,
the actual system and prototype become
intertwined. If youre prototyping a new
application or product, the prototype is essentially
a rough draft of the actual application. However,
when updating the design of an existing
application, the production version can serve as
the starting point for the p rototype of the new
solution.
The true power of prototyping really emerges
during iteration when users can interact with the
prototype.
The first static prototype idea always seems
simple and elegant but when users are able to
interact with the prototype, BIM Engineers
often discover a problem that went unnoticed
when they started the prototype.
RED SUN Inc.
12
Best Practices - 3
Once users provide feedback and BIM Engineers
begin work on the next iteration, BIM Engineers
must ask: How fast will our team be able to
iterate? The longer an iteration takes, the less
valuable your prototype.
The best lesson is to have a many small-step
approach and continue to involve users in
evaluation to provide quick feedback.
Do not start a large prototype because the
complexity makes it harder for users to
experience the system and difficult to create
requirements.
RED SUN Inc.
13
Operational Prototype
Operational is a prototype built to demonstrate
that the system can satisfy user needs.
Unlike throwaway that clarifies ambiguous
requirements, operational tests the feasibility of
portions of the system, and allows users to test
quality attributes.
Operational is most often used to minimize risk in
large complex systems.
To demonstrate how a portion of the BIM
system will work once it is operational and
demonstrates whether known requirements will
satisfy users.
RED SUN Inc.
14
Benefits
Operational prototype can be used to:
Assess the feasibility of quality attributes such
as performance, usability and security.
Detect unnecessary functionality, missing
steps, or overly complex user interfaces.
Test complex or risky interfaces to external
systems.
Allow BIM Engineers to and experience design
implementation early in
the project.
Reduce overall risks by revealing missing
erroneous and infeasible requirements.
15
Usability Test
Usability tests can be created by recording,
observing, and analyzing what happens when
users try to accomplish tasks with operational
prototypes.
Usability tests assess user experience when
interacting with the BIM system in a controlled
environment, where data about the interactions is
collected for further analysis (i.e., number of
menu items selected, number of errors or
restarts, number of key strokes or clicks needed
to complete the task, etc.)
BIM Engineers can interview users after each use
to adjust the prototypes and understand their
opinions on the proposed system.
RED SUN Inc.
16
Usability
One of the best ways to test the usability of a
BIM system is to develop a prototype or build
a mock-up of the system, which simulates the
look and feel of the interface and brings many of
the complex interaction problems out in the open.
BIM Engineers can show the prototype to
users to determine if it was really what they had
in mind. If the prototype does not meet their
expectations, it is early enough in the BIM
development cycle to rework the requirements.
A prototype allows BIM Engineers to learn
how they need to change the requirements, if
necessary, before the requirements are fully
developed. Prototypes can help the BIM
Engineer better understand the requirements.
RED SUN Inc.
17
18
Prototype Tools
Efficiently using prototyping requires that
organizations have proper tools and a staff
trained to use those tools.
Tools used in prototyping can vary from individual
tools, like 4th generation programming languages
used for rapid prototyping, to complex integrated
CASE tools.
4th generation programming languages like Visual
Basic and ColdFusion are frequently used since
they are cheap, well known and relatively easy
and fast to use.
Model Generators are tools that allow you to model
the domain model, then drag and drop the User
Interfaces. They allow engineers to run the
prototype and use basic database functionality.
RED SUN Inc.
19
20
21
22
23
24
Answer:
I identify the requirements for each user by listing as
many requirements as necessary. Most requirements will
be functional and use a template to write them down:
Requirement Identification: <REQ # 1.1>
Requirement Type: <Functional>
Description: The system allows user to enter
password
25
Summary
Prototypes are used to gather requirements, and
are especially useful in visualizing the look and
feel of an application and the process flow.
Prototypes are built early in the development
lifecycle to provide insight into the system.
A prototype represents the shell of an actual
proposed system.
The useful life of a prototype will vary according
to the project lifecycle model. Some prototypes
can be thrown away and some components can
be reused later in the project.
Evolutionary prototypes can be used as the basis
for developing the final system.
RED SUN Inc.
26
27