SlideShare a Scribd company logo
Tools & Preparations
The Good, The Bad and The Ugly
Ali Sattari, CoderConf 95
Tools as enablers
➔ Part of our everyday tasks
➔ Indicator of experience
➔ Not often readily available
2
Preparation
Situations we find ourselves in
need of preparation
➔ New project
➔ New workstation
➔ New job
➔ New environment
3
Selection Criteria
How should tools be chosen?
➔ Simple, short term, one man
job
➔ Complex, long term, team
based job
4
Two Phenomena
➔ Axe Sharpening
➔ Yak Shaving
5
Axe Sharpening
Definition & Origin
“Give me six hours to chop down
a tree and I will spend the first
four sharpening the axe.”
― Abraham Lincoln
6
Axe Sharpening
➔ Directly related to task
➔ Exhaustive list of items
➔ Results are reusable
➔ Reduces execution time
Signs & Symptoms
7
Axe Sharpening
➔ Setting up the IDE
➔ Setting up the version control
➔ Setting up the environment
➔ Looking for libraries
Examples in software
development
8
Yak Shaving
What you are doing when you're
doing some stupid, fiddly little
task that bears no obvious
relationship to what you're
supposed to be working on, but
yet a chain of twelve causal
relations links what you're doing
to the original meta-task.
― Jeremy H. Brown
Definition & Origin
9
Yak Shaving
➔ No direct relation to task
➔ Non-exhaustive list of items,
no clear roadmap
➔ Issues getting added up on
the way
Signs & Symptoms
10
Yak Shaving
1. Need a helper script
2. It requires latest lib_xyz
3. But some other package
depend on lib_xyz
4. You start updating the
packages and end up with
new kernel
5. VGA acts up on new kernel
6. Need to compile driver
7. Source code is restricted
8. ...
Example
11
➔ Am I axe sharpening or yak
shaving?
➔ Am I picking right, necessary
tools or doing an overkill?
Key Questions
To know which is which!
12
➔ Project objectives
➔ Project scope and lifetime
➔ Project constraints and
resources
➔ Experience in subject
➔ Roadmap with clear
milestones
Systematic
Approach
Because it works!
13
➔ Feedback loop
➔ Yak shaving for learning and
exploration
Side Notes
For newbies!
14
Thank You!
Ali Sattari, CoderConf 95

More Related Content

What's hot

DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
Gene Kim
 
Shift to the right side of your brain - 6th World Congress on Software Qualit...
Shift to the right side of your brain - 6th World Congress on Software Qualit...Shift to the right side of your brain - 6th World Congress on Software Qualit...
Shift to the right side of your brain - 6th World Congress on Software Qualit...
SYSQA BV
 
+Agile basics
+Agile basics+Agile basics
+Agile basics
walid sassi
 
OSS Java Analysis - What You Might Be Missing
OSS Java Analysis - What You Might Be MissingOSS Java Analysis - What You Might Be Missing
OSS Java Analysis - What You Might Be Missing
Coverity
 
Staying Ahead of the Curve
Staying Ahead of the CurveStaying Ahead of the Curve
Staying Ahead of the Curve
Trisha Gee
 
Why you should embrace Gradle and ditch Maven
Why you should embrace Gradle and ditch MavenWhy you should embrace Gradle and ditch Maven
Why you should embrace Gradle and ditch Maven
GijsLeussink
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
Mikalai Alimenkou
 
Story Based Burn Down
Story Based Burn DownStory Based Burn Down
Story Based Burn Down
Ethan Huang
 
Quality not-speed-for-distrobution
Quality not-speed-for-distrobutionQuality not-speed-for-distrobution
Quality not-speed-for-distrobution
bownyboy
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
Nadav Yeheskel - Looking for a Test/QA engineer
 
Approval Tests in Action: A LEGO Exercise and an Experience Report
Approval Tests in Action: A LEGO Exercise and an Experience ReportApproval Tests in Action: A LEGO Exercise and an Experience Report
Approval Tests in Action: A LEGO Exercise and an Experience Report
houseofyin
 
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic RequiredDOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
Gene Kim
 
WhoIsKenDeLong
WhoIsKenDeLongWhoIsKenDeLong
WhoIsKenDeLong
Ken DeLong
 
Cycle times and the Evolution From Story Points
Cycle times and the Evolution From Story PointsCycle times and the Evolution From Story Points
Cycle times and the Evolution From Story Points
Scott Aucoin
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont Delivery
Andreas Grabner
 
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
Andreas Grabner
 
Testing regression
Testing regressionTesting regression
Testing regression
Richie Lee
 
Moving QA from Reactive to Proactive with qTest
Moving QA from Reactive to Proactive  with qTestMoving QA from Reactive to Proactive  with qTest
Moving QA from Reactive to Proactive with qTest
QASymphony
 
Is Groovy better for testing than Java?
Is Groovy better for testing than Java?Is Groovy better for testing than Java?
Is Groovy better for testing than Java?
Trisha Gee
 
Enterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring BudgetEnterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring Budget
Chris Tankersley
 

What's hot (20)

DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
DOES16 San Francisco - David Blank-Edelman - Lessons Learned from a Parallel ...
 
Shift to the right side of your brain - 6th World Congress on Software Qualit...
Shift to the right side of your brain - 6th World Congress on Software Qualit...Shift to the right side of your brain - 6th World Congress on Software Qualit...
Shift to the right side of your brain - 6th World Congress on Software Qualit...
 
+Agile basics
+Agile basics+Agile basics
+Agile basics
 
OSS Java Analysis - What You Might Be Missing
OSS Java Analysis - What You Might Be MissingOSS Java Analysis - What You Might Be Missing
OSS Java Analysis - What You Might Be Missing
 
Staying Ahead of the Curve
Staying Ahead of the CurveStaying Ahead of the Curve
Staying Ahead of the Curve
 
Why you should embrace Gradle and ditch Maven
Why you should embrace Gradle and ditch MavenWhy you should embrace Gradle and ditch Maven
Why you should embrace Gradle and ditch Maven
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
 
Story Based Burn Down
Story Based Burn DownStory Based Burn Down
Story Based Burn Down
 
Quality not-speed-for-distrobution
Quality not-speed-for-distrobutionQuality not-speed-for-distrobution
Quality not-speed-for-distrobution
 
Continuous testing the new must have skill of tomorrow's tech leaders
Continuous testing  the new must have skill of tomorrow's tech leadersContinuous testing  the new must have skill of tomorrow's tech leaders
Continuous testing the new must have skill of tomorrow's tech leaders
 
Approval Tests in Action: A LEGO Exercise and an Experience Report
Approval Tests in Action: A LEGO Exercise and an Experience ReportApproval Tests in Action: A LEGO Exercise and an Experience Report
Approval Tests in Action: A LEGO Exercise and an Experience Report
 
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic RequiredDOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
DOES SFO 2016 San Francisco - Julia Wester - Predictability: No Magic Required
 
WhoIsKenDeLong
WhoIsKenDeLongWhoIsKenDeLong
WhoIsKenDeLong
 
Cycle times and the Evolution From Story Points
Cycle times and the Evolution From Story PointsCycle times and the Evolution From Story Points
Cycle times and the Evolution From Story Points
 
JavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont DeliveryJavaOne - Performance Focused DevOps to Improve Cont Delivery
JavaOne - Performance Focused DevOps to Improve Cont Delivery
 
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
StarWest 2013 Performance is not an afterthought – make it a part of your Agi...
 
Testing regression
Testing regressionTesting regression
Testing regression
 
Moving QA from Reactive to Proactive with qTest
Moving QA from Reactive to Proactive  with qTestMoving QA from Reactive to Proactive  with qTest
Moving QA from Reactive to Proactive with qTest
 
Is Groovy better for testing than Java?
Is Groovy better for testing than Java?Is Groovy better for testing than Java?
Is Groovy better for testing than Java?
 
Enterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring BudgetEnterprise Development on a Shoestring Budget
Enterprise Development on a Shoestring Budget
 

Similar to Tools & Preparations

Becoming a Rock Star DBA
Becoming a Rock Star DBABecoming a Rock Star DBA
Becoming a Rock Star DBA
Sheeri Cabral
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
Aleksey Solntsev
 
Making Test Automation Work in Agile Projects 2012
Making Test Automation Work in Agile Projects 2012Making Test Automation Work in Agile Projects 2012
Making Test Automation Work in Agile Projects 2012
lisacrispin
 
How Functional Programming Made Me a Better Developer
How Functional Programming Made Me a Better DeveloperHow Functional Programming Made Me a Better Developer
How Functional Programming Made Me a Better Developer
Cameron Presley
 
The Perfect Neos Project Setup
The Perfect Neos Project SetupThe Perfect Neos Project Setup
The Perfect Neos Project Setup
Karsten Dambekalns
 
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
Shivam Bharadwaj
 
The future of testing magento 2 james cowie from shero commerce - 10 24-20 ...
The future of testing magento 2   james cowie from shero commerce - 10 24-20 ...The future of testing magento 2   james cowie from shero commerce - 10 24-20 ...
The future of testing magento 2 james cowie from shero commerce - 10 24-20 ...
James Cowie
 
DefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackDefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStack
Mark Voelker
 
Morph your mindset for Continuous Delivery, Agile Roots 2014
Morph your mindset for Continuous Delivery,  Agile Roots 2014Morph your mindset for Continuous Delivery,  Agile Roots 2014
Morph your mindset for Continuous Delivery, Agile Roots 2014
lisacrispin
 
Java script basics for beginners
Java script basics for beginners  Java script basics for beginners
Java script basics for beginners
Ketan Raval
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Rehgan Avon
 
Your Journey to the Uknown: A tale of how I debunk new codebases.
Your Journey to the Uknown: A tale of how I debunk new codebases.Your Journey to the Uknown: A tale of how I debunk new codebases.
Your Journey to the Uknown: A tale of how I debunk new codebases.
Ivange Larry Ndumbe
 
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11
Derek Jacoby
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
michael.labriola
 
InteropWG Intro & Vertical Programs (May. 2017)
InteropWG Intro & Vertical Programs (May. 2017)InteropWG Intro & Vertical Programs (May. 2017)
InteropWG Intro & Vertical Programs (May. 2017)
Mark Voelker
 
Computer Tools for Academic Research
Computer Tools for Academic ResearchComputer Tools for Academic Research
Computer Tools for Academic Research
Miklos Koren
 
Agile
AgileAgile
Agile
Komal2525
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
Cory Foy
 
Essentielle værktøjer for det agile team
Essentielle værktøjer for det agile teamEssentielle værktøjer for det agile team
Essentielle værktøjer for det agile team
BestBrains
 
Triggers for Admins: A Five-step Framework for Creating Triggers
Triggers for Admins: A Five-step Framework for Creating TriggersTriggers for Admins: A Five-step Framework for Creating Triggers
Triggers for Admins: A Five-step Framework for Creating Triggers
Salesforce Developers
 

Similar to Tools & Preparations (20)

Becoming a Rock Star DBA
Becoming a Rock Star DBABecoming a Rock Star DBA
Becoming a Rock Star DBA
 
How to be proud when you are done
How to be proud when you are doneHow to be proud when you are done
How to be proud when you are done
 
Making Test Automation Work in Agile Projects 2012
Making Test Automation Work in Agile Projects 2012Making Test Automation Work in Agile Projects 2012
Making Test Automation Work in Agile Projects 2012
 
How Functional Programming Made Me a Better Developer
How Functional Programming Made Me a Better DeveloperHow Functional Programming Made Me a Better Developer
How Functional Programming Made Me a Better Developer
 
The Perfect Neos Project Setup
The Perfect Neos Project SetupThe Perfect Neos Project Setup
The Perfect Neos Project Setup
 
Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?Why you should switch to Cypress for modern web testing?
Why you should switch to Cypress for modern web testing?
 
The future of testing magento 2 james cowie from shero commerce - 10 24-20 ...
The future of testing magento 2   james cowie from shero commerce - 10 24-20 ...The future of testing magento 2   james cowie from shero commerce - 10 24-20 ...
The future of testing magento 2 james cowie from shero commerce - 10 24-20 ...
 
DefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStackDefCore: The Interoperability Standard for OpenStack
DefCore: The Interoperability Standard for OpenStack
 
Morph your mindset for Continuous Delivery, Agile Roots 2014
Morph your mindset for Continuous Delivery,  Agile Roots 2014Morph your mindset for Continuous Delivery,  Agile Roots 2014
Morph your mindset for Continuous Delivery, Agile Roots 2014
 
Java script basics for beginners
Java script basics for beginners  Java script basics for beginners
Java script basics for beginners
 
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It IsAmanda Cinnamon - Treat Your Code Like the Valuable Software It Is
Amanda Cinnamon - Treat Your Code Like the Valuable Software It Is
 
Your Journey to the Uknown: A tale of how I debunk new codebases.
Your Journey to the Uknown: A tale of how I debunk new codebases.Your Journey to the Uknown: A tale of how I debunk new codebases.
Your Journey to the Uknown: A tale of how I debunk new codebases.
 
Untangling the web11
Untangling the web11Untangling the web11
Untangling the web11
 
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in FlexassertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
assertYourself - Breaking the Theories and Assumptions of Unit Testing in Flex
 
InteropWG Intro & Vertical Programs (May. 2017)
InteropWG Intro & Vertical Programs (May. 2017)InteropWG Intro & Vertical Programs (May. 2017)
InteropWG Intro & Vertical Programs (May. 2017)
 
Computer Tools for Academic Research
Computer Tools for Academic ResearchComputer Tools for Academic Research
Computer Tools for Academic Research
 
Agile
AgileAgile
Agile
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
 
Essentielle værktøjer for det agile team
Essentielle værktøjer for det agile teamEssentielle værktøjer for det agile team
Essentielle værktøjer for det agile team
 
Triggers for Admins: A Five-step Framework for Creating Triggers
Triggers for Admins: A Five-step Framework for Creating TriggersTriggers for Admins: A Five-step Framework for Creating Triggers
Triggers for Admins: A Five-step Framework for Creating Triggers
 

Recently uploaded

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
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
dakas1
 
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
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
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
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
ToXSL Technologies
 
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
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
Alberto Brandolini
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
Marcin Chrost
 
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
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
Ayan Halder
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
Patrick Weigel
 

Recently uploaded (20)

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
 
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
一比一原版(UMN毕业证)明尼苏达大学毕业证如何办理
 
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)
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
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
 
UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?How Can Hiring A Mobile App Development Company Help Your Business Grow?
How Can Hiring A Mobile App Development Company Help Your Business Grow?
 
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
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
Modelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - AmsterdamModelling Up - DDDEurope 2024 - Amsterdam
Modelling Up - DDDEurope 2024 - Amsterdam
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !Enums On Steroids - let's look at sealed classes !
Enums On Steroids - let's look at sealed classes !
 
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
 
Requirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional SafetyRequirement Traceability in Xen Functional Safety
Requirement Traceability in Xen Functional Safety
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
WWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders AustinWWDC 2024 Keynote Review: For CocoaCoders Austin
WWDC 2024 Keynote Review: For CocoaCoders Austin
 

Tools & Preparations

  • 1. Tools & Preparations The Good, The Bad and The Ugly Ali Sattari, CoderConf 95
  • 2. Tools as enablers ➔ Part of our everyday tasks ➔ Indicator of experience ➔ Not often readily available 2
  • 3. Preparation Situations we find ourselves in need of preparation ➔ New project ➔ New workstation ➔ New job ➔ New environment 3
  • 4. Selection Criteria How should tools be chosen? ➔ Simple, short term, one man job ➔ Complex, long term, team based job 4
  • 5. Two Phenomena ➔ Axe Sharpening ➔ Yak Shaving 5
  • 6. Axe Sharpening Definition & Origin “Give me six hours to chop down a tree and I will spend the first four sharpening the axe.” ― Abraham Lincoln 6
  • 7. Axe Sharpening ➔ Directly related to task ➔ Exhaustive list of items ➔ Results are reusable ➔ Reduces execution time Signs & Symptoms 7
  • 8. Axe Sharpening ➔ Setting up the IDE ➔ Setting up the version control ➔ Setting up the environment ➔ Looking for libraries Examples in software development 8
  • 9. Yak Shaving What you are doing when you're doing some stupid, fiddly little task that bears no obvious relationship to what you're supposed to be working on, but yet a chain of twelve causal relations links what you're doing to the original meta-task. ― Jeremy H. Brown Definition & Origin 9
  • 10. Yak Shaving ➔ No direct relation to task ➔ Non-exhaustive list of items, no clear roadmap ➔ Issues getting added up on the way Signs & Symptoms 10
  • 11. Yak Shaving 1. Need a helper script 2. It requires latest lib_xyz 3. But some other package depend on lib_xyz 4. You start updating the packages and end up with new kernel 5. VGA acts up on new kernel 6. Need to compile driver 7. Source code is restricted 8. ... Example 11
  • 12. ➔ Am I axe sharpening or yak shaving? ➔ Am I picking right, necessary tools or doing an overkill? Key Questions To know which is which! 12
  • 13. ➔ Project objectives ➔ Project scope and lifetime ➔ Project constraints and resources ➔ Experience in subject ➔ Roadmap with clear milestones Systematic Approach Because it works! 13
  • 14. ➔ Feedback loop ➔ Yak shaving for learning and exploration Side Notes For newbies! 14
  • 15. Thank You! Ali Sattari, CoderConf 95