SlideShare una empresa de Scribd logo
1 de 59
Descargar para leer sin conexión
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!

Más contenido relacionado

Más 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
 

Más 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
 

Último

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 

Último (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 

A Gentle Introduction to Agile Software Development