impactanalysis 150507054758-lva1-app6891
TRANSCRIPT
![Page 1: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/1.jpg)
IMPACT ANALYSIS
CHRIS LEMA | CROWD FAVORITE
![Page 2: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/2.jpg)
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?
![Page 3: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/3.jpg)
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
THE WAY IT’S SUPPOSED TO WORK
![Page 4: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/4.jpg)
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
WHAT HAPPENS WHEN...
![Page 5: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/5.jpg)
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
ACTU
AL
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
![Page 6: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/6.jpg)
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.
![Page 7: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/7.jpg)
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.
![Page 8: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/8.jpg)
THE TRUTH: THE PROBLEM ISN’T CLIENTS & IT’S NOT DEVELOPERS
![Page 9: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/9.jpg)
THE PROJECT BY THE NUMBERS
# OF COMMITS # OF CONTRIBUTORS # OF MONTHS
4461 12 8
![Page 10: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/10.jpg)
THE PROBLEM IS OUR BRAIN & MEMORY
![Page 11: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/11.jpg)
0% The number of staff we have that have perfect memory and can do impact analysis in their sleep.
![Page 12: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/12.jpg)
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.
![Page 13: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/13.jpg)
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.
![Page 14: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/14.jpg)
NOT A CHANGE ORDER ISSUE NOT A MONEY ISSUE. IT’S ABOUT RISK MITIGATION.
![Page 15: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/15.jpg)
THE DANGER ZONE The place where you break your own code and can’t charge anyone else because it’s your mistake.
HOPE
ACTU
AL
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
![Page 16: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/16.jpg)
Everything, which is done orderly, with measure and according to rules, generates something good. Plato
![Page 17: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/17.jpg)
This is another story. It’s what turned me onto automated impact analysis thru acceptance tesPng.
CAN I TELL YOU A STORY?
![Page 18: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/18.jpg)
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
![Page 19: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/19.jpg)
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
![Page 20: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/20.jpg)
IMPACT ANALYSIS IS EASIER & FASTER USING CODECEPTION FOR ACCEPTANCE TESTING
![Page 21: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/21.jpg)
ACCEPTANCE TESTS REPLICATE A USER’S EXPERIENCE & ARE DRIVEN BY “EXPECTATION” LOGIC. THEY REMEMBER ALL THE PREVIOUS DECISIONS & PROMISES YOU MADE.
![Page 22: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/22.jpg)
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/
![Page 23: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/23.jpg)
<?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 .pha r generate : s cena r io s
![Page 24: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/24.jpg)
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.
![Page 25: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/25.jpg)
wantTo amOnPage lookForwardTo click fillField selectOption submitForm
see seeLink seeElement dontSeeElement seeInCurrentUrl seeCheckboxIsChecked seeInField
CODECEPTION COMMANDS
![Page 26: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/26.jpg)
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
![Page 27: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/27.jpg)
395 ACCEPTANCE TESTS
![Page 28: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/28.jpg)
AUTOMATED ACCEPTANCE TESTING GITH
UB
SCRU
TINIZER
CO
DECE
PTION
CAPISTRA
NO
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
![Page 29: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/29.jpg)
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.
![Page 30: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/30.jpg)
ConEnuous effort – not strength or intelligence – is the key to unlocking our potenPal. Sir Winston Churchill
![Page 31: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/31.jpg)
Maybe you saw this in the papers, online, or read about it recently. It sPll bears telling.
ONE LAST STORY...
![Page 32: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/32.jpg)
KNIGHT CAPITAL - August 2012
$440 mil l ion $10MM
every minute 45 MINUTES
8 SERVERS
LET ME MAKE A GUESS. YOU DON’T WANT YOUR NAME IN AN SEC FILING.
![Page 33: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/33.jpg)
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
![Page 34: Impactanalysis 150507054758-lva1-app6891](https://reader030.vdocuments.mx/reader030/viewer/2022032506/55ce0300bb61eb8c6e8b4646/html5/thumbnails/34.jpg)
CHRIS LEMA CTO & CHIEF STRATEGIST, CROWD FAVORITE @chrislema | http://chrislema.com