SlideShare ist ein Scribd-Unternehmen logo
1 von 55
Downloaden Sie, um offline zu lesen
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
Agile development
Agile development
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
Agile development
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

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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)
 

Kürzlich hochgeladen

Philosophy of Education and Educational Philosophy
Philosophy of Education  and Educational PhilosophyPhilosophy of Education  and Educational Philosophy
Philosophy of Education and Educational PhilosophyShuvankar Madhu
 
Human-AI Co-Creation of Worked Examples for Programming Classes
Human-AI Co-Creation of Worked Examples for Programming ClassesHuman-AI Co-Creation of Worked Examples for Programming Classes
Human-AI Co-Creation of Worked Examples for Programming ClassesMohammad Hassany
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxAditiChauhan701637
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17Celine George
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfMohonDas
 
Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...raviapr7
 
Education and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptxEducation and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptxraviapr7
 
Practical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxPractical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxKatherine Villaluna
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxEduSkills OECD
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfMohonDas
 
AUDIENCE THEORY -- FANDOM -- JENKINS.pptx
AUDIENCE THEORY -- FANDOM -- JENKINS.pptxAUDIENCE THEORY -- FANDOM -- JENKINS.pptx
AUDIENCE THEORY -- FANDOM -- JENKINS.pptxiammrhaywood
 
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...Nguyen Thanh Tu Collection
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptxmary850239
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxDr. Asif Anas
 
M-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptxM-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptxDr. Santhosh Kumar. N
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesCeline George
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfTechSoup
 
Presentation on the Basics of Writing. Writing a Paragraph
Presentation on the Basics of Writing. Writing a ParagraphPresentation on the Basics of Writing. Writing a Paragraph
Presentation on the Basics of Writing. Writing a ParagraphNetziValdelomar1
 
CapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapitolTechU
 
How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17Celine George
 

Kürzlich hochgeladen (20)

Philosophy of Education and Educational Philosophy
Philosophy of Education  and Educational PhilosophyPhilosophy of Education  and Educational Philosophy
Philosophy of Education and Educational Philosophy
 
Human-AI Co-Creation of Worked Examples for Programming Classes
Human-AI Co-Creation of Worked Examples for Programming ClassesHuman-AI Co-Creation of Worked Examples for Programming Classes
Human-AI Co-Creation of Worked Examples for Programming Classes
 
In - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptxIn - Vivo and In - Vitro Correlation.pptx
In - Vivo and In - Vitro Correlation.pptx
 
How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17How to Add a many2many Relational Field in Odoo 17
How to Add a many2many Relational Field in Odoo 17
 
Diploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdfDiploma in Nursing Admission Test Question Solution 2023.pdf
Diploma in Nursing Admission Test Question Solution 2023.pdf
 
Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...Patient Counselling. Definition of patient counseling; steps involved in pati...
Patient Counselling. Definition of patient counseling; steps involved in pati...
 
Education and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptxEducation and training program in the hospital APR.pptx
Education and training program in the hospital APR.pptx
 
Practical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptxPractical Research 1 Lesson 9 Scope and delimitation.pptx
Practical Research 1 Lesson 9 Scope and delimitation.pptx
 
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptxPISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
PISA-VET launch_El Iza Mohamedou_19 March 2024.pptx
 
HED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdfHED Office Sohayok Exam Question Solution 2023.pdf
HED Office Sohayok Exam Question Solution 2023.pdf
 
AUDIENCE THEORY -- FANDOM -- JENKINS.pptx
AUDIENCE THEORY -- FANDOM -- JENKINS.pptxAUDIENCE THEORY -- FANDOM -- JENKINS.pptx
AUDIENCE THEORY -- FANDOM -- JENKINS.pptx
 
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
CHUYÊN ĐỀ DẠY THÊM TIẾNG ANH LỚP 11 - GLOBAL SUCCESS - NĂM HỌC 2023-2024 - HK...
 
3.21.24 The Origins of Black Power.pptx
3.21.24  The Origins of Black Power.pptx3.21.24  The Origins of Black Power.pptx
3.21.24 The Origins of Black Power.pptx
 
Ultra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptxUltra structure and life cycle of Plasmodium.pptx
Ultra structure and life cycle of Plasmodium.pptx
 
M-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptxM-2- General Reactions of amino acids.pptx
M-2- General Reactions of amino acids.pptx
 
How to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 SalesHow to Manage Cross-Selling in Odoo 17 Sales
How to Manage Cross-Selling in Odoo 17 Sales
 
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdfMaximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
Maximizing Impact_ Nonprofit Website Planning, Budgeting, and Design.pdf
 
Presentation on the Basics of Writing. Writing a Paragraph
Presentation on the Basics of Writing. Writing a ParagraphPresentation on the Basics of Writing. Writing a Paragraph
Presentation on the Basics of Writing. Writing a Paragraph
 
CapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptxCapTechU Doctoral Presentation -March 2024 slides.pptx
CapTechU Doctoral Presentation -March 2024 slides.pptx
 
How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17How to Add a New Field in Existing Kanban View in Odoo 17
How to Add a New Field in Existing Kanban View in Odoo 17
 

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
  • 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
  • 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