SlideShare a Scribd company logo
1 of 38
we don’t type
for a living
plural programming practices
for productivity and profit
@jonfazzaro
It is counter intuitive, but 2 people working
at a single computer will add as much
functionality as two working separately except
that it will be much higher in quality. With
increased quality comes big savings later in
the project.
Pair programming makes the
heart-grindingly slow process
of software development go
faster.
manual work
(time * people = value)
knowledge work
(time * people = maybe)
1. strong pairing
project
Software
development
timeline
for an idea to go from
your head into the
computer, it MUST go
through someone
else's hands.
Llewelyn Falco
Agile Coach
Awesome Name-haver
2. strong breaking
focus
The human eye has an almost infinite
capacity for not seeing what it does not
want to see.... Programmers, if left to
their own devices, will ignore the most
glaring errors in their output—errors that
anyone else can see in an instant.
Gerald Weinberg
The Psychology of
Computer Programming
focus tunnel vision
focus tunnel vision
“clever”-ness
complexity
bugs
debt
rework
cost
continuous
integration and
delivery
simultaneous
integration and
delivery
done
If you want something
marked done, give it
to a solo developer.
If you want something
to get done, give it
to a pair.
If you want something
to stay done, give it
to a mob.
If you want to go
fast, don’t go alone.
we don’t type
for a living
plural programming practices
for productivity and profit
@jonfazzaro

More Related Content

What's hot

Top Java IDE keyboard shortcuts for Eclipse, IntelliJIDEA, NetBeans (report p...
Top Java IDE keyboard shortcuts for Eclipse, IntelliJIDEA, NetBeans (report p...Top Java IDE keyboard shortcuts for Eclipse, IntelliJIDEA, NetBeans (report p...
Top Java IDE keyboard shortcuts for Eclipse, IntelliJIDEA, NetBeans (report p...ZeroTurnaround
 
Pair Programming (2014)
Pair Programming (2014)Pair Programming (2014)
Pair Programming (2014)Peter Kofler
 
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Lisa Boyer Cooney (she/her)
 
VS2017 saturday - Historical debugging with intelli trace in visual studio
VS2017 saturday - Historical debugging with intelli trace in visual studioVS2017 saturday - Historical debugging with intelli trace in visual studio
VS2017 saturday - Historical debugging with intelli trace in visual studioMirco Vanini
 
How To Review The Sprints Efficiently
How To Review The Sprints EfficientlyHow To Review The Sprints Efficiently
How To Review The Sprints EfficientlyLemi Orhan Ergin
 
Software development philosophies v1
Software development philosophies v1Software development philosophies v1
Software development philosophies v1Praveen Nair
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st CenturyHenry Jacob
 
DevOpsDays Istanbul 2019 - AI with a devops mindset
DevOpsDays Istanbul 2019 - AI with a devops mindsetDevOpsDays Istanbul 2019 - AI with a devops mindset
DevOpsDays Istanbul 2019 - AI with a devops mindsetThiago de Faria
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...Hayim Makabee
 
Lecture 1 introduction to applied software project management
Lecture 1   introduction to applied software project managementLecture 1   introduction to applied software project management
Lecture 1 introduction to applied software project managementanasz3z3
 
introduction to software enginering
introduction to software engineringintroduction to software enginering
introduction to software engineringprasanna chitra
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationmantripooja
 
Rapidly prototyping games_FITC Amsterdam_2013
Rapidly prototyping games_FITC Amsterdam_2013Rapidly prototyping games_FITC Amsterdam_2013
Rapidly prototyping games_FITC Amsterdam_2013Wooga
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and conceptsLior Kirshner-Shalom
 

What's hot (16)

Top Java IDE keyboard shortcuts for Eclipse, IntelliJIDEA, NetBeans (report p...
Top Java IDE keyboard shortcuts for Eclipse, IntelliJIDEA, NetBeans (report p...Top Java IDE keyboard shortcuts for Eclipse, IntelliJIDEA, NetBeans (report p...
Top Java IDE keyboard shortcuts for Eclipse, IntelliJIDEA, NetBeans (report p...
 
Pair Programming (2014)
Pair Programming (2014)Pair Programming (2014)
Pair Programming (2014)
 
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021Agile 2  - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
Agile 2 - The Next Iteration of Agile - Lisa Cooney for Agile Nova 7-29-2021
 
VS2017 saturday - Historical debugging with intelli trace in visual studio
VS2017 saturday - Historical debugging with intelli trace in visual studioVS2017 saturday - Historical debugging with intelli trace in visual studio
VS2017 saturday - Historical debugging with intelli trace in visual studio
 
How To Review The Sprints Efficiently
How To Review The Sprints EfficientlyHow To Review The Sprints Efficiently
How To Review The Sprints Efficiently
 
Software development philosophies v1
Software development philosophies v1Software development philosophies v1
Software development philosophies v1
 
Plugin style EA
Plugin style EAPlugin style EA
Plugin style EA
 
Software Development in 21st Century
Software Development in 21st CenturySoftware Development in 21st Century
Software Development in 21st Century
 
DevOpsDays Istanbul 2019 - AI with a devops mindset
DevOpsDays Istanbul 2019 - AI with a devops mindsetDevOpsDays Istanbul 2019 - AI with a devops mindset
DevOpsDays Istanbul 2019 - AI with a devops mindset
 
To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...To document or not to document? An exploratory study on developers' motivatio...
To document or not to document? An exploratory study on developers' motivatio...
 
Lecture 1 introduction to applied software project management
Lecture 1   introduction to applied software project managementLecture 1   introduction to applied software project management
Lecture 1 introduction to applied software project management
 
introduction to software enginering
introduction to software engineringintroduction to software enginering
introduction to software enginering
 
Developing windows 8 apps
Developing windows 8 appsDeveloping windows 8 apps
Developing windows 8 apps
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
Rapidly prototyping games_FITC Amsterdam_2013
Rapidly prototyping games_FITC Amsterdam_2013Rapidly prototyping games_FITC Amsterdam_2013
Rapidly prototyping games_FITC Amsterdam_2013
 
Pair Programming: overview and concepts
Pair Programming: overview and conceptsPair Programming: overview and concepts
Pair Programming: overview and concepts
 

Similar to We Don't Type for a Living: Plural Programming Practices for Productivity and Profit

Software development project management
Software development project managementSoftware development project management
Software development project managementRoni Banerjee
 
No silver-bullllet-1
No silver-bullllet-1No silver-bullllet-1
No silver-bullllet-1Maria Riaz
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1gvkmku
 
No silver bullet summary (paper)
No silver bullet summary (paper)No silver bullet summary (paper)
No silver bullet summary (paper)shakeel khan
 
Instantly Connecting Developers Across The Miles
Instantly Connecting Developers Across The MilesInstantly Connecting Developers Across The Miles
Instantly Connecting Developers Across The MilesCitrix Online
 
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDEPoitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDEFlorent BENOIT
 
Handoff Tool - Sympli & iOS 14 features
Handoff Tool - Sympli & iOS 14 featuresHandoff Tool - Sympli & iOS 14 features
Handoff Tool - Sympli & iOS 14 featuresChiao Wu
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️Ori Pekelman
 
object recognition ppt for minor Project
object recognition ppt for minor Projectobject recognition ppt for minor Project
object recognition ppt for minor Projectashishkatehra1
 
Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software developmentNick Galbreath
 
Vesterli worst adf_project_ever_wildcard_2013
Vesterli worst adf_project_ever_wildcard_2013Vesterli worst adf_project_ever_wildcard_2013
Vesterli worst adf_project_ever_wildcard_2013Andrejs Vorobjovs
 
Workshop on software product development the backdrop
Workshop on software product development   the backdropWorkshop on software product development   the backdrop
Workshop on software product development the backdropJoy Prabhakaran
 
From DevOps to NoOps how not to get Equifaxed Apidays
From DevOps to NoOps how not to get Equifaxed ApidaysFrom DevOps to NoOps how not to get Equifaxed Apidays
From DevOps to NoOps how not to get Equifaxed ApidaysOri Pekelman
 
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016Florent BENOIT
 
Software development methodologies of dumb and cunning
Software development methodologies of dumb and cunningSoftware development methodologies of dumb and cunning
Software development methodologies of dumb and cunningNalaka Gamage
 
Building real things for real people 2009
Building real things for real people 2009Building real things for real people 2009
Building real things for real people 2009Justin Ferrell
 

Similar to We Don't Type for a Living: Plural Programming Practices for Productivity and Profit (20)

Software development project management
Software development project managementSoftware development project management
Software development project management
 
No silver-bullllet-1
No silver-bullllet-1No silver-bullllet-1
No silver-bullllet-1
 
Slides chapter 1
Slides chapter 1Slides chapter 1
Slides chapter 1
 
No silver bullet summary (paper)
No silver bullet summary (paper)No silver bullet summary (paper)
No silver bullet summary (paper)
 
Instantly Connecting Developers Across The Miles
Instantly Connecting Developers Across The MilesInstantly Connecting Developers Across The Miles
Instantly Connecting Developers Across The Miles
 
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDEPoitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
Poitou-Charentes JUG 2016 Eclipse Che: The Next-Gen Eclipse IDE
 
Handoff Tool - Sympli & iOS 14 features
Handoff Tool - Sympli & iOS 14 featuresHandoff Tool - Sympli & iOS 14 features
Handoff Tool - Sympli & iOS 14 features
 
Distributed cat herding
Distributed cat herdingDistributed cat herding
Distributed cat herding
 
From 🤦 to 🐿️
From 🤦 to 🐿️From 🤦 to 🐿️
From 🤦 to 🐿️
 
object recognition ppt for minor Project
object recognition ppt for minor Projectobject recognition ppt for minor Project
object recognition ppt for minor Project
 
Fixing security by fixing software development
Fixing security by fixing software developmentFixing security by fixing software development
Fixing security by fixing software development
 
Teamwork Presentation
Teamwork PresentationTeamwork Presentation
Teamwork Presentation
 
Vesterli worst adf_project_ever_wildcard_2013
Vesterli worst adf_project_ever_wildcard_2013Vesterli worst adf_project_ever_wildcard_2013
Vesterli worst adf_project_ever_wildcard_2013
 
Workshop on software product development the backdrop
Workshop on software product development   the backdropWorkshop on software product development   the backdrop
Workshop on software product development the backdrop
 
From DevOps to NoOps how not to get Equifaxed Apidays
From DevOps to NoOps how not to get Equifaxed ApidaysFrom DevOps to NoOps how not to get Equifaxed Apidays
From DevOps to NoOps how not to get Equifaxed Apidays
 
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
Eclipse Che: The Next-Gen Eclipse IDE - Bordeaux jug 2016
 
Software development methodologies of dumb and cunning
Software development methodologies of dumb and cunningSoftware development methodologies of dumb and cunning
Software development methodologies of dumb and cunning
 
Poor Man's Kanban
Poor Man's KanbanPoor Man's Kanban
Poor Man's Kanban
 
Building real things for real people 2009
Building real things for real people 2009Building real things for real people 2009
Building real things for real people 2009
 
Spm tutorials
Spm tutorialsSpm tutorials
Spm tutorials
 

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataBradBedford3
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?Watsoo Telematics
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer DataAdobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
Adobe Marketo Engage Deep Dives: Using Webhooks to Transfer Data
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?What are the features of Vehicle Tracking System?
What are the features of Vehicle Tracking System?
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 

We Don't Type for a Living: Plural Programming Practices for Productivity and Profit

Editor's Notes

  1. They buried the lede here What do you say after reading that? Quality is good. Savings are nice. But what do the people paying for the nerds hear?
  2. Eat your vegetables This doesn’t connect Here’s the real problem. “What else does it do?”
  3. Software development is SLOW You will be up against this problem for your whole career as a dev
  4. Here’s my rewrite. Two nerds, one keyboard How does this make us faster? Another question.
  5. Is this cat writing code? No, he never stops typing We don’t type for a living
  6. (story of the chalk x invoice) Great story Illustrates manual work vs knowledge work thinking
  7. folding laundry, doing dishes, factory line linear and predictable
  8. This is knowledge work Unpredictable, reacts non-linearly to adjustments of time and resources. Setbacks This is because in knowledge work, we are forever slipping backward each time we move forward. Trial and error A creative process
  9. So, back to this guy. The slowness of knowledge work. The slowness of knowledge work is an illusion based on our expectations of manual work. We completely discount the cost of the creative, generative work inherent in it, And we expect to be able treat it like linear task work. This inevitably disappoints everyone. So, how do we make this faster? We have to think about going faster differently.
  10. A Wrinkle in Time? Not the movie Traditionally, we think of the shortest distance between two points as a straight line. To get to point B, we just have to slog it out.
  11. Tesseract Folds time and space We can speed up the non-linearity of Knowledge work with a non-linear approach to the work.
  12. But this doesn’t just happen when we put two developers together. There’s are some dos and don’ts here. pairing is not two machines one watches one checks reddit Every team is different, Every pair is different. But here are two essential practices to ensure that you and your team get what you pay for with pairing and mobbing.
  13. A new way to split the work. We know from Lean Manufacturing that to make any system go faster, we have to first identify its bottleneck. The bottleneck in Knowledge Work is our singular locus of attention in search of the next right right idea. By adding more brains to the same problem at the same time, we are adding resources to the bottleneck. we multiply the points of attention. we multiply the ideas generated, and we multiply our chances of finding the right next thing to try.
  14. The traditional approach. We add more brains to the problem. But then we give them each their own programming task! division of labor. Frederick Taylor was right about one thing--in order to be efficient in solving a problem, we have to first decompose it. We have to break it down. But there’s a problem here. Do you see it?
  15. Let’s take a closer look. What is it that we do when we develop software? This is just what happens when coding. Not to mention the other components of software development like requirements, QA, and operations. There’s a lot going on all at once. How much of this resource—this brain—is really able to focus on that bottleneck? Could we break this down further?
  16. This is where pairing and mobbing come in. We split the job between two or more people. This lightens each person’s cognitive load And the pair can move quickly through a complex task.
  17. As far as what you do want to do, there is one sentence I keep coming back to to articulate it.
  18. Driver and navigator
  19. Attention is the resource to manage for Knowledge Work. We can’t manage attention directly, but can care for it through managing our time. This problem multiplies in importance when programming in a group. One of the most counterproductive states a team can be in is pairing/mobbing while one or more in the group are tired, and their attention is flagging.
  20. An effective way to prevent this is to Take a break before you need a break. As a group. This sounds easy. But it is not. Use a timer. Preferably one that BREAKS your flow.
  21. Mobster is my current favorite. Yes, I said to BREAK your flow. But Csikszentmihalyi! Flow state!
  22. I read that 20 minutes? Don’t we need focus to code? Yes, sometimes
  23. Don’t we need to focus for long periods of time to do this work? Don’t nerds take up to 20 minutes to recover from an interruption? Don’t we need that DEEP FOCUS to write code? Yes, sometimes. But remember, when we solo, we’re trying to juggle all of the aspects of this job at once. This of course would require intense concentration, and would probably fall to pieces at an interruption. More often than not, what I see happen as a side-effect of this difficult balancing act is that one or more aspects of the work suffer from even trying.
  24. To this point…
  25. And what you may call focus, Gerry and I call tunnel vision. So yeah, when you are heads-down and focused, without interruption, you could write the wrong code really fast.
  26. This results in cleverness complexity bugs technical debt rework Things that hemorrhage your project’s budget. But are they more costly than two people coding together at the same computer?
  27. Let’s talk about cost. “Getting done sooner doesn’t help me if this breaks my budget in half, we’re paying devs by the hour!” Again, this assumes a linear relationship between fingers on keyboards, hours, and features delivered. Focus on division of labor But we don’t deliver “tasks”. We deliver Features! What about the integration? As it happens, this aspect of managing project work is so often missed, that the missing it itself has a name:
  28. In other words, we focus and obsess over the division and individual execution of the work While totally blowing off how difficult and expensive it will be to integrate and deliver the valuable whole afterward. So while we are clutching our pearls over the idea of more than one nerd at a keyboard, we turn a blind eye to the time spent on merges, deployments, code reviews, back-and-forth with QA, etc. dribbling every task out to a slow, painful, expensive death.
  29. DevOps/Continuous practices are an attempt to directly take on coordination neglect On a team of solo developers, this is an uphill battle.
  30. Pairs, however, have a much easier time. Mobs have it licked. Speaking of finishing things.
  31. Let’s talk about this word. What does this word mean? Ask everyone on your team to write down an answer. Every one of them will probably be different. But what if you combined those different answers? Together, they are probably right Solo dev: Rework Bugs Side effects Missed scenarios Technical debt SLOW drastically reduced by plural dev Gives us a living definition of done
  32. Thank you!