valdas maksimavičius - reducing technology risks through prototyping
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?
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