what is rapid application development

43
What Is Rapid Application Development? Stanley Idesis

Upload: outsystems

Post on 22-Jan-2018

377 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: What is Rapid Application Development

What Is Rapid Application Development?Stanley Idesis

Page 2: What is Rapid Application Development

An 80s Baby

2

Rapid application development, or

RAD, was among the first

development methods to challenge

traditional waterfall development

practices.

Though often mistaken for a specific

model, rapid application

development is the idea that we

benefit when we treat our software

projects like clay, rather than steel.

Page 3: What is Rapid Application Development

3

“Software is clay, not steel”- RAD

Page 4: What is Rapid Application Development

A Coded Bridge?

4

Software is a unique engineering

structure because it is highly

transient, unlike traditional

engineering projects.

Engineers cannot begin to build a

bridge and change the design

partway — that’s chaotic and costly.

But a bridge built in software?

Engineers can modify it daily.

RAD favors rapid prototyping over costly

planning

Page 5: What is Rapid Application Development

5

A Brief History of RAD

Page 6: What is Rapid Application Development

In the 1970s...

6

Humanity began to want software.

Software projects took months of laborious planning and even more time in development — just like traditional engineering projects.

Software architects worked with business and IT management to draft functional requirements, then spent countless hours defining them in spec sheets.

Page 7: What is Rapid Application Development

With Specifications Prepared...

7

Development began.

Anywhere from months to years later, business and IT stakeholders received their first glimpse of the software product they requested.

And if it failed to meet their expectations, the engineers would refactor — the costs of which were often extraordinary.

Page 8: What is Rapid Application Development

This Process...

8

Which began with the blackboard, moved to spec sheet, then to software, and terminated at the user, is known colloquially as the waterfall approach.

It mirrored traditional engineering assignments that worked with physical materials like wood, cement, and iron. Once set and paid for, changing these resources is a massive undertaking and prohibitively expensive.

Page 9: What is Rapid Application Development

In the 1980s

9

Barry Boehm and James Martin recognized the obvious: software is not built of material resources.

They understood software for what it was: infinitely and affordably malleable.

Boehm and Martin took advantage of software’s inherent pliability to design brand new development models: the Spiral Model and the James Martin RAD model.

Page 10: What is Rapid Application Development

Both Models Evolved

1

0

To take on other forms which ultimately acted as precursors to the Agile Method.

Though often used interchangeably, as if they mean the same thing, RAD and agile are quite different.

Snow leopards are agile, magnificent creatures

Just FYI

Page 11: What is Rapid Application Development

1

1

RAD vs Agile

Page 12: What is Rapid Application Development

RAD vs Agile

1

2

Rapid application development is

not only thought of as

interchangeable with agile, but also

frequently directly contrasted with

it. Unfortunately, it’s more

complicated than that.

RAD is a forbear of agile, but agile

encompasses far more than a

development model. It more

closely resembles a philosophy

than a methodology.

RAD is a methodology, Agile is a philosophy

Page 13: What is Rapid Application Development

Agile Says...

1. “Customer

satisfaction by early

and continuous delivery

of valuable software.”

This is a core RAD principle.

1

3

...RAD Says

Page 14: What is Rapid Application Development

Agile Says...

2. “Welcome changing

requirements, even in

late development.”

Also found in RAD practice

1

4

...RAD Says

Page 15: What is Rapid Application Development

Agile Says...

3. “Working software is

delivered frequently

(weeks rather than

months).”

Specific time-frames are not

recommended by RAD,

though speed is clearly

emphasized.

1

5

...RAD Says

Page 16: What is Rapid Application Development

Agile Says...

4. “Close, daily

cooperation between

business people and

developers.”

No direct equivalent in RAD,

but feedback from end-

users is critical to the RAD

process.

1

6

...RAD Says

Page 17: What is Rapid Application Development

Agile Says...

5. “Projects are built

around motivated

individuals, who should

be trusted.”

RAD has no opinion on the

makeup of individual

team members.

1

7

...RAD Says

Page 18: What is Rapid Application Development

Agile Says...

6. “Face-to-face

conversation is the best

form of communication

(co-location).”

RAD has no opinion

regarding locality of team

members.

1

8

...RAD Says

Page 19: What is Rapid Application Development

Agile Says...

7. “Working software is

the primary measure of

progress.”

RAD focuses on delivering

working software as

frequently as possible.

1

9

...RAD Says

Page 20: What is Rapid Application Development

Agile Says...

8. “Sustainable

development, able to

maintain a constant

pace”

RAD offers no opinion

regarding the pace of

development other than

“rapid.”

2

0

...RAD Says

Page 21: What is Rapid Application Development

Agile Says...

9. “Continuous

attention to technical

excellence and good

design”

RAD principles focus on

functionality and user

satisfaction.

Quality of design and

implementation are

unnecessary, but ideal

byproducts.

2

1

...RAD Says

Page 22: What is Rapid Application Development

Agile Says...

10. “Simplicity—the art

of maximizing the

amount of work not

done—is essential”

Here again, RAD does not

emphasize reduction of

work, but proclaims that

RAD projects will require

less work in the long term.

2

2

...RAD Says

Page 23: What is Rapid Application Development

Agile Says...

11. “Best architectures,

requirements and

designs emerge from

self-organizing teams.”

RAD does not limit itself to a

team structure.

2

3

...RAD Says

Page 24: What is Rapid Application Development

Agile Says...

12. “Regularly, the team

reflects on how to

become more effective

and adjusts

accordingly.”

Not necessary or inherent

to RAD practices

2

4

...RAD Says

Page 25: What is Rapid Application Development

Agile...

2

5

Takes several steps beyond the

scope of RAD.

While agile dictates the ideal

working environment (just shy of

how many rubber ducks to keep

on your desk), RAD focuses on how

to build software products for your

clients and end-users.

Let’s take a closer look at what RAD

entails.

Two. In case the first duck doesn’t “get you”

Page 26: What is Rapid Application Development

2

6

RAD Methodology

Page 27: What is Rapid Application Development

1. Define Requirements

2

7

A RAD project begins by defining a

loose set of requirements. And

they’re kept loose because RAD

permits requirements to change at

any point in the cycle.

The client provides their vision for

the product and comes to an

agreement with developers on the

initial requirements that satisfy

that vision.

Page 28: What is Rapid Application Development

2. Prototype

2

8

Developers demonstrate

something to the client. This can

be a prototype that satisfies all or

only a portion of requirements (as

in early-stage prototyping).

This prototype may cut corners to

reach a working state, and that’s

acceptable. Most RAD approaches

have a finalization stage at which

developers pay down technical

debts accrued by early prototypes.

Page 29: What is Rapid Application Development

3. Incorporate Feedback

2

9

Developers present work to the

client or end-user. They collect

feedback on everything from

interface to functionality—it is here

where product requirements may

come under scrutiny.

Clients may change their minds or

discover that something which

seemed right on paper, made no

sense in practice.

Page 30: What is Rapid Application Development

4. Finalize Product

3

0

Developers optimize their

implementation to improve

stability, maintainability and a third

word ending in ‘-ility.’

Both Boehm’s Spiral Model and

James Martin’s RAD Model make

use of these four steps to help

development teams reduce risk

and build excellent products.

But RAD has drawbacks as well...

Page 31: What is Rapid Application Development

3

1

Advantages and Disadvantages

Page 32: What is Rapid Application Development

Speed

3

2

ScaleVS

In the traditional waterfall

approach, clients invariably

requested changes after delivery.

With RAD, projects are more likely

to finish on time and to the client’s

satisfaction.

When a RAD project expands

beyond a single team, the

development cycle invariably

slows and muddles the project’s

direction.

Simply put, it’s difficult to keep a

large group of people on the

same page when your story

changes constantly.

Page 33: What is Rapid Application Development

Cost

3

3

CommitmentVS

In waterfall, IT risks building and

fleshing out complex feature sets

that clients may choose to gut

from the final product.

The time spent building zombie

features can never be recovered,

and that translates to sunk costs.

RAD developers build the exact

systems that clients require and

nothing more.

In waterfall, clients focused on

their primary tasks while

developers focused on theirs:

building the product.

In RAD, the prototyping cycles

require developers and clients

to commit to more frequent

meetings.

Page 34: What is Rapid Application Development

Developer Satisfaction

3

4

Interface-FocusVS

In waterfall, developers work in

silos. And when they finally present

their product to an unappreciative

client, their ego takes a hit.

In RAD, the client is there every

step of the way. This gives

developers the confidence that

upon delivery, their work is

appreciated.

RAD motivates developers to find

the perfect solution for clients.

The clients judge the solution

only by what they can interact

with—and often, that is merely a

facade.

As a consequence, some

developers forego best back-

end practices to accelerate

front-end development.

Page 35: What is Rapid Application Development

Good RAD Projects

3

5

● Internal employee tools

● Customer portals

● B2C applications

Not so good RAD projects…

● Mission-critical software

● Flight controls

● Pacemakers…

A team building a RAD pacemaker will struggle to collect user feedback

from the deceased.

Page 36: What is Rapid Application Development

3

6

Tools Which Enable RAD

Page 37: What is Rapid Application Development

Design and Prototyping Tools

The products in this

category help teams craft

interactive designs at

impressive speeds. And

some tools on this list,

like Webflow, allow

designers to export

completed designs as

functional cross-browser

prototypes.

3

7

Tool Prototype Requires

Origami Studio Mobile macOS

InVision Web, Mobile, Wearables macOS

Webflow Web, Mobile Web

Mockplus Web, Mobile macOS, Windows

Balsamiq Web, Mobile macOS, Windows

Adobe XD Web, Mobile macOS, Windows

Sketch Web, Mobile macOS

JustInMind Web, Mobile, Wearable macOS, Windows

Proto.io Web, Mobile, Wearable Web

Page 38: What is Rapid Application Development

User Testing and Feedback Tools

RAD methodology

requires frequent

feedback from clients

and end-users. And in

modern workflows,

developers who work

offsite prefer to solicit

feedback remotely rather

than book travel and

accommodations

whenever they require

input from clients.

3

8

Tool Feedback For Best For

InVision Web, Mobile Clients

Red Pen Web, Mobile Clients

Conjure Web Clients

Usability Sciences Web, Mobile End-Users

UserTesting Web, Mobile End-Users

Validately Web End-Users

UserBrain Web End-Users

Page 39: What is Rapid Application Development

Rapid Development Tools

If your team has strict

technology requirements

or a limited skill set, it’s

easier to stick with what

they know. But if you’re

willing to consider a new

approach to

development, the tools

in this category will

accelerate your

production cycle.

3

9

Tool App Types Tool Type

Salesforce AppCloud Web, Mobile No-Code, Low-Code

Alpha Software Windows, Web, Mobile Low-Code

Zoho Creator Web Low-Code

Appian Web, Mobile Low-Code

WaveMaker Web, Mobile Low-Code

Spring Desktop, Web, Mobile SDK

Mendix Web, Mobile Low-Code

Kony Web, Mobile Low-Code, SDK

OutSystems Web, Mobile Low-Code, SDK

Page 40: What is Rapid Application Development

4

0

How OutSystems Enables RAD

Page 41: What is Rapid Application Development

Truly Integrated Development

4

1

At the core of OutSystems lies a

powerful development

environment.

Our tool enables everyone from IT-

adjacent roles to veteran

developers to build enterprise-

grade web and mobile applications

without code.

Seasoned developers can override behavior with custom front and

backend scripts.

Page 42: What is Rapid Application Development

Beyond RAD

4

2

OutSystems goes past enabling

rapid application development by

including hosting, dynamic scaling,

release automation, performance

monitoring, user management,

version control, and much more on

top of a battle-tested cloud

platform.

Check? Nope. That would be checkmate.

Page 43: What is Rapid Application Development

4

3

▶ Two-minute demo ▶

Ready to develop 6x faster?