valdas maksimavičius - reducing technology risks through prototyping

Post on 23-Jan-2018

33 Views

Category:

Education

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Reducing Technology Risks Through Prototyping

Valdas Maksimavičius

Production Prototyping

Continuous IntegrationTest Driven Development

Automated Tests

Production Prototyping

Continuous IntegrationTest Driven Development

Automated Tests ?

Insurance Personalization

Nice view, Valdas,

We would like to remind that your current travel insurance does not cover skiing incidents.Follow the link to purchase insurance online.

Stay safe,Your insurance agent

Big Data Landscape 2017

Separate Hype From Reality

The 8 Lessons I LearnedWhile Prototyping

1. Determine the proper questions to ask

A Checklist for Big Data Prototyping

• Integration• Data quality and governance• Security• Visualization and analytics

A Checklist for Big Data Prototyping

• Integration• Will you be ingesting real-time streaming data?• How much data is needed for your use case?• What type of data are you ingesting (relational, machine data, social, JSON)?• Which source systems are you ingesting from?• Outline the process for accessing data from those systems (owners, frequency)• ...

2. Define the hierarchy of needs

3. Identify your knowledge gaps

The compound SLA for cloud services

Service Availability99% ~ 86 hours

Service Availability99.3% ~ 61 hour

The compound SLA for cloud services

Service Availability99% ~ 86 hours

x =Service Availability99.3% ~ 61 hour

Compound Availability98.3% ~ 149 hours

4. Review the architecture

• Differentiate architecture from design

• Don’t forget about non-functional requirements

• Avoid ivory tower architectures

• Be aware of cultural differences

“Your early decisions make thebiggest impact on the eventual shape of your system [...]. It’s aterrible irony that these veryearly decisions are also theleast informed“.

5. Agree on naming

Proof of Concept(PoC)

Prototype

Minimal ViableProduct (MVP)

6. Track your efforts

A spike is a task aimed at answering a question or gathering information, rather than at producing a shippable product.

Technical Spikes

• Determine a build-versus-buy decision.

• Evaluate the potential performance.

• Evaluate specific implementation technologies.

• Develop confidence about a desired approach.

Functional Spikes

• Use whenever there is significant uncertainty about how a user might interact with the system.

• Use UI mock-ups, hardware prototypes, wire frames, page flows, or other techniques.

• Collect feedback from the customer or stakeholders.

Example

As a consumer, I want to see my daily energy use ina histogram so that I can quickly understand my past, current, and projected energy consumption.

7. Document

8. Stop starting,start finishing

Solution

Idea

Solution

Idea

Solution

Idea

Install IDE

Solution

Idea

Install IDE

Install plugins

Solution

Idea

Install IDE

Install plugins

Learn shortcuts

Solution

Idea

Install IDE

Install plugins

Learn shortcuts

Minimal Viable ProductHarness the power of CSV

Questions?

valdas.maksimavicius@gmail.comblog.thevaldas.com

Summary1. Determine the proper questions to ask2. Define the hierarchy of needs3. Identify your knowledge gaps4. Review the architecture5. Agree on naming6. Track your efforts7. Document8. Stop starting, start finishing

top related