HOWTO DEVELOP PRODUCT
PROTOTYPE
Herry Prihandoko
Blue PowerTechnology
Software
Development
Lifecycle
Blue PowerTechnology, PT
Requirements
Gathering
Design
Development
Testing
Deployment
& Maintenance
What is Software Prototype?
It is a software application that displays the main functionality of
the product under development
Blue PowerTechnology, PT
Why you
need
software
prototype?
It’s often useful to build a prototype before the
actual development to visualize a new software idea
in a more clear way
Blue PowerTechnology, PT
Classification
of
Prototypes
Blue PowerTechnology, PT
Low-fidelity
prototype
• Could be quickly produced
• Represents the screens mockups and
demonstrates the main business
scenarios of the future system
Middle-
fidelity
prototype
• The main purpose to partially simulate
the future system functionality
• Usually doesn’t use real data
High-fidelity
prototype
• Fully interactive
• Simulates much of the future system’s
functionality
• Could use real data or database or
produce model that become the part of
the future real
Types of
Prototypes
Blue PowerTechnology, PT
Throwaway prototypes
• A prototype which is usually
practical implementation of
the system is produced to
help discover requirements
problems and then discarded.
The system then developed
using some other
development process.
Evolutionary
Prototypes
• An approach to system
development where an initial
prototype is produced and
refine through a number of
stages to the final system.
Prototype
objective
Blue PowerTechnology, PT
The objective of evolutionary prototype
is to deliver a working system to end
user. The development starts with
those requirements which are best
understood.
The objective of throwaway
prototyping is to validate or derive the
system requirements. The prototyping
process start with those requirements
which are poorly understood.
Evolutionary
prototype
Blue PowerTechnology, PT
Must be used in
systems where the
specification cannot
be developed in
advance e.g. AI
system and user
interface system
Based on techniques
allow rapid system
iterations
Verification is
impossible as there is
no specification.
Validation mean
demonstrating the
adequacy of the
system
Throwaway
Prototype
• Use to reduce requirement risk
• The prototype is developed from an initial specification, delivered
for experiment and then discarded
• TheThrowaway prototype should NOT considered as a final system
– Some system characteristics may have been left out
– There is no specification for long-term maintenance
– The system will be poorly structured and difficult to mantain
Blue PowerTechnology, PT
Rapid
prototyping
techniques
• Various techniques may be used for rapid development
– Dynamic high level language development
– Database programming
– Component and application assembly
• There are not exclusive technique – they are often used
together
• Visual programming is an inherent part of most
prototype development system
Blue PowerTechnology, PT
Stepwise
approach to
design
a software
prototype
Blue PowerTechnology, PT
Gathering the
initial
requirements
Developing
the prototype
Reviewing
the prototype
Revise and
enhance the
prototype
Gathering
the initial
requiremen
t
Blue PowerTechnology, PT
Gathering and
understanding the
main product
requirement
Some detail and
accessory functions
can be ignore
Developing
the
prototype
Blue PowerTechnology, PT
Customers
Opportunity
to follow the
main business
flow with user
interface
Provide user
interface
Showcase
feature of the
product
Blue PowerTechnology, PT
To get the customers’ or
even and users’ feedback
To test the idea
Reviewing
the
prototype
To run a realize usability
testing (in some cases)
Revise
and enhance
the prototype
Blue PowerTechnology, PT
Revise and enhance the prototype
All the feedback
is collected and
analyzed
Initial
requirements
are clarified
and
complemented
The
development
team better
understands
what exactly is
expected from
the product
Some changes
can be added
or eliminated
IBM
Offering
Why the
prototype
model can
be useful
Blue PowerTechnology, PT
Requirement
gathering
and
qualifying
As a part of
the proposal
to the
customer
As a sample
model for
the
developers
As a sample
model for
the testers
As a tool for
testing the
ideas about
the product
features
Object of
usability
testing
Advantages
Blue PowerTechnology, PT
User’s involvement is increased
Customer’s feedback is available at early stages
Missing or redundant functionality could be identified quicker
Confusing or implicit requirements can be clarified and agreed
Gives some benefits at the stage of preparing the proposal or
tender documentation and contract signing
Efficient communications can reduce time and money for
development
Product quality can be increased due to good understanding
the requirements by the whole development team
Disadvantages
Blue PowerTechnology, PT
The efforts of investing in prototype could be more than
the values of the results of its analysis
The risk of expanding the first project scope is very high
Customer maybe disappointed because their expectation
to the prototype is too high
Developers may try to reuse prototype to create the real
product even when it is technically not optimal realization
Time and money for actual development could be
increased due to inefficient way of building and analyzing
the prototype
When you
use
prototype
Blue PowerTechnology, PT
You are going to create a new system with a lot of
features and integrations with other systems
Your product needs various interactions with the end
users. *End users are available
Your project has a very tight deadline and there is no
time to make researches. Requirement are gathered
but there is no possibility to make clarification
The project realize the automatization of the
complicated business process with several stages
and has a very long development cycle
When you
don’t use
prototype
Blue PowerTechnology, PT
You deal
with short
project.The
requirement
specification
is available
Your project
is technical
and has not
a lot of
interactions
with users
Your
product
need various
interactions
with the und
user … but
… end users
are
unavailable
You are going
to make some
changes in
existing
system
Summary :
• Its often useful to use prototype before actual development to
visualize software idea more clear
• Be patient: using prototype model can be useful for certain
projects and pointless for the others
Blue PowerTechnology, PT
THANK YOU
Herry Prihandoko
Blue PowerTechnology
herry.prihandoko@bluepowertechnology.com

Software prototyping

  • 1.
    HOWTO DEVELOP PRODUCT PROTOTYPE HerryPrihandoko Blue PowerTechnology
  • 2.
  • 3.
    What is SoftwarePrototype? It is a software application that displays the main functionality of the product under development Blue PowerTechnology, PT
  • 4.
    Why you need software prototype? It’s oftenuseful to build a prototype before the actual development to visualize a new software idea in a more clear way Blue PowerTechnology, PT
  • 5.
    Classification of Prototypes Blue PowerTechnology, PT Low-fidelity prototype •Could be quickly produced • Represents the screens mockups and demonstrates the main business scenarios of the future system Middle- fidelity prototype • The main purpose to partially simulate the future system functionality • Usually doesn’t use real data High-fidelity prototype • Fully interactive • Simulates much of the future system’s functionality • Could use real data or database or produce model that become the part of the future real
  • 6.
    Types of Prototypes Blue PowerTechnology,PT Throwaway prototypes • A prototype which is usually practical implementation of the system is produced to help discover requirements problems and then discarded. The system then developed using some other development process. Evolutionary Prototypes • An approach to system development where an initial prototype is produced and refine through a number of stages to the final system.
  • 7.
    Prototype objective Blue PowerTechnology, PT Theobjective of evolutionary prototype is to deliver a working system to end user. The development starts with those requirements which are best understood. The objective of throwaway prototyping is to validate or derive the system requirements. The prototyping process start with those requirements which are poorly understood.
  • 8.
    Evolutionary prototype Blue PowerTechnology, PT Mustbe used in systems where the specification cannot be developed in advance e.g. AI system and user interface system Based on techniques allow rapid system iterations Verification is impossible as there is no specification. Validation mean demonstrating the adequacy of the system
  • 9.
    Throwaway Prototype • Use toreduce requirement risk • The prototype is developed from an initial specification, delivered for experiment and then discarded • TheThrowaway prototype should NOT considered as a final system – Some system characteristics may have been left out – There is no specification for long-term maintenance – The system will be poorly structured and difficult to mantain Blue PowerTechnology, PT
  • 10.
    Rapid prototyping techniques • Various techniquesmay be used for rapid development – Dynamic high level language development – Database programming – Component and application assembly • There are not exclusive technique – they are often used together • Visual programming is an inherent part of most prototype development system Blue PowerTechnology, PT
  • 11.
    Stepwise approach to design a software prototype BluePowerTechnology, PT Gathering the initial requirements Developing the prototype Reviewing the prototype Revise and enhance the prototype
  • 12.
    Gathering the initial requiremen t Blue PowerTechnology,PT Gathering and understanding the main product requirement Some detail and accessory functions can be ignore
  • 13.
    Developing the prototype Blue PowerTechnology, PT Customers Opportunity tofollow the main business flow with user interface Provide user interface Showcase feature of the product
  • 14.
    Blue PowerTechnology, PT Toget the customers’ or even and users’ feedback To test the idea Reviewing the prototype To run a realize usability testing (in some cases)
  • 15.
    Revise and enhance the prototype BluePowerTechnology, PT Revise and enhance the prototype All the feedback is collected and analyzed Initial requirements are clarified and complemented The development team better understands what exactly is expected from the product Some changes can be added or eliminated
  • 16.
  • 27.
    Why the prototype model can beuseful Blue PowerTechnology, PT Requirement gathering and qualifying As a part of the proposal to the customer As a sample model for the developers As a sample model for the testers As a tool for testing the ideas about the product features Object of usability testing
  • 28.
    Advantages Blue PowerTechnology, PT User’sinvolvement is increased Customer’s feedback is available at early stages Missing or redundant functionality could be identified quicker Confusing or implicit requirements can be clarified and agreed Gives some benefits at the stage of preparing the proposal or tender documentation and contract signing Efficient communications can reduce time and money for development Product quality can be increased due to good understanding the requirements by the whole development team
  • 29.
    Disadvantages Blue PowerTechnology, PT Theefforts of investing in prototype could be more than the values of the results of its analysis The risk of expanding the first project scope is very high Customer maybe disappointed because their expectation to the prototype is too high Developers may try to reuse prototype to create the real product even when it is technically not optimal realization Time and money for actual development could be increased due to inefficient way of building and analyzing the prototype
  • 30.
    When you use prototype Blue PowerTechnology,PT You are going to create a new system with a lot of features and integrations with other systems Your product needs various interactions with the end users. *End users are available Your project has a very tight deadline and there is no time to make researches. Requirement are gathered but there is no possibility to make clarification The project realize the automatization of the complicated business process with several stages and has a very long development cycle
  • 31.
    When you don’t use prototype BluePowerTechnology, PT You deal with short project.The requirement specification is available Your project is technical and has not a lot of interactions with users Your product need various interactions with the und user … but … end users are unavailable You are going to make some changes in existing system
  • 32.
    Summary : • Itsoften useful to use prototype before actual development to visualize software idea more clear • Be patient: using prototype model can be useful for certain projects and pointless for the others Blue PowerTechnology, PT
  • 33.
    THANK YOU Herry Prihandoko BluePowerTechnology herry.prihandoko@bluepowertechnology.com