SlideShare une entreprise Scribd logo
1  sur  59
Télécharger pour lire hors ligne
A Gentle Introduction to Agile
Software Development
H. Alan Stevens
Manage Complexity With Agility
Contact Me
Slides: speakerdeck.com/alanstevens
Email/IM: alanstevens@gmail.com
Website: halanstevens.com
Twitter: @alanstevens
nerdhiveindustries.com
The Straw Man
Software is Complex
You Are Already
Succeeding
Pomposity
Use What Works
(For You)
Avoid Dogma
It’s a process
It takes Time
Release Regularly
(Every two to four weeks)
Release:
Even
Internally
Constant Velocity
“Heroism is Failure”
H. Alan Stevens
Short Horizons
Frequent Course
Corrections
User Goals
Not Technical Requirements
Reminder of a
Future Conversation
SWAG
Sophisticated Wild Ass
Arbitrary Guess
User Story Template
As a: (Role)
I want: (Something)
So that: (Benefit)
Documented in
Acceptance Tests
Avoid BDUF
(Big Design Up Front)
The Last Responsible Moment
Do the simplest thing that
could possibly work
YAGNI
You Ain’t Gonna’
Need It!
Loose Coupling
High Cohesion
&
Low Coupling
Law of Demeter
A class should only
communicate with its
immediate neighbors
Manage Technical Debt
I thought that rushing software
out the door to get some
experience with it was a good
idea, but that of course, you
would eventually go back
Ward Cunningham
“Ward Explains Debt Metaphor”
http://c2.com/cgi/wiki?WardExplainsDebtMetaphor
as you learned things about that
software you would repay that
loan by refactoring the program
to reflect your experience as you
acquired it.
Ward Cunningham
“Ward Explains Debt Metaphor”
http://c2.com/cgi/wiki?WardExplainsDebtMetaphor
Code Smells
a hint that something might be wrong
Follow the “Boy Scout Principle”
Enable Change
Common Refactorings
Rename Class
Extract Variable
Extract Method
Extract Class
DRY
Don’t
Repeat
Yourself
See it once: do it
See it twice: notice it
See it a third time:
Automate It!
The Rule of Three
Optimize
Bottlenecks
Reduce Friction
Enable Flow
Reduce Ceremony
Automate the BFDs
(Big Friggin’ Deals)
As applications mature,
they should become more
maintainable, not less.
Continuous Improvement
“With every mistake, I must
surely be learning”
George Harrison
Work on
your
process,
not just in
your process
Value Developer Cycles
Over CPU Cycles
Eliminate Waste
Prevention is the best cure
Avoid Complacency
LEAN
Slides: speakerdeck.com/alanstevens
Email/IM: alanstevens@gmail.com
Website: halanstevens.com
Twitter: @alanstevens
Thanks For Listening!

Contenu connexe

Plus de Alan Stevens

My Prayer As I Leave You
My Prayer As I Leave YouMy Prayer As I Leave You
My Prayer As I Leave YouAlan Stevens
 
Making a Difference
Making a DifferenceMaking a Difference
Making a DifferenceAlan Stevens
 
Beyond Fast Good and Cheap
Beyond Fast Good and CheapBeyond Fast Good and Cheap
Beyond Fast Good and CheapAlan Stevens
 
You Are Not a Craftsman
You Are Not a CraftsmanYou Are Not a Craftsman
You Are Not a CraftsmanAlan Stevens
 
Better Is the Only Way Forward
Better Is the Only Way ForwardBetter Is the Only Way Forward
Better Is the Only Way ForwardAlan Stevens
 
Distributed Version Control Systems: A Guide For The Perplexed
Distributed Version Control Systems: A Guide For The PerplexedDistributed Version Control Systems: A Guide For The Perplexed
Distributed Version Control Systems: A Guide For The PerplexedAlan Stevens
 
Seven Lessons in Personal Marketing I Learned From Pickup Artists
Seven Lessons in Personal Marketing I Learned From Pickup ArtistsSeven Lessons in Personal Marketing I Learned From Pickup Artists
Seven Lessons in Personal Marketing I Learned From Pickup ArtistsAlan Stevens
 
Does Your Code Tell A Story
Does  Your  Code  Tell  A  StoryDoes  Your  Code  Tell  A  Story
Does Your Code Tell A StoryAlan Stevens
 
The Taming Of The Code
The Taming Of The CodeThe Taming Of The Code
The Taming Of The CodeAlan Stevens
 

Plus de Alan Stevens (12)

My Prayer As I Leave You
My Prayer As I Leave YouMy Prayer As I Leave You
My Prayer As I Leave You
 
My Creed
My CreedMy Creed
My Creed
 
Leveling Up
Leveling UpLeveling Up
Leveling Up
 
Making a Difference
Making a DifferenceMaking a Difference
Making a Difference
 
Beyond Fast Good and Cheap
Beyond Fast Good and CheapBeyond Fast Good and Cheap
Beyond Fast Good and Cheap
 
You Are Not a Craftsman
You Are Not a CraftsmanYou Are Not a Craftsman
You Are Not a Craftsman
 
Better Is the Only Way Forward
Better Is the Only Way ForwardBetter Is the Only Way Forward
Better Is the Only Way Forward
 
Distributed Version Control Systems: A Guide For The Perplexed
Distributed Version Control Systems: A Guide For The PerplexedDistributed Version Control Systems: A Guide For The Perplexed
Distributed Version Control Systems: A Guide For The Perplexed
 
Seven Lessons in Personal Marketing I Learned From Pickup Artists
Seven Lessons in Personal Marketing I Learned From Pickup ArtistsSeven Lessons in Personal Marketing I Learned From Pickup Artists
Seven Lessons in Personal Marketing I Learned From Pickup Artists
 
Does Your Code Tell A Story
Does  Your  Code  Tell  A  StoryDoes  Your  Code  Tell  A  Story
Does Your Code Tell A Story
 
The Taming Of The Code
The Taming Of The CodeThe Taming Of The Code
The Taming Of The Code
 
Coding In Public
Coding In PublicCoding In Public
Coding In Public
 

Dernier

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 

Dernier (20)

Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 

A Gentle Introduction to Agile Software Development