SlideShare a Scribd company logo
IMPACT
ANALYSIS
CHRISLEMA | CROWDFAVORITE
This  is  a  story  that  bears  strong  resemblance  to  a  real  
project.  I  can’t  tell  you  the  details  but  I  can  tell  you  
enough  of  it  to  make  it  useful  as  a  story.  I’ll  protect  the  
innocent.  Oh	
  wait,	
  there	
  were	
  no	
  innocents.	
  
CAN I TELL YOU A STORY?
PERFECT
CLIENT
BUILD  THE  
SOLUTION
DESIGN  THE  
SOLUTION
RECIEVE  THE  
REQUIREMENTS
GO  THROUGH  THE  
SECOND  ROUND  
OF  SAME  PHASE
NO	
  
YES	
  
TEST  &  SHOW  
THE  CLIENT
release
start  of  iteraPon
THEWAYIT’SSUPPOSEDTOWORK
LARGE
CLIENT
BUILD  THE  
SOLUTION
DESIGN  THE  
SOLUTION
RECIEVE  THE  
REQUIREMENTS
YES.  WE  KNOW  
WHO  YOU  ARE.
OK.  WE’RE  ON  IT.
NO	
  
WAIT!  LET’S  
ADD  NEW  
SCOPE
TEST  &  SHOW  
THE  CLIENT
WHATHAPPENSWHEN...
THE DANGER ZONE
The  porPon  of  a  project  where  all  your  profit  disappears  
and  you’re  wondering  how  you  got  here  in  the  first  place.
HOPE
ACTUAL
SOW  
 DEVELOPMENT  &  QA
DISCOVERY
LAUNCH
Jan
 Feb
 Mar
 Apr
 May
 Jun
 Jul
 Aug
 Sep
 Oct
 Nov
 Dec
 Jan
 Feb
 Mar
 Apr
 May
 Jun
 Jul
 Aug
 Sep
2014
 2015
THE PROJECT TIMELINE TELLS THE STORY
SOW
 DEVELOPMENT
DISCOVERY
SOW  &  CONTRACTS  
 DEVELOPMENT
DISCOVERY
LAUNCH
PARTNER  API  IS  A  WORK  IN  PROGRESS
DANGER ZONE
CLIENTS
ARE IDEA
FACTORIES
You  can’t  blame  a  client  for  having  a  lot  of  
new  ideas  when  they  can  finally  interact  
with  the  system  they’ve  been  paying  for.
DEVELOPERS
GET EASILY
ANCHORED
We  o]en  get  locked  in  on  the  original  statement  
of  work  -­‐  and  the  tasks  we  created  based  on  
them.  Even  if  a  client  has  to  adjust  course.
THE
TRUTH:
THE PROBLEM
ISN’T CLIENTS
& IT’S NOT
DEVELOPERS
THE PROJECT BY THE NUMBERS
# OF COMMITS
# OF
CONTRIBUTORS
# OF MONTHS
4461 12 8
THE PROBLEM IS OUR
BRAIN & MEMORY
0% The number of staff we have that have perfect
memory and can do impact analysis in their sleep.
IMPACT ANALYSIS
The  work  that  must  be  done  when  a  client  
requests  new  work  (new  scope)  and  it  must  be  
determined  what  the  changes  will  do  (what  
impact  they’ll  have)  on  exisPng  code.


HINT:	
  IT’S	
  REALLY	
  HARD	
  TO	
  DO.	
  
HOW DO YOU MAKE CHOICES WHEN
YOU WRITE CODE?
Idea
Insight
CODE
CODE
 CODE
Talk
Talk
Talk
Choice
 Choice
Choice
If  you  noPce  the  
performance  isn’t  
great,  maybe  you  
try  a  new  approach.
Seeing  someone  
else’s  code  helps  you  
think  about  your  own  
in  a  new  way.
New  informaPon  
suggests  you  
thought  about  it  all  
wrong.  Which  leads  
to  changes  in  your  
code.
LET ME MAKE A GUESS. YOU DON’T WRITE THIS ALL DOWN. I NEVER DID.	
  
 	
  
NOTACHANGEORDERISSUE
NOT  A  MONEY  ISSUE.  IT’S  ABOUT  RISK  MITIGATION.
THE DANGER ZONE
The  place  where  you  break  your  own  code  and  can’t  
charge  anyone  else  because  it’s  your  mistake.
HOPE
ACTUAL
SOW  
 DEVELOPMENT  &  QA
DISCOVERY
LAUNCH
Jan
 Feb
 Mar
 Apr
 May
 Jun
 Jul
 Aug
 Sep
 Oct
 Nov
 Dec
 Jan
 Feb
 Mar
 Apr
 May
 Jun
 Jul
 Aug
 Sep
2014
 2015
WE CREATED CHANGE ORDERS FOR NEW WORK...
SOW
 DEVELOPMENT
DISCOVERY
SOW  &  CONTRACTS  
 DEVELOPMENT
DISCOVERY
LAUNCH
PARTNER  API  IS  A  WORK  IN  PROGRESS
DANGER ZONE
Everything, which is done orderly,
with measure and according to
rules, generates something good.
Plato
This  is  another  story.  It’s  what  turned  me  
onto  automated	
  impact	
  analysis	
  thru  
acceptance  tesPng.	
  
CAN I TELL YOU A STORY?
The  trading  engine  for  
market  makers  was  a  
message-­‐oriented	
  soluEon	
  
that  was  having  
performance  issues.
	
  
No  one  thought  about  
gridlock  because  no	
  one	
  
thought	
  about	
  the	
  big	
  
picture.	
  
PACIFIC STOCK EXCHANGE
HIRE
OLD
PEOPLE
T I N Y L I T T L E P L U G
B E C A U S E T H E Y C A N W R I T E B O O K S F I L L E D W I T H L E S S O N S L E A R N E D
IMPACT ANALYSIS
IS EASIER & FASTER
USING
CODECEPTION
FOR ACCEPTANCE TESTING
ACCEPTANCE TESTS
REPLICATE A USER’S
EXPERIENCE & ARE DRIVEN
BY “EXPECTATION” LOGIC.
THEY REMEMBER ALL THE PREVIOUS
DECISIONS & PROMISES YOU MADE.
Title
As a [role]
I want [feature]
So that [benefit]
Acceptance Criteria
Scenario: Title
Given [context]
When [event]
Then [outcome]
hdp://dannorth.net/whats-­‐in-­‐a-­‐story/
<?php
$I = new AcceptanceTester($scenario);
$I->am(‘A Subscriber’);
$I->wantTo(‘edit my profile’);
$I->amOnPage(‘/members/edit-profile/’);
$I->canSee(‘Personal Information’);
?>
$  php  codecept.phar  generate:scenarios
I want to edit my profile
I am on page ‘members/edit-profile’
I see ‘Personal Information’
...
This  is  the  expectaPon  logic  that  is  easy  to  remember  later.  And  it’s  really  
helpful  when  something  breaks.  Because  we  know  exactly  what  we  were  
trying  to  do  and  how  to  verify  that  something  broke.
wantTo
amOnPage
lookForwardTo
click
fillField
selectOption
submitForm
see
seeLink
seeElement
dontSeeElement
seeInCurrentUrl
seeCheckboxIsChecked
seeInField
CODECEPTION COMMANDS	
  
1.  wget http://codeception.com/codecept.phar
2. php codecept.phar bootstrap
3. php codecept.phar generate:cept acceptance Welcome
4. Edit file tests/acceptance/WelcomeCept.php
5. Write your first acceptance test
6. Put application URL into tests/acceptance.suite.yml
7.  php codecept.phar run
	
  
GETTING STARTED IS EASY
hdp://codecepPon.com/quickstart
395ACCEPTANCE TESTS
AUTOMATED ACCEPTANCE TESTING
GITHUB	
  SCRUTINIZER	
  CODECEPTION	
  CAPISTRANO	
  
PUSH
 REPO
TESTS
Registered  w/  ScruPnizer?
 ScruPnizer  calls  
CodecepPon
Do  the  tests  pass?
ScruPnizer  
iniPates
deployment
Capistrano  only  deploys  code  that’s  passed  acceptance  tests
80mph
SPEED
The  goal  isn’t  to  write  these  tests  
quickly.  Or  even  to  learn  quickly  which  
acceptance  tests  to  write.  The  goal  is  
to  find  places  of  impact  quickly.
ConEnuous	
  effort	
  	
  
–  not  strength  or  intelligence  –    
is  the  key  to  unlocking  our  
potenPal.  
Sir	
  Winston	
  Churchill
Maybe  you  saw  this  in  the  papers,  online,    
or  read  about  it  recently.  It  sPll  bears  telling.	
  
ONE LAST STORY...
KNIGHT CAPITAL - August 2012
$440
million
$10MM
every minute
45
MINUTES
8
SERVERS
LET ME MAKE A GUESS. YOU DON’T WANT YOUR NAME IN AN SEC FILING. 	
  
RESOURCES
TO GET YOU STARTED
hdp://codecepPon.com/quickstart
hdp://codecepPon.com/docs/01-­‐IntroducPon
hdp://codecepPon.com/docs/02-­‐GekngStarted
hdp://codecepPon.com/docs/04-­‐AcceptanceTests
hdp://dannorth.net/whats-­‐in-­‐a-­‐story/
hdps://vimeo.com/rzen/codecepPon
CHRIS LEMA
CTO & CHIEF STRATEGIST, CROWD FAVORITE
@chrislema | http://chrislema.com

More Related Content

What's hot

Lean Product Management at Silicon Valley Product Camp by Dan Olsen
Lean Product Management at Silicon Valley Product Camp by Dan OlsenLean Product Management at Silicon Valley Product Camp by Dan Olsen
Lean Product Management at Silicon Valley Product Camp by Dan Olsen
Dan Olsen
 
Product roadmap strategy
Product roadmap strategyProduct roadmap strategy
Product roadmap strategy
MC Saravanan ☼
 
Lean UX, Somewhere Over the Waterfall
Lean UX, Somewhere Over the WaterfallLean UX, Somewhere Over the Waterfall
Lean UX, Somewhere Over the Waterfall
Lane Goldstone
 
UI/UX presentation by Roshan Karunarathna
UI/UX presentation by Roshan KarunarathnaUI/UX presentation by Roshan Karunarathna
UI/UX presentation by Roshan Karunarathna
Roshan Karunarathna
 
Internship report
Internship reportInternship report
Internship report
TECOS
 
Product Management 101
Product Management 101Product Management 101
Product Management 101
Lucas Didier
 
Design thinking
Design thinkingDesign thinking
Design thinking
Christoffer Noring
 
Lecture 7 partners 120411
Lecture 7 partners 120411Lecture 7 partners 120411
Lecture 7 partners 120411
Stanford University
 
Design thinking: an overview
Design thinking: an overviewDesign thinking: an overview
Design thinking: an overview
Priscila Mendoza
 
Design Thinking
Design ThinkingDesign Thinking
What is Product Management
What is Product ManagementWhat is Product Management
What is Product Management
Mind the Product
 
Applying Human Centered Design to Global Health Programs_1
Applying Human Centered Design to Global Health Programs_1 Applying Human Centered Design to Global Health Programs_1
Applying Human Centered Design to Global Health Programs_1
CORE Group
 
What Is Product Management?
What Is Product Management?What Is Product Management?
What Is Product Management?
Nagarro Digital Ventures
 
Design thinking - Empathy
Design thinking - EmpathyDesign thinking - Empathy
Design thinking - Empathy
Timothy Evans
 
The role of a product manager
The role of a product managerThe role of a product manager
The role of a product manager
Dan Tuhoarca
 
Crowd sourcing
Crowd sourcingCrowd sourcing
Crowd sourcing
Regalix
 
Lean UX
Lean UXLean UX
Lean UX
Dinesh Joshi
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
Manishamaham
 
Demystifying User Experience
Demystifying User ExperienceDemystifying User Experience
Demystifying User Experience
Cake and Arrow
 
Innovation theories 2023.pdf
Innovation theories 2023.pdfInnovation theories 2023.pdf
Innovation theories 2023.pdf
GeoffreyWalter1
 

What's hot (20)

Lean Product Management at Silicon Valley Product Camp by Dan Olsen
Lean Product Management at Silicon Valley Product Camp by Dan OlsenLean Product Management at Silicon Valley Product Camp by Dan Olsen
Lean Product Management at Silicon Valley Product Camp by Dan Olsen
 
Product roadmap strategy
Product roadmap strategyProduct roadmap strategy
Product roadmap strategy
 
Lean UX, Somewhere Over the Waterfall
Lean UX, Somewhere Over the WaterfallLean UX, Somewhere Over the Waterfall
Lean UX, Somewhere Over the Waterfall
 
UI/UX presentation by Roshan Karunarathna
UI/UX presentation by Roshan KarunarathnaUI/UX presentation by Roshan Karunarathna
UI/UX presentation by Roshan Karunarathna
 
Internship report
Internship reportInternship report
Internship report
 
Product Management 101
Product Management 101Product Management 101
Product Management 101
 
Design thinking
Design thinkingDesign thinking
Design thinking
 
Lecture 7 partners 120411
Lecture 7 partners 120411Lecture 7 partners 120411
Lecture 7 partners 120411
 
Design thinking: an overview
Design thinking: an overviewDesign thinking: an overview
Design thinking: an overview
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
 
What is Product Management
What is Product ManagementWhat is Product Management
What is Product Management
 
Applying Human Centered Design to Global Health Programs_1
Applying Human Centered Design to Global Health Programs_1 Applying Human Centered Design to Global Health Programs_1
Applying Human Centered Design to Global Health Programs_1
 
What Is Product Management?
What Is Product Management?What Is Product Management?
What Is Product Management?
 
Design thinking - Empathy
Design thinking - EmpathyDesign thinking - Empathy
Design thinking - Empathy
 
The role of a product manager
The role of a product managerThe role of a product manager
The role of a product manager
 
Crowd sourcing
Crowd sourcingCrowd sourcing
Crowd sourcing
 
Lean UX
Lean UXLean UX
Lean UX
 
Design Thinking
Design ThinkingDesign Thinking
Design Thinking
 
Demystifying User Experience
Demystifying User ExperienceDemystifying User Experience
Demystifying User Experience
 
Innovation theories 2023.pdf
Innovation theories 2023.pdfInnovation theories 2023.pdf
Innovation theories 2023.pdf
 

Similar to Impact Analysis - LoopConf

2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
Eric Ries
 
Software Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docxSoftware Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docx
rosemariebrayshaw
 
Bundledarrows150 bit.ly/teamcaptainsmanagementcampsv
Bundledarrows150 bit.ly/teamcaptainsmanagementcampsvBundledarrows150 bit.ly/teamcaptainsmanagementcampsv
Bundledarrows150 bit.ly/teamcaptainsmanagementcampsv
shadowboxingtv
 
STQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
STQA-Vol9-Issue2-March-2012-Software-Testing-MagazineSTQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
STQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
Albert Gareev
 
2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc
Eric Ries
 
The Missing Piece between Discovery and Execution
The Missing Piece between Discovery and ExecutionThe Missing Piece between Discovery and Execution
The Missing Piece between Discovery and Execution
Steffen Kastner
 
Increasing The Probability Of Success For Your Project
Increasing The Probability Of Success For Your ProjectIncreasing The Probability Of Success For Your Project
Increasing The Probability Of Success For Your Project
Glen Alleman
 
Rapid prototyping and how to avoid building a product nobody wants
Rapid prototyping and how to avoid building a product nobody wantsRapid prototyping and how to avoid building a product nobody wants
Rapid prototyping and how to avoid building a product nobody wants
Mike Parsons
 
0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned
SeriousGamesAssoc
 
Thinking more product: Moving from Scrum to a dual-track agile approach by Su...
Thinking more product: Moving from Scrum to a dual-track agile approach by Su...Thinking more product: Moving from Scrum to a dual-track agile approach by Su...
Thinking more product: Moving from Scrum to a dual-track agile approach by Su...
Agile Software Community of India
 
2010 10 19 the lean startup workshop for i_gap ireland
2010 10 19 the lean startup workshop for i_gap ireland2010 10 19 the lean startup workshop for i_gap ireland
2010 10 19 the lean startup workshop for i_gap ireland
Eric Ries
 
Test execution
Test executionTest execution
Test execution
adarsh j
 
Master the essentials of conversion optimization
Master the essentials of conversion optimizationMaster the essentials of conversion optimization
Master the essentials of conversion optimization
Arnas Rackauskas
 
SearchLove London 2016 | Stephen Pavlovich | Habits of Advanced Conversion Op...
SearchLove London 2016 | Stephen Pavlovich | Habits of Advanced Conversion Op...SearchLove London 2016 | Stephen Pavlovich | Habits of Advanced Conversion Op...
SearchLove London 2016 | Stephen Pavlovich | Habits of Advanced Conversion Op...
Distilled
 
Driving agility into your customer experience
Driving agility into your customer experienceDriving agility into your customer experience
Driving agility into your customer experience
marc mcneill
 
A Big Dashboard of Problems.pdf
A Big Dashboard of Problems.pdfA Big Dashboard of Problems.pdf
A Big Dashboard of Problems.pdf
TravisMcPeak1
 
PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...
PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...
PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...
Andrey Karpov
 
2010 08 19 The Lean Startup TechAviv
2010 08 19 The Lean Startup TechAviv2010 08 19 The Lean Startup TechAviv
2010 08 19 The Lean Startup TechAviv
Eric Ries
 
2009 10 28 The Lean Startup In Paris
2009 10 28 The Lean Startup In Paris2009 10 28 The Lean Startup In Paris
2009 10 28 The Lean Startup In Paris
Eric Ries
 
“Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY
“Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY“Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY
“Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY
LizzyManz
 

Similar to Impact Analysis - LoopConf (20)

2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
2010 04 28 The Lean Startup webinar for the Lean Enterprise Institute
 
Software Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docxSoftware Development Life CyclesPresented byBrenda Reynold.docx
Software Development Life CyclesPresented byBrenda Reynold.docx
 
Bundledarrows150 bit.ly/teamcaptainsmanagementcampsv
Bundledarrows150 bit.ly/teamcaptainsmanagementcampsvBundledarrows150 bit.ly/teamcaptainsmanagementcampsv
Bundledarrows150 bit.ly/teamcaptainsmanagementcampsv
 
STQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
STQA-Vol9-Issue2-March-2012-Software-Testing-MagazineSTQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
STQA-Vol9-Issue2-March-2012-Software-Testing-Magazine
 
2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc2010 03 09 the lean startup - gdc
2010 03 09 the lean startup - gdc
 
The Missing Piece between Discovery and Execution
The Missing Piece between Discovery and ExecutionThe Missing Piece between Discovery and Execution
The Missing Piece between Discovery and Execution
 
Increasing The Probability Of Success For Your Project
Increasing The Probability Of Success For Your ProjectIncreasing The Probability Of Success For Your Project
Increasing The Probability Of Success For Your Project
 
Rapid prototyping and how to avoid building a product nobody wants
Rapid prototyping and how to avoid building a product nobody wantsRapid prototyping and how to avoid building a product nobody wants
Rapid prototyping and how to avoid building a product nobody wants
 
0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned0 for 3: Edtech Startup Lessons Learned
0 for 3: Edtech Startup Lessons Learned
 
Thinking more product: Moving from Scrum to a dual-track agile approach by Su...
Thinking more product: Moving from Scrum to a dual-track agile approach by Su...Thinking more product: Moving from Scrum to a dual-track agile approach by Su...
Thinking more product: Moving from Scrum to a dual-track agile approach by Su...
 
2010 10 19 the lean startup workshop for i_gap ireland
2010 10 19 the lean startup workshop for i_gap ireland2010 10 19 the lean startup workshop for i_gap ireland
2010 10 19 the lean startup workshop for i_gap ireland
 
Test execution
Test executionTest execution
Test execution
 
Master the essentials of conversion optimization
Master the essentials of conversion optimizationMaster the essentials of conversion optimization
Master the essentials of conversion optimization
 
SearchLove London 2016 | Stephen Pavlovich | Habits of Advanced Conversion Op...
SearchLove London 2016 | Stephen Pavlovich | Habits of Advanced Conversion Op...SearchLove London 2016 | Stephen Pavlovich | Habits of Advanced Conversion Op...
SearchLove London 2016 | Stephen Pavlovich | Habits of Advanced Conversion Op...
 
Driving agility into your customer experience
Driving agility into your customer experienceDriving agility into your customer experience
Driving agility into your customer experience
 
A Big Dashboard of Problems.pdf
A Big Dashboard of Problems.pdfA Big Dashboard of Problems.pdf
A Big Dashboard of Problems.pdf
 
PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...
PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...
PVS-Studio and CppCat: An Interview with Andrey Karpov, the Project CTO and D...
 
2010 08 19 The Lean Startup TechAviv
2010 08 19 The Lean Startup TechAviv2010 08 19 The Lean Startup TechAviv
2010 08 19 The Lean Startup TechAviv
 
2009 10 28 The Lean Startup In Paris
2009 10 28 The Lean Startup In Paris2009 10 28 The Lean Startup In Paris
2009 10 28 The Lean Startup In Paris
 
“Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY
“Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY“Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY
“Don’t Repeat Yourself”: 4 Process Street Features to Keep Work DRY
 

More from Chris Lema

Cada Segunda Cuenta
Cada Segunda CuentaCada Segunda Cuenta
Cada Segunda Cuenta
Chris Lema
 
Every Second Counts - Speeding up WooCommerce
Every Second Counts - Speeding up WooCommerceEvery Second Counts - Speeding up WooCommerce
Every Second Counts - Speeding up WooCommerce
Chris Lema
 
Getting what you want without becoming who you're not
Getting what you want without becoming who you're notGetting what you want without becoming who you're not
Getting what you want without becoming who you're not
Chris Lema
 
Coupons Order Bumps & One-time Offers
Coupons Order Bumps & One-time OffersCoupons Order Bumps & One-time Offers
Coupons Order Bumps & One-time Offers
Chris Lema
 
eCommerce Segmentation
eCommerce SegmentationeCommerce Segmentation
eCommerce Segmentation
Chris Lema
 
Designing the Perfect Product Page
Designing the Perfect Product PageDesigning the Perfect Product Page
Designing the Perfect Product Page
Chris Lema
 
The Goal Is Conversion
The Goal Is ConversionThe Goal Is Conversion
The Goal Is Conversion
Chris Lema
 
Why WooCommerce
Why WooCommerceWhy WooCommerce
Why WooCommerce
Chris Lema
 
Selling WooCommerce
Selling WooCommerceSelling WooCommerce
Selling WooCommerce
Chris Lema
 
Optimize Your Store with Segmentation
Optimize Your Store with SegmentationOptimize Your Store with Segmentation
Optimize Your Store with Segmentation
Chris Lema
 
10 Questions
10 Questions10 Questions
10 Questions
Chris Lema
 
Improving Store Conversions
Improving Store ConversionsImproving Store Conversions
Improving Store Conversions
Chris Lema
 
Scoping eCommerce Projects
Scoping eCommerce ProjectsScoping eCommerce Projects
Scoping eCommerce Projects
Chris Lema
 
Building the Fastest WooCommerce Store Ever
Building the Fastest WooCommerce Store EverBuilding the Fastest WooCommerce Store Ever
Building the Fastest WooCommerce Store Ever
Chris Lema
 
Your Next WooCommerce Store
Your Next WooCommerce StoreYour Next WooCommerce Store
Your Next WooCommerce Store
Chris Lema
 
Getting Ready for Gutenberg
Getting Ready for GutenbergGetting Ready for Gutenberg
Getting Ready for Gutenberg
Chris Lema
 
Building an Online Course with WooCommerce
Building an Online Course with WooCommerceBuilding an Online Course with WooCommerce
Building an Online Course with WooCommerce
Chris Lema
 
Understanding GDPR in the context of WooCommerce
Understanding GDPR in the context of WooCommerceUnderstanding GDPR in the context of WooCommerce
Understanding GDPR in the context of WooCommerce
Chris Lema
 
Speeding Up WooCommerce
Speeding Up WooCommerceSpeeding Up WooCommerce
Speeding Up WooCommerce
Chris Lema
 
WordCamp Miami - WooCommerce Workshop
WordCamp Miami - WooCommerce WorkshopWordCamp Miami - WooCommerce Workshop
WordCamp Miami - WooCommerce Workshop
Chris Lema
 

More from Chris Lema (20)

Cada Segunda Cuenta
Cada Segunda CuentaCada Segunda Cuenta
Cada Segunda Cuenta
 
Every Second Counts - Speeding up WooCommerce
Every Second Counts - Speeding up WooCommerceEvery Second Counts - Speeding up WooCommerce
Every Second Counts - Speeding up WooCommerce
 
Getting what you want without becoming who you're not
Getting what you want without becoming who you're notGetting what you want without becoming who you're not
Getting what you want without becoming who you're not
 
Coupons Order Bumps & One-time Offers
Coupons Order Bumps & One-time OffersCoupons Order Bumps & One-time Offers
Coupons Order Bumps & One-time Offers
 
eCommerce Segmentation
eCommerce SegmentationeCommerce Segmentation
eCommerce Segmentation
 
Designing the Perfect Product Page
Designing the Perfect Product PageDesigning the Perfect Product Page
Designing the Perfect Product Page
 
The Goal Is Conversion
The Goal Is ConversionThe Goal Is Conversion
The Goal Is Conversion
 
Why WooCommerce
Why WooCommerceWhy WooCommerce
Why WooCommerce
 
Selling WooCommerce
Selling WooCommerceSelling WooCommerce
Selling WooCommerce
 
Optimize Your Store with Segmentation
Optimize Your Store with SegmentationOptimize Your Store with Segmentation
Optimize Your Store with Segmentation
 
10 Questions
10 Questions10 Questions
10 Questions
 
Improving Store Conversions
Improving Store ConversionsImproving Store Conversions
Improving Store Conversions
 
Scoping eCommerce Projects
Scoping eCommerce ProjectsScoping eCommerce Projects
Scoping eCommerce Projects
 
Building the Fastest WooCommerce Store Ever
Building the Fastest WooCommerce Store EverBuilding the Fastest WooCommerce Store Ever
Building the Fastest WooCommerce Store Ever
 
Your Next WooCommerce Store
Your Next WooCommerce StoreYour Next WooCommerce Store
Your Next WooCommerce Store
 
Getting Ready for Gutenberg
Getting Ready for GutenbergGetting Ready for Gutenberg
Getting Ready for Gutenberg
 
Building an Online Course with WooCommerce
Building an Online Course with WooCommerceBuilding an Online Course with WooCommerce
Building an Online Course with WooCommerce
 
Understanding GDPR in the context of WooCommerce
Understanding GDPR in the context of WooCommerceUnderstanding GDPR in the context of WooCommerce
Understanding GDPR in the context of WooCommerce
 
Speeding Up WooCommerce
Speeding Up WooCommerceSpeeding Up WooCommerce
Speeding Up WooCommerce
 
WordCamp Miami - WooCommerce Workshop
WordCamp Miami - WooCommerce WorkshopWordCamp Miami - WooCommerce Workshop
WordCamp Miami - WooCommerce Workshop
 

Recently uploaded

Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
aymanquadri279
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Julian Hyde
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
mz5nrf0n
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
Hornet Dynamics
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
Ayan Halder
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
Quickdice ERP
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 

Recently uploaded (20)

Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
What is Master Data Management by PiLog Group
What is Master Data Management by PiLog GroupWhat is Master Data Management by PiLog Group
What is Master Data Management by PiLog Group
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)Measures in SQL (SIGMOD 2024, Santiago, Chile)
Measures in SQL (SIGMOD 2024, Santiago, Chile)
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
原版定制美国纽约州立大学奥尔巴尼分校毕业证学位证书原版一模一样
 
E-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet DynamicsE-commerce Development Services- Hornet Dynamics
E-commerce Development Services- Hornet Dynamics
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
Using Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional SafetyUsing Xen Hypervisor for Functional Safety
Using Xen Hypervisor for Functional Safety
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian CompaniesE-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
E-Invoicing Implementation: A Step-by-Step Guide for Saudi Arabian Companies
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 

Impact Analysis - LoopConf

  • 2. This  is  a  story  that  bears  strong  resemblance  to  a  real   project.  I  can’t  tell  you  the  details  but  I  can  tell  you   enough  of  it  to  make  it  useful  as  a  story.  I’ll  protect  the   innocent.  Oh  wait,  there  were  no  innocents.   CAN I TELL YOU A STORY?
  • 3. PERFECT CLIENT BUILD  THE   SOLUTION DESIGN  THE   SOLUTION RECIEVE  THE   REQUIREMENTS GO  THROUGH  THE   SECOND  ROUND   OF  SAME  PHASE NO   YES   TEST  &  SHOW   THE  CLIENT release start  of  iteraPon THEWAYIT’SSUPPOSEDTOWORK
  • 4. LARGE CLIENT BUILD  THE   SOLUTION DESIGN  THE   SOLUTION RECIEVE  THE   REQUIREMENTS YES.  WE  KNOW   WHO  YOU  ARE. OK.  WE’RE  ON  IT. NO   WAIT!  LET’S   ADD  NEW   SCOPE TEST  &  SHOW   THE  CLIENT WHATHAPPENSWHEN...
  • 5. THE DANGER ZONE The  porPon  of  a  project  where  all  your  profit  disappears   and  you’re  wondering  how  you  got  here  in  the  first  place. HOPE ACTUAL SOW   DEVELOPMENT  &  QA DISCOVERY LAUNCH Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep 2014 2015 THE PROJECT TIMELINE TELLS THE STORY SOW DEVELOPMENT DISCOVERY SOW  &  CONTRACTS   DEVELOPMENT DISCOVERY LAUNCH PARTNER  API  IS  A  WORK  IN  PROGRESS DANGER ZONE
  • 6. CLIENTS ARE IDEA FACTORIES You  can’t  blame  a  client  for  having  a  lot  of   new  ideas  when  they  can  finally  interact   with  the  system  they’ve  been  paying  for.
  • 7. DEVELOPERS GET EASILY ANCHORED We  o]en  get  locked  in  on  the  original  statement   of  work  -­‐  and  the  tasks  we  created  based  on   them.  Even  if  a  client  has  to  adjust  course.
  • 9. THE PROJECT BY THE NUMBERS # OF COMMITS # OF CONTRIBUTORS # OF MONTHS 4461 12 8
  • 10. THE PROBLEM IS OUR BRAIN & MEMORY
  • 11. 0% The number of staff we have that have perfect memory and can do impact analysis in their sleep.
  • 12. IMPACT ANALYSIS The  work  that  must  be  done  when  a  client   requests  new  work  (new  scope)  and  it  must  be   determined  what  the  changes  will  do  (what   impact  they’ll  have)  on  exisPng  code. HINT:  IT’S  REALLY  HARD  TO  DO.  
  • 13. HOW DO YOU MAKE CHOICES WHEN YOU WRITE CODE? Idea Insight CODE CODE CODE Talk Talk Talk Choice Choice Choice If  you  noPce  the   performance  isn’t   great,  maybe  you   try  a  new  approach. Seeing  someone   else’s  code  helps  you   think  about  your  own   in  a  new  way. New  informaPon   suggests  you   thought  about  it  all   wrong.  Which  leads   to  changes  in  your   code. LET ME MAKE A GUESS. YOU DON’T WRITE THIS ALL DOWN. I NEVER DID.  
  • 14.     NOTACHANGEORDERISSUE NOT  A  MONEY  ISSUE.  IT’S  ABOUT  RISK  MITIGATION.
  • 15. THE DANGER ZONE The  place  where  you  break  your  own  code  and  can’t   charge  anyone  else  because  it’s  your  mistake. HOPE ACTUAL SOW   DEVELOPMENT  &  QA DISCOVERY LAUNCH Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep 2014 2015 WE CREATED CHANGE ORDERS FOR NEW WORK... SOW DEVELOPMENT DISCOVERY SOW  &  CONTRACTS   DEVELOPMENT DISCOVERY LAUNCH PARTNER  API  IS  A  WORK  IN  PROGRESS DANGER ZONE
  • 16. Everything, which is done orderly, with measure and according to rules, generates something good. Plato
  • 17. This  is  another  story.  It’s  what  turned  me   onto  automated  impact  analysis  thru   acceptance  tesPng.   CAN I TELL YOU A STORY?
  • 18. The  trading  engine  for   market  makers  was  a   message-­‐oriented  soluEon   that  was  having   performance  issues.   No  one  thought  about   gridlock  because  no  one   thought  about  the  big   picture.   PACIFIC STOCK EXCHANGE
  • 19. HIRE OLD PEOPLE T I N Y L I T T L E P L U G B E C A U S E T H E Y C A N W R I T E B O O K S F I L L E D W I T H L E S S O N S L E A R N E D
  • 20. IMPACT ANALYSIS IS EASIER & FASTER USING CODECEPTION FOR ACCEPTANCE TESTING
  • 21. ACCEPTANCE TESTS REPLICATE A USER’S EXPERIENCE & ARE DRIVEN BY “EXPECTATION” LOGIC. THEY REMEMBER ALL THE PREVIOUS DECISIONS & PROMISES YOU MADE.
  • 22. Title As a [role] I want [feature] So that [benefit] Acceptance Criteria Scenario: Title Given [context] When [event] Then [outcome] hdp://dannorth.net/whats-­‐in-­‐a-­‐story/
  • 23. <?php $I = new AcceptanceTester($scenario); $I->am(‘A Subscriber’); $I->wantTo(‘edit my profile’); $I->amOnPage(‘/members/edit-profile/’); $I->canSee(‘Personal Information’); ?> $  php  codecept.phar  generate:scenarios
  • 24. I want to edit my profile I am on page ‘members/edit-profile’ I see ‘Personal Information’ ... This  is  the  expectaPon  logic  that  is  easy  to  remember  later.  And  it’s  really   helpful  when  something  breaks.  Because  we  know  exactly  what  we  were   trying  to  do  and  how  to  verify  that  something  broke.
  • 26. 1.  wget http://codeception.com/codecept.phar 2. php codecept.phar bootstrap 3. php codecept.phar generate:cept acceptance Welcome 4. Edit file tests/acceptance/WelcomeCept.php 5. Write your first acceptance test 6. Put application URL into tests/acceptance.suite.yml 7.  php codecept.phar run   GETTING STARTED IS EASY hdp://codecepPon.com/quickstart
  • 28. AUTOMATED ACCEPTANCE TESTING GITHUB  SCRUTINIZER  CODECEPTION  CAPISTRANO   PUSH REPO TESTS Registered  w/  ScruPnizer? ScruPnizer  calls   CodecepPon Do  the  tests  pass? ScruPnizer   iniPates deployment Capistrano  only  deploys  code  that’s  passed  acceptance  tests
  • 29. 80mph SPEED The  goal  isn’t  to  write  these  tests   quickly.  Or  even  to  learn  quickly  which   acceptance  tests  to  write.  The  goal  is   to  find  places  of  impact  quickly.
  • 30. ConEnuous  effort     –  not  strength  or  intelligence  –     is  the  key  to  unlocking  our   potenPal.   Sir  Winston  Churchill
  • 31. Maybe  you  saw  this  in  the  papers,  online,     or  read  about  it  recently.  It  sPll  bears  telling.   ONE LAST STORY...
  • 32. KNIGHT CAPITAL - August 2012 $440 million $10MM every minute 45 MINUTES 8 SERVERS LET ME MAKE A GUESS. YOU DON’T WANT YOUR NAME IN AN SEC FILING.  
  • 33. RESOURCES TO GET YOU STARTED hdp://codecepPon.com/quickstart hdp://codecepPon.com/docs/01-­‐IntroducPon hdp://codecepPon.com/docs/02-­‐GekngStarted hdp://codecepPon.com/docs/04-­‐AcceptanceTests hdp://dannorth.net/whats-­‐in-­‐a-­‐story/ hdps://vimeo.com/rzen/codecepPon
  • 34. CHRIS LEMA CTO & CHIEF STRATEGIST, CROWD FAVORITE @chrislema | http://chrislema.com