SlideShare a Scribd company logo
1 of 72
Download to read offline
The Art of the Spike



                                                                                                                 Aaron Bedra
                                                                                                     Principal, Relevance, Inc.
               Copyright 2007-2010 Relevance, Inc. This presentation is licensed under a Creative Commons Attribution-Noncommercial-Share
                                 Alike 3.0 United States License. See http://creativecommons.org/licenses/by-nc-sa/3.0/us/
Saturday, May 15, 2010
Saturday, May 15, 2010
DRY


Saturday, May 15, 2010
Do you have 10
                       years of
                   experience or the
                     same year 10
                        times?
Saturday, May 15, 2010
So you’re starting
                      a new project...

Saturday, May 15, 2010
Yes but why?


Saturday, May 15, 2010
Business value


Saturday, May 15, 2010
“Faster”


Saturday, May 15, 2010
“Better”


Saturday, May 15, 2010
“Easier”


Saturday, May 15, 2010
A Jedi craves not
                           these things
Saturday, May 15, 2010
Making money


Saturday, May 15, 2010
Preserving
                         reputation

Saturday, May 15, 2010
Saturday, May 15, 2010
We’ve just been
           assigned a new
               project


Saturday, May 15, 2010
Credit card
       authorization
Saturday, May 15, 2010
Very lean
                         information set

Saturday, May 15, 2010
Number, available
                     credit, per charge
                            limit

Saturday, May 15, 2010
Lookup by card
                            number

Saturday, May 15, 2010
Web service for
                            charges

Saturday, May 15, 2010
Transaction
                           speed is
                          essential
Saturday, May 15, 2010
Ok let’s get down
                           to planning

Saturday, May 15, 2010
We’ve decided to
                    use clojure as a
                        language


Saturday, May 15, 2010
And PostgreSQL as
                         a database
Saturday, May 15, 2010
But wait!


Saturday, May 15, 2010
Has anyone heard
                     about Redis?

Saturday, May 15, 2010
It might be a good
                      fit for this

Saturday, May 15, 2010
We should spike
                             it out!

Saturday, May 15, 2010
Research time


Saturday, May 15, 2010
Record everything!
Saturday, May 15, 2010
Time-box
                         everything!




Saturday, May 15, 2010
Getting started


Saturday, May 15, 2010
All technology you
                      are about to
                 encounter should be
                   treated as a first
                      class citizen!
Saturday, May 15, 2010
Download and
                            install

Saturday, May 15, 2010
How did it go?


Saturday, May 15, 2010
Should we keep
                             going?

Saturday, May 15, 2010
Interfacing


Saturday, May 15, 2010
Is there an SDK
                              or API?

Saturday, May 15, 2010
In the language
                          you are using?

Saturday, May 15, 2010
Does it work?


Saturday, May 15, 2010
Should we keep
                             going?

Saturday, May 15, 2010
Prototype code


Saturday, May 15, 2010
Simple CRUD


Saturday, May 15, 2010
How long did it
                             take?

Saturday, May 15, 2010
Should we keep
                             going?

Saturday, May 15, 2010
Reference
                          Example

Saturday, May 15, 2010
What does my
                          team think?

Saturday, May 15, 2010
Should we keep
                             going?

Saturday, May 15, 2010
Operations


Saturday, May 15, 2010
How do we
                          deploy it?

Saturday, May 15, 2010
How do we
                         monitor it?

Saturday, May 15, 2010
Should we keep
                             going?

Saturday, May 15, 2010
Performance


Saturday, May 15, 2010
How fast can a
                  single instance go?

Saturday, May 15, 2010
Can it scale?


Saturday, May 15, 2010
How does it
                         compare to our
                          original idea?

Saturday, May 15, 2010
Does it help us
                         meet our “why”

Saturday, May 15, 2010
Should we keep
                             going?

Saturday, May 15, 2010
Management /
                            Client

Saturday, May 15, 2010
We did a spike
                         and here’s what
                            we found

Saturday, May 15, 2010
Easy to install


Saturday, May 15, 2010
Easy to use


Saturday, May 15, 2010
The dev team has
                      a reference

Saturday, May 15, 2010
Dev team feels
                      they can be
                   productive on day
                          one
Saturday, May 15, 2010
Easy deployment


Saturday, May 15, 2010
Easy monitoring


Saturday, May 15, 2010
In memory


Saturday, May 15, 2010
Outperforms our
                        RDBMS

Saturday, May 15, 2010
Easy and fast
                            scaling

Saturday, May 15, 2010
?
Saturday, May 15, 2010
Questions?



Saturday, May 15, 2010
Contact
                •        aaronbedra.com (blog)
                •        @abedra (twitter)
                •        aaron@thinkrelevance.com
                •        github.com/abedra
                •        speakerrate.com/talks/3252




Saturday, May 15, 2010

More Related Content

Viewers also liked

Pre reception (AM) Chinese Studies Curriculum Presentation 1415
Pre reception (AM) Chinese Studies Curriculum Presentation 1415Pre reception (AM) Chinese Studies Curriculum Presentation 1415
Pre reception (AM) Chinese Studies Curriculum Presentation 1415
vv
 
Test 1
Test 1Test 1
Test 1
120746
 
Ccotcomparativebigideasvocab 100511075346-phpapp01
Ccotcomparativebigideasvocab 100511075346-phpapp01Ccotcomparativebigideasvocab 100511075346-phpapp01
Ccotcomparativebigideasvocab 100511075346-phpapp01
Ashley Birmingham
 
Narrative & film theory research assignment 7 (edited)
Narrative & film theory research assignment 7 (edited)Narrative & film theory research assignment 7 (edited)
Narrative & film theory research assignment 7 (edited)
Abbbiiieeeeeeeee
 

Viewers also liked (20)

Prototodo vf
 Prototodo vf Prototodo vf
Prototodo vf
 
Pre reception (AM) Chinese Studies Curriculum Presentation 1415
Pre reception (AM) Chinese Studies Curriculum Presentation 1415Pre reception (AM) Chinese Studies Curriculum Presentation 1415
Pre reception (AM) Chinese Studies Curriculum Presentation 1415
 
Test 1
Test 1Test 1
Test 1
 
Ccotcomparativebigideasvocab 100511075346-phpapp01
Ccotcomparativebigideasvocab 100511075346-phpapp01Ccotcomparativebigideasvocab 100511075346-phpapp01
Ccotcomparativebigideasvocab 100511075346-phpapp01
 
Zagarge talks 8032011
Zagarge talks 8032011Zagarge talks 8032011
Zagarge talks 8032011
 
Narrative & film theory research assignment 7 (edited)
Narrative & film theory research assignment 7 (edited)Narrative & film theory research assignment 7 (edited)
Narrative & film theory research assignment 7 (edited)
 
Concepto De Internet
Concepto De InternetConcepto De Internet
Concepto De Internet
 
¿Qué es big data?
¿Qué es big data?¿Qué es big data?
¿Qué es big data?
 
Why certify
Why certifyWhy certify
Why certify
 
Focus, SCNA 2011
Focus, SCNA 2011Focus, SCNA 2011
Focus, SCNA 2011
 
Leveling the playing field
Leveling the playing fieldLeveling the playing field
Leveling the playing field
 
Estatuto 3 questoes
Estatuto 3 questoesEstatuto 3 questoes
Estatuto 3 questoes
 
Clojure in the Field
Clojure in the FieldClojure in the Field
Clojure in the Field
 
Presentation3
Presentation3Presentation3
Presentation3
 
Windy City Rails - Layered Security
Windy City Rails - Layered SecurityWindy City Rails - Layered Security
Windy City Rails - Layered Security
 
Pontificating quantification
Pontificating quantificationPontificating quantification
Pontificating quantification
 
Senza nome 1
Senza nome 1Senza nome 1
Senza nome 1
 
How work will_change_pk-ruud_janssen_ectc
How work will_change_pk-ruud_janssen_ectcHow work will_change_pk-ruud_janssen_ectc
How work will_change_pk-ruud_janssen_ectc
 
Investment in india overview
Investment in india overviewInvestment in india overview
Investment in india overview
 
Repsheet: A Behavior Based Approach to Web Application Security
Repsheet: A Behavior Based Approach to Web Application SecurityRepsheet: A Behavior Based Approach to Web Application Security
Repsheet: A Behavior Based Approach to Web Application Security
 

Similar to The Art of the Spike

Agile teams as innovation teams
Agile teams as innovation teamsAgile teams as innovation teams
Agile teams as innovation teams
OpenAgile Romania
 
Elretodelanube conclusiones
Elretodelanube conclusionesElretodelanube conclusiones
Elretodelanube conclusiones
salesatocha
 
Simple Steps to Great Web Design
Simple Steps to Great Web DesignSimple Steps to Great Web Design
Simple Steps to Great Web Design
Matthew Smith
 
Cutting Edge CSS3 @ WebExpo Tour 2010
Cutting Edge CSS3 @ WebExpo Tour 2010Cutting Edge CSS3 @ WebExpo Tour 2010
Cutting Edge CSS3 @ WebExpo Tour 2010
Zi Bin Cheah
 
Doterati july2010
Doterati july2010Doterati july2010
Doterati july2010
The NAVC
 

Similar to The Art of the Spike (20)

Refactoring
RefactoringRefactoring
Refactoring
 
Agile Teams as Innovation Teams
Agile Teams as Innovation TeamsAgile Teams as Innovation Teams
Agile Teams as Innovation Teams
 
Agile teams as innovation teams
Agile teams as innovation teamsAgile teams as innovation teams
Agile teams as innovation teams
 
Please Don't Touch the Slow Parts V2
Please Don't Touch the Slow Parts V2Please Don't Touch the Slow Parts V2
Please Don't Touch the Slow Parts V2
 
The Limited Red Society
The Limited Red SocietyThe Limited Red Society
The Limited Red Society
 
Marhmallow game presentation
Marhmallow game presentationMarhmallow game presentation
Marhmallow game presentation
 
The Marshmellow challenge - esercizio di teambuilding
The Marshmellow challenge - esercizio di teambuildingThe Marshmellow challenge - esercizio di teambuilding
The Marshmellow challenge - esercizio di teambuilding
 
Elretodelanube conclusiones
Elretodelanube conclusionesElretodelanube conclusiones
Elretodelanube conclusiones
 
Mobile JavaScript Development - QCon 2010
Mobile JavaScript Development - QCon 2010Mobile JavaScript Development - QCon 2010
Mobile JavaScript Development - QCon 2010
 
Ted2010 tom wujec_marshmallow_challenge_web_version
Ted2010 tom wujec_marshmallow_challenge_web_versionTed2010 tom wujec_marshmallow_challenge_web_version
Ted2010 tom wujec_marshmallow_challenge_web_version
 
Simple Steps to Great Web Design
Simple Steps to Great Web DesignSimple Steps to Great Web Design
Simple Steps to Great Web Design
 
Drupal In The Cloud
Drupal In The CloudDrupal In The Cloud
Drupal In The Cloud
 
Layar event US introduction and cases
Layar event US introduction and casesLayar event US introduction and cases
Layar event US introduction and cases
 
Summer of Tech Careers Seminar 2010
Summer of Tech Careers Seminar 2010Summer of Tech Careers Seminar 2010
Summer of Tech Careers Seminar 2010
 
Agile Project Management Basis Software Exposition 2010
Agile Project Management Basis Software Exposition 2010Agile Project Management Basis Software Exposition 2010
Agile Project Management Basis Software Exposition 2010
 
Data Drives Decisions
Data Drives DecisionsData Drives Decisions
Data Drives Decisions
 
Cutting Edge CSS3 @ WebExpo Tour 2010
Cutting Edge CSS3 @ WebExpo Tour 2010Cutting Edge CSS3 @ WebExpo Tour 2010
Cutting Edge CSS3 @ WebExpo Tour 2010
 
Doterati july2010
Doterati july2010Doterati july2010
Doterati july2010
 
MySQL Sandbox - A toolkit for laziness
MySQL Sandbox - A toolkit for lazinessMySQL Sandbox - A toolkit for laziness
MySQL Sandbox - A toolkit for laziness
 
Summer of Tech Resume Bootcamp 2010
Summer of Tech Resume Bootcamp 2010  Summer of Tech Resume Bootcamp 2010
Summer of Tech Resume Bootcamp 2010
 

Recently uploaded

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 

The Art of the Spike