requirements for project management

profilejohn cena
Prototyping.pptx

1

GCIS 514

Requirements and Project Management

Prototyping

Richard Lamb, MS

Prototyping Chapter 15

Prototyping is used to elicit and validate stakeholder needs through an iterative process that creates a model or design of requirements.

It is also used to optimize user experience, to evaluate design options, and as a basis for development of the final business solution.

2

Prototyping

A software requirements prototype is a mock-up or partial implementation of a software system

Helps developers, users, and customers better understand system requirements

Helps clarify and complete requirements

Provides early response to “I'll know it when I’ll see (or won’t see) it” attitude

3

Prototyping

A software requirements prototype is a mock-up or partial implementation of a software system

Effective in addressing the “Yes, But” and the “Undiscovered Ruins” syndromes

Helps find new functionalities, discuss usability, and establish priorities

4

Prototyping

Prototyping is effective in resolving uncertainties early in the development process

Focus prototype development on these uncertain parts

Encourages user participation and mutual understanding

5

Prototyping – Realizations

Prototypes can take many forms:

Paper prototypes

Prototype on index card

Storyboard

Screen mock-ups

6

Prototyping – Realizations

Prototypes can take many forms:

Interactive prototypes

Using high-level languages (e.g., Visual Basic, Delphi, Prolog)‏

Using scripting languages (e.g., Perl, Python)‏

Using animation tools (e.g., Flash/Shockwave)‏

7

Prototyping – Types

Horizontal: focus on one layer – e.g., user interface

Vertical: a slice of the real system

8

Prototyping – Types

Evolutionary can be turned into a product incrementally, giving users a working system more quickly (begins with requirements that are more understood)

9

Prototyping – Types

Throw-away: less precise, thrown away, focusing on the less well-understood aspects of the system to design, designed to elicit or validate requirements

10

Prototyping – Fidelity (1)

Fidelity is the extent to which the prototype is real and (especially) reactive

Fidelity may vary for throw-away prototypes

11

Prototypes don’t necessarily look like final products — they can have different fidelity.

The fidelity of a prototype refers to how it conveys the look-and-feel of the final product (basically, its level of detail and realism).

Fidelity can vary in the areas of:

Visual design

Content

Interactivity

There are two main types of prototypes, ranging between these two extremes:

Low-Fidelity

High-Fidelity

Product teams choose a prototype’s fidelity based on the goals of prototyping, completeness of design, and available resources.

Prototyping – Fidelity (1)

High-fidelity

Applications that "work" – you press a button and something happens

Often involves programming or executable modeling languages

12

Prototyping – Fidelity (1)

High-fidelity

Advantages: provides an understanding of functionality, reduce design risk, more precise verdicts about requirements

13

Prototyping – Fidelity (1)

High-fidelity

Disadvantages: takes time to build

more costly to build

sometimes difficult to change

14

Prototyping – Fidelity (1)

High-fidelity

Disadvantages: false sense of security

often focuses on details rather than on the goals and important issues

15

Prototyping – Fidelity (2)

Low-fidelity

It is not operated – it is static

Advantages: easy and quick to build

cheaper to develop

excellent for interfaces

16

Low-fidelity prototyping

Low-fidelity (lo-fi) prototyping is a quick and easy way to translate high-level design concepts into tangible and testable artifacts. The first and most important role of lo-fi prototypes is to check and test functionality rather than the visual appearance of the product.

Here are the basic characteristics of low-fidelity prototyping:

Visual design: Only some of the visual attributes of the final product are presented (such as shapes of elements, basic visual hierarchy, etc.).

Content: Only key elements of the content are included.

Interactivity: The prototype can be simulated by a real human. During a testing session, a particular person who is familiar with design acts as a computer and manually changes the design’s state in real-time. Interactivity can also be created from wireframes, also known as “connected wireframes.” This type of prototype is basically wireframes linked to each other inside an application like PowerPoint or Keynote, or by using a special digital prototyping tool such as Adobe XD.

Pros

Inexpensive. The clear advantage of low-fidelity prototyping is its extremely low cost.

Fast. It’s possible to create a lo-fi paper prototype in just five to ten minutes. This allows product teams to explore different ideas without too much effort.

Collaborative. This type of prototyping stimulates group work. Since lo-fi prototyping doesn’t require special skills, more people can be involved in the design process. Even non-designers can play an active part in the idea-formulation process.

Clarifying. Both team members and stakeholders will have a much clearer expectation about an upcoming project.hgygh

Cons

Uncertainty during testing. With a lo-fi prototype, it might be unclear to test participants what is supposed to work and what isn’t. A low-fidelity prototype requires a lot of imagination from the user, limiting the outcome of user testing.

Limited interactivity. It’s impossible to convey complex animations or transitions using this type of prototype.

Prototyping – Fidelity (2)

Low-fidelity

It is not operated – it is static

Advantages: offers the opportunity to engage users before coding begins

encourage creativity

17

Low-fidelity prototyping

Low-fidelity (lo-fi) prototyping is a quick and easy way to translate high-level design concepts into tangible and testable artifacts. The first and most important role of lo-fi prototypes is to check and test functionality rather than the visual appearance of the product.

Here are the basic characteristics of low-fidelity prototyping:

Visual design: Only some of the visual attributes of the final product are presented (such as shapes of elements, basic visual hierarchy, etc.).

Content: Only key elements of the content are included.

Interactivity: The prototype can be simulated by a real human. During a testing session, a particular person who is familiar with design acts as a computer and manually changes the design’s state in real-time. Interactivity can also be created from wireframes, also known as “connected wireframes.” This type of prototype is basically wireframes linked to each other inside an application like PowerPoint or Keynote, or by using a special digital prototyping tool such as Adobe XD.

Pros

Inexpensive. The clear advantage of low-fidelity prototyping is its extremely low cost.

Fast. It’s possible to create a lo-fi paper prototype in just five to ten minutes. This allows product teams to explore different ideas without too much effort.

Collaborative. This type of prototyping stimulates group work. Since lo-fi prototyping doesn’t require special skills, more people can be involved in the design process. Even non-designers can play an active part in the idea-formulation process.

Clarifying. Both team members and stakeholders will have a much clearer expectation about an upcoming project.hgygh

Cons

Uncertainty during testing. With a lo-fi prototype, it might be unclear to test participants what is supposed to work and what isn’t. A low-fidelity prototype requires a lot of imagination from the user, limiting the outcome of user testing.

Limited interactivity. It’s impossible to convey complex animations or transitions using this type of prototype.

Prototyping – Fidelity (2)

Low-fidelity

Disadvantages: may not cover all aspects of interfaces, are not interactive, may seem non-professional in the eyes of some stakeholders (sigh!)

18

Prototyping – Risks

Prototypes that focus on user-interface tends to lose the focus of demonstrating/exploring functionality

Prototypes can bring customers’ expectations about the degree of completion unrealistically up

19

Though prototyping decreases the probability of a software development project failure, this activity has its own risks.

The biggest risk is that anyone who is interested in the project after facing a working prototype will decide that the final product is almost ready.

‘Wow, you seem to have already done everything!’ enthusiastically says the one you asked to evaluate the prototype. ‘It looks great. Is it possible that you will finish it quickly and give it to me?” In short, then: NO!

Prototyping – Risks

Do not end-up considering a throwaway prototype as part of the production system

Always clearly state the purpose of each prototype before building it

20

Beware of those project stakeholders who think that the prototype is just an early version of the final product. Managing expectations is one of the key components of the success of prototyping.

Everyone who sees a prototype must understand its purpose and the limits of its application. Web testing service comes in handy when you want to improve design and content of e-commerce site. 

Do not let the fears associated with premature release of the product draw you away from creating a prototype. Explain to everyone that you are not going to release it as the final product.

One way to control this risk is to use paper and electronic prototypes. None of those who evaluate the paper prototype will believe that the product is almost ready.

Another way is to choose prototyping tools that are different from those used to develop the final product. This will help to counter those who ask to “quickly finish” and release a prototype.

Moreover, beware when users start to bother you with the question: “How the user interface will look like and operate?” Working with prototypes that resemble the final product, users easily forget that at the stage of requirements specification they should basically think what they want to see in the system.

Create the prototype only with those demonstrations, functions and navigation capabilities that will help you eliminate ambiguities in the requirements.

Prototypes

Partial implementations

Best used to explore requirements

Great for “Yes, But” responses

Evaluate the results

21

Prototype Roles

Evolutionary

Usually part of an agile or rapid application development effort

Part of iterative stages of code refinement

Code kept

Prototype Roles

Throw-away

Requirements gathering tool

Particularly useful with interface development

None of the code should be carried forward into the final product