SlideShare une entreprise Scribd logo
1  sur  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

Contenu connexe

Tendances

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
 

Tendances (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
 

En vedette

En vedette (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
 

Similaire à 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
 

Similaire à 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)
 

Dernier

Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxleah joy valeriano
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)cama23
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxHumphrey A Beña
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYKayeClaireEstoconing
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsManeerUddin
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17Celine George
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management systemChristalin Nelson
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPCeline George
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxAshokKarra1
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptxmary850239
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfErwinPantujan2
 

Dernier (20)

Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptxMusic 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
Music 9 - 4th quarter - Vocal Music of the Romantic Period.pptx
 
Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)Global Lehigh Strategic Initiatives (without descriptions)
Global Lehigh Strategic Initiatives (without descriptions)
 
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptxINTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
INTRODUCTION TO CATHOLIC CHRISTOLOGY.pptx
 
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITYISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
ISYU TUNGKOL SA SEKSWLADIDA (ISSUE ABOUT SEXUALITY
 
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptxFINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
FINALS_OF_LEFT_ON_C'N_EL_DORADO_2024.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Food processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture honsFood processing presentation for bsc agriculture hons
Food processing presentation for bsc agriculture hons
 
How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17How to Add Barcode on PDF Report in Odoo 17
How to Add Barcode on PDF Report in Odoo 17
 
Concurrency Control in Database Management system
Concurrency Control in Database Management systemConcurrency Control in Database Management system
Concurrency Control in Database Management system
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
How to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERPHow to do quick user assign in kanban in Odoo 17 ERP
How to do quick user assign in kanban in Odoo 17 ERP
 
Karra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptxKarra SKD Conference Presentation Revised.pptx
Karra SKD Conference Presentation Revised.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx4.16.24 21st Century Movements for Black Lives.pptx
4.16.24 21st Century Movements for Black Lives.pptx
 
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdfVirtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
Virtual-Orientation-on-the-Administration-of-NATG12-NATG6-and-ELLNA.pdf
 

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