SlideShare una empresa de Scribd logo
1 de 55
Agile Development
We want to build software,
but how do we go about doing that?
Waterfall Development
Waterfall Development
• This is the way industrial engineers built
concrete items. It works great.
• We want to build software, and this is a
terrible idea.
Waterfall Development
{side story about the USPS}
The average software project fails; therefore,
we must strive for excellence.*
The average software project fails; therefore,
we must strive for excellence.*
-paraphrased from Chef Gordon Ramsay talking about restaurants
What is Agile?
Agile manifesto
Proposed by Kent Beck, Martin Fowler, et al.
What is Agile?
Agile manifesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
What is Agile?
Agile manifesto
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
There is value in the items on the right, but
more value in the item on the left.
What is Agile?
Various methodologies:
• Scrum
• eXtreme Programming (XP)
• Lean
Customer satisfaction by rapid delivery of useful
software
Customer satisfaction by rapid delivery of useful
software
Rapid delivery means weeks – not months.
Useful software means a noticeable difference.
Welcome changing requirements, even late in
development.
Welcome changing requirements, even late in
development.
Welcome changing requirements, even late in
development
Requirements change b/c:
Business needs change
Understanding changes (yours & theirs)
Problems solve themselves or require a new approach
Competitors pop-up
Welcome changing requirements, even late in
development
When requirements or understanding
changes, you are free to re-estimate time
restraints and put the feature off for another
iteration.
Working software is delivered frequently (weeks
rather than months)
Working software is delivered frequently (weeks
rather than months)
Notice the word “working.” If you rollout
weekly, you’ll quickly learn to test early and
often rather than putting it off.
Working software is delivered frequently (weeks
rather than months)
In order to achieve weekly releases, you must
break large problems into smaller problems.
You also focus on the really important problems.
Working software is the principal measure of
progress
Working software is the principal measure of
progress.
Users can see and understand working software.
They can also see what isn’t working. There is
no better metric.
Working software is the principal measure of
progress.
“Almost done” is useless for the customer.
Sustainable development, able to maintain a
constant pace.
Sustainable development, able to maintain a
constant pace.
Burnout is a real concern amongst developers.
Limit overtime work.
Close, daily cooperation between business
people and developers.
Close, daily cooperation between business
people and developers.
Even if it’s just 5 minutes, daily talks are critical.
You don’t want to build excess software.
Face-to-face conversation is the best form of
communication (co-location).
Face-to-face conversation is the best form of
communication (co-location).
Let’s face it, face-to-face is best. You can read
mannerisms and tone of voice. You need the
feedback.
Projects are built around motivated
individuals, who should be trusted.
Projects are built around motivated individuals,
who should be trusted.
If you can’t trust them, they shouldn’t be
working with you.
Projects are built around motivated
individuals, who should be trusted.
“Oh, Larry is working on it? You’ll have to make
him do it.”
Continuous attention to technical excellence and
good design.
Continuous attention to technical excellence and
good design.
Shortcuts will destroy you. I spent 3 weeks
building a “shortcut” that should have taken 3
days. Now I have bad software that took longer
to deliver.
Continuous attention to technical excellence and
good design.
Use design patterns (where appropriate), take
advantage of the language’s features, etc.
Simplicity—the art of maximizing the amount of
work not done—is essential
Simplicity—the art of maximizing the amount of
work not done—is essential.
Plans change, understanding changes, and
simple things are easier to test.
Quit building things that you won’t need.
Self-organizing teams
Self-organizing teams
A “team” isn’t just a group of people with a
common assignment. They should have a
common spirit and exercise individuals’
strengths.
A good team “jells” well.
-Peopleware
Self-organizing teams
A self-organized team requires no job titles. Job
functions overlap, and everyone just falls into
place.
Self-organizing teams
A self-organized team requires no job titles. Job
functions overlap, and everyone just falls into
place.
They look for work rather than wait for it to be
assigned.
Regular adaptation to changing circumstances.
Regular adaptation to changing circumstances.
Things will change:
requirements
team members
leadership/direction
funding
How do I start implementing agile?
Agile development should make things easier.
Slowly implement techniques starting with your
own work. Then move it out to the team.
How do I start implementing agile?
• Get “buy-in” from the user (customer, another
department, whoever).
• Testing (TDD).
• Version control (git, subversion).
• Break the large problems into small problems
and rank let the customer rank them with
priority.
How do I start implementing agile?
Get “buy-in” from the user
Meet with the a user, pick a small
feature, implement it in a week or two. Do it
again.
How do I start implementing agile?
Test:
unit tests
regression tests
acceptance tests
How do I start implementing agile?
Version control:
Use git, mercurial, subversion, etc.
How do I start implementing agile?
Break the large problems into small problems
and rank them with priority.
Sit with the user and break feature requests into
smaller requests, make time estimates, and let
the user rank them with priority.
Wrap Up
Books on Agile
Thanks!
Name: David Haskins
Connect with me on LinkedIn: davidhaskins@ieee.org

Más contenido relacionado

La actualidad más candente

Agile And Your Business V2
Agile And Your Business V2Agile And Your Business V2
Agile And Your Business V2edward1968
 
Building the A - Team
Building the A - TeamBuilding the A - Team
Building the A - TeamLucas Bruce
 
From dysfunction to cross function in 8,593 easy steps- team building at the cbc
From dysfunction to cross function in 8,593 easy steps- team building at the cbcFrom dysfunction to cross function in 8,593 easy steps- team building at the cbc
From dysfunction to cross function in 8,593 easy steps- team building at the cbcJade Stephen, PSM II
 
Succeeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's PerspectiveSucceeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's PerspectiveEd Seidewitz
 
Capturing Lessons Learned Information – Making your current and future projec...
Capturing Lessons Learned Information – Making your current and future projec...Capturing Lessons Learned Information – Making your current and future projec...
Capturing Lessons Learned Information – Making your current and future projec...ProjectCon
 
Agile And Lean Practices - The Mobile Academy
Agile And Lean Practices - The Mobile AcademyAgile And Lean Practices - The Mobile Academy
Agile And Lean Practices - The Mobile Academystrongandagile.co.uk
 
Agile at enterprice level
Agile at enterprice levelAgile at enterprice level
Agile at enterprice levelJan De Baere
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Developmentsushant.1409
 
Agile Development
Agile DevelopmentAgile Development
Agile Developmentabdpse
 
Walk, Don't Run: Incremental Change in Enterprise UX
Walk, Don't Run: Incremental Change in Enterprise UXWalk, Don't Run: Incremental Change in Enterprise UX
Walk, Don't Run: Incremental Change in Enterprise UXuxpin
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software DevelopmentAstrails
 
Agile hacks for product managers
Agile hacks for product managersAgile hacks for product managers
Agile hacks for product managersSam McAfee
 
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...Agile ME
 
Software Project Management Tips and Tricks
Software Project Management Tips and TricksSoftware Project Management Tips and Tricks
Software Project Management Tips and TricksDr. Syed Hassan Amin
 
Requirements = Scope
Requirements = ScopeRequirements = Scope
Requirements = ScopeCraig Brown
 
Lean software development tips and tricks - Agile Tour Dublin 2014
Lean software development tips and tricks - Agile Tour Dublin 2014Lean software development tips and tricks - Agile Tour Dublin 2014
Lean software development tips and tricks - Agile Tour Dublin 2014Augusto Evangelisti
 

La actualidad más candente (18)

Agile And Your Business V2
Agile And Your Business V2Agile And Your Business V2
Agile And Your Business V2
 
Building the A - Team
Building the A - TeamBuilding the A - Team
Building the A - Team
 
From dysfunction to cross function in 8,593 easy steps- team building at the cbc
From dysfunction to cross function in 8,593 easy steps- team building at the cbcFrom dysfunction to cross function in 8,593 easy steps- team building at the cbc
From dysfunction to cross function in 8,593 easy steps- team building at the cbc
 
Succeeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's PerspectiveSucceeding with Agile in the Federal Government: A Coach's Perspective
Succeeding with Agile in the Federal Government: A Coach's Perspective
 
Capturing Lessons Learned Information – Making your current and future projec...
Capturing Lessons Learned Information – Making your current and future projec...Capturing Lessons Learned Information – Making your current and future projec...
Capturing Lessons Learned Information – Making your current and future projec...
 
Agile And Lean Practices - The Mobile Academy
Agile And Lean Practices - The Mobile AcademyAgile And Lean Practices - The Mobile Academy
Agile And Lean Practices - The Mobile Academy
 
Agile at enterprice level
Agile at enterprice levelAgile at enterprice level
Agile at enterprice level
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Day in the life of product manager
Day in the life of product managerDay in the life of product manager
Day in the life of product manager
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
Walk, Don't Run: Incremental Change in Enterprise UX
Walk, Don't Run: Incremental Change in Enterprise UXWalk, Don't Run: Incremental Change in Enterprise UX
Walk, Don't Run: Incremental Change in Enterprise UX
 
Lean Software Development
Lean Software DevelopmentLean Software Development
Lean Software Development
 
Agile hacks for product managers
Agile hacks for product managersAgile hacks for product managers
Agile hacks for product managers
 
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
A Practical Approach to Agile Adoption - Case Studies from Egypt by Amr Noama...
 
Software Project Management Tips and Tricks
Software Project Management Tips and TricksSoftware Project Management Tips and Tricks
Software Project Management Tips and Tricks
 
Requirements = Scope
Requirements = ScopeRequirements = Scope
Requirements = Scope
 
Scrum and DevOps training
Scrum and DevOps trainingScrum and DevOps training
Scrum and DevOps training
 
Lean software development tips and tricks - Agile Tour Dublin 2014
Lean software development tips and tricks - Agile Tour Dublin 2014Lean software development tips and tricks - Agile Tour Dublin 2014
Lean software development tips and tricks - Agile Tour Dublin 2014
 

Destacado (6)

Togaf v9-m2-togaf9-components
Togaf v9-m2-togaf9-componentsTogaf v9-m2-togaf9-components
Togaf v9-m2-togaf9-components
 
Quatorze juillet
Quatorze juilletQuatorze juillet
Quatorze juillet
 
Togaf v9-m3-intro-adm
Togaf v9-m3-intro-admTogaf v9-m3-intro-adm
Togaf v9-m3-intro-adm
 
Unit testing
Unit testingUnit testing
Unit testing
 
Scan
ScanScan
Scan
 
Web security
Web securityWeb security
Web security
 

Similar a Agile development

The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile developmentRajat Samal
 
Martin folwer
Martin folwerMartin folwer
Martin folwerShiraz316
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agilevineet
 
Agile and management why all the pain
Agile and management   why all the painAgile and management   why all the pain
Agile and management why all the painJoe Lukan
 
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017AgileNZ Conference
 
Agile product development
Agile product developmentAgile product development
Agile product developmentBrenn Hill
 
Agile Practices for Software Development
Agile Practices for Software DevelopmentAgile Practices for Software Development
Agile Practices for Software DevelopmentBoTree Technologies
 
Agile Software Development - Session 1
Agile Software Development - Session 1Agile Software Development - Session 1
Agile Software Development - Session 1Dalia Ayman Ahmed
 
Baby Steps To Agility
Baby Steps To AgilityBaby Steps To Agility
Baby Steps To AgilityNaresh Jain
 
Egg3 | Agile CRM Deployment
Egg3 | Agile CRM DeploymentEgg3 | Agile CRM Deployment
Egg3 | Agile CRM DeploymentOlivier Caeymaex
 
AGILE PROJECT MANAGEMENT NOTES.docx
AGILE PROJECT MANAGEMENT NOTES.docxAGILE PROJECT MANAGEMENT NOTES.docx
AGILE PROJECT MANAGEMENT NOTES.docxVardha Mago
 
Business Process Improvement - SIPOC and Toolkit
Business Process Improvement -   SIPOC  and ToolkitBusiness Process Improvement -   SIPOC  and Toolkit
Business Process Improvement - SIPOC and Toolkittmtrnr
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resourcesAnwar Sadat
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training Anat (Alon) Salhov
 
The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)Adrian Howard
 

Similar a Agile development (20)

Agile
AgileAgile
Agile
 
Starting with Agile
Starting with AgileStarting with Agile
Starting with Agile
 
The principles of agile development
The principles of agile developmentThe principles of agile development
The principles of agile development
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Martin folwer
Martin folwerMartin folwer
Martin folwer
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
Agile Methodologies & Key Principles 2
Agile Methodologies & Key Principles 2Agile Methodologies & Key Principles 2
Agile Methodologies & Key Principles 2
 
Agile and management why all the pain
Agile and management   why all the painAgile and management   why all the pain
Agile and management why all the pain
 
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
Modern Agile – What's It Good For? - Jacob Creech - AgileNZ 2017
 
Agile product development
Agile product developmentAgile product development
Agile product development
 
Agile Practices for Software Development
Agile Practices for Software DevelopmentAgile Practices for Software Development
Agile Practices for Software Development
 
Agile Software Development - Session 1
Agile Software Development - Session 1Agile Software Development - Session 1
Agile Software Development - Session 1
 
Baby Steps To Agility
Baby Steps To AgilityBaby Steps To Agility
Baby Steps To Agility
 
Egg3 | Agile CRM Deployment
Egg3 | Agile CRM DeploymentEgg3 | Agile CRM Deployment
Egg3 | Agile CRM Deployment
 
AGILE PROJECT MANAGEMENT NOTES.docx
AGILE PROJECT MANAGEMENT NOTES.docxAGILE PROJECT MANAGEMENT NOTES.docx
AGILE PROJECT MANAGEMENT NOTES.docx
 
Business Process Improvement - SIPOC and Toolkit
Business Process Improvement -   SIPOC  and ToolkitBusiness Process Improvement -   SIPOC  and Toolkit
Business Process Improvement - SIPOC and Toolkit
 
Agile intro resources
Agile intro resourcesAgile intro resources
Agile intro resources
 
Practical Scrum - one day training
Practical Scrum - one day training Practical Scrum - one day training
Practical Scrum - one day training
 
Agile
AgileAgile
Agile
 
The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)The Agile Manifesto (and a brief history lesson)
The Agile Manifesto (and a brief history lesson)
 

Último

How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxCeline George
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Pooja Bhuva
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptxJoelynRubio1
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsSandeep D Chaudhary
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jisc
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentationcamerronhm
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.christianmathematics
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibitjbellavia9
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
latest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answerslatest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answersdalebeck957
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxJisc
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxPooja Bhuva
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxDr. Ravikiran H M Gowda
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...Amil baba
 
Basic Intentional Injuries Health Education
Basic Intentional Injuries Health EducationBasic Intentional Injuries Health Education
Basic Intentional Injuries Health EducationNeilDeclaro1
 

Último (20)

How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
Beyond_Borders_Understanding_Anime_and_Manga_Fandom_A_Comprehensive_Audience_...
 
21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx21st_Century_Skills_Framework_Final_Presentation_2.pptx
21st_Century_Skills_Framework_Final_Presentation_2.pptx
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
OSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & SystemsOSCM Unit 2_Operations Processes & Systems
OSCM Unit 2_Operations Processes & Systems
 
Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)Jamworks pilot and AI at Jisc (20/03/2024)
Jamworks pilot and AI at Jisc (20/03/2024)
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
SOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning PresentationSOC 101 Demonstration of Learning Presentation
SOC 101 Demonstration of Learning Presentation
 
This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.This PowerPoint helps students to consider the concept of infinity.
This PowerPoint helps students to consider the concept of infinity.
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
latest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answerslatest AZ-104 Exam Questions and Answers
latest AZ-104 Exam Questions and Answers
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptxOn_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
On_Translating_a_Tamil_Poem_by_A_K_Ramanujan.pptx
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
Basic Intentional Injuries Health Education
Basic Intentional Injuries Health EducationBasic Intentional Injuries Health Education
Basic Intentional Injuries Health Education
 

Agile development

  • 2. We want to build software, but how do we go about doing that?
  • 4. Waterfall Development • This is the way industrial engineers built concrete items. It works great. • We want to build software, and this is a terrible idea.
  • 6. The average software project fails; therefore, we must strive for excellence.*
  • 7. The average software project fails; therefore, we must strive for excellence.* -paraphrased from Chef Gordon Ramsay talking about restaurants
  • 8. What is Agile? Agile manifesto Proposed by Kent Beck, Martin Fowler, et al.
  • 9. What is Agile? Agile manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  • 10. What is Agile? Agile manifesto Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan There is value in the items on the right, but more value in the item on the left.
  • 11. What is Agile? Various methodologies: • Scrum • eXtreme Programming (XP) • Lean
  • 12.
  • 13.
  • 14. Customer satisfaction by rapid delivery of useful software
  • 15. Customer satisfaction by rapid delivery of useful software Rapid delivery means weeks – not months. Useful software means a noticeable difference.
  • 16. Welcome changing requirements, even late in development.
  • 17. Welcome changing requirements, even late in development.
  • 18. Welcome changing requirements, even late in development Requirements change b/c: Business needs change Understanding changes (yours & theirs) Problems solve themselves or require a new approach Competitors pop-up
  • 19. Welcome changing requirements, even late in development When requirements or understanding changes, you are free to re-estimate time restraints and put the feature off for another iteration.
  • 20. Working software is delivered frequently (weeks rather than months)
  • 21. Working software is delivered frequently (weeks rather than months) Notice the word “working.” If you rollout weekly, you’ll quickly learn to test early and often rather than putting it off.
  • 22. Working software is delivered frequently (weeks rather than months) In order to achieve weekly releases, you must break large problems into smaller problems. You also focus on the really important problems.
  • 23. Working software is the principal measure of progress
  • 24.
  • 25. Working software is the principal measure of progress. Users can see and understand working software. They can also see what isn’t working. There is no better metric.
  • 26. Working software is the principal measure of progress. “Almost done” is useless for the customer.
  • 27. Sustainable development, able to maintain a constant pace.
  • 28. Sustainable development, able to maintain a constant pace. Burnout is a real concern amongst developers. Limit overtime work.
  • 29. Close, daily cooperation between business people and developers.
  • 30. Close, daily cooperation between business people and developers. Even if it’s just 5 minutes, daily talks are critical. You don’t want to build excess software.
  • 31. Face-to-face conversation is the best form of communication (co-location).
  • 32. Face-to-face conversation is the best form of communication (co-location). Let’s face it, face-to-face is best. You can read mannerisms and tone of voice. You need the feedback.
  • 33. Projects are built around motivated individuals, who should be trusted.
  • 34. Projects are built around motivated individuals, who should be trusted. If you can’t trust them, they shouldn’t be working with you.
  • 35. Projects are built around motivated individuals, who should be trusted. “Oh, Larry is working on it? You’ll have to make him do it.”
  • 36. Continuous attention to technical excellence and good design.
  • 37. Continuous attention to technical excellence and good design. Shortcuts will destroy you. I spent 3 weeks building a “shortcut” that should have taken 3 days. Now I have bad software that took longer to deliver.
  • 38. Continuous attention to technical excellence and good design. Use design patterns (where appropriate), take advantage of the language’s features, etc.
  • 39. Simplicity—the art of maximizing the amount of work not done—is essential
  • 40. Simplicity—the art of maximizing the amount of work not done—is essential. Plans change, understanding changes, and simple things are easier to test. Quit building things that you won’t need.
  • 42. Self-organizing teams A “team” isn’t just a group of people with a common assignment. They should have a common spirit and exercise individuals’ strengths. A good team “jells” well. -Peopleware
  • 43. Self-organizing teams A self-organized team requires no job titles. Job functions overlap, and everyone just falls into place.
  • 44. Self-organizing teams A self-organized team requires no job titles. Job functions overlap, and everyone just falls into place. They look for work rather than wait for it to be assigned.
  • 45. Regular adaptation to changing circumstances.
  • 46. Regular adaptation to changing circumstances. Things will change: requirements team members leadership/direction funding
  • 47. How do I start implementing agile? Agile development should make things easier. Slowly implement techniques starting with your own work. Then move it out to the team.
  • 48. How do I start implementing agile? • Get “buy-in” from the user (customer, another department, whoever). • Testing (TDD). • Version control (git, subversion). • Break the large problems into small problems and rank let the customer rank them with priority.
  • 49. How do I start implementing agile? Get “buy-in” from the user Meet with the a user, pick a small feature, implement it in a week or two. Do it again.
  • 50. How do I start implementing agile? Test: unit tests regression tests acceptance tests
  • 51. How do I start implementing agile? Version control: Use git, mercurial, subversion, etc.
  • 52. How do I start implementing agile? Break the large problems into small problems and rank them with priority. Sit with the user and break feature requests into smaller requests, make time estimates, and let the user rank them with priority.
  • 55. Thanks! Name: David Haskins Connect with me on LinkedIn: davidhaskins@ieee.org