SlideShare a Scribd company logo
1 of 41
Agile Project
Management
Learning outcomes:
Section 1 – Introduction to Agile
Section 2 – Lean Software Development
Section 3 - Kanban
Section 4 – Test-Driven Development
Section 5 - Scrum
Assessment:
Case studies
Videos
Quizzes on website
Section 1 –
Introduction to
Agile
❖ Contents:
• What is Agile?
• Agile Software Development values
• Why Agile?
• Agile Software Development Principles
• Agile software development methods
“Software development fails to deliver, and fails to
deliver value. The failure has huge economic and
human impact. We need to find a new way to develop
software.”
Kent Beck
What is Agile?
Agile software development is an approach to software development under
which requirements and solutions evolve through the collaborative effort
of self-organizing and cross-functional teams and their customer(s)/end
user(s). It advocates adaptive planning, evolutionary development, early
delivery, and continual improvement, and it encourages rapid and flexible
response to change.
Agile software development values
Based on their combined experience of developing software and helping others do
that, the seventeen signatories to the manifesto proclaimed that they value:
Individuals and Interactions over processes and tools
Working Software over comprehensive documentation
Customer Collaboration over contract negotiation
Responding to Change over following a plan
Why Agile?
Diverse range of practices which aim to address the
weaknesses of the plan-based models.
Minimise risks, but accept that certain risks can never be
eliminated
Increase speed and flexibility
Decrease overhead and bureaucracy
Not a single approach
Derived from “12 principles”
Fundamental idea: Live with change
Agile software development principles
The Manifesto
for Agile
Software
Development is
based on
twelve
principles:
Customer satisfaction by early and continuous delivery of valuable software
Welcome changing requirements, even in late development
Working software is delivered frequently (weeks rather than months)
Close, daily cooperation between business people and developers
Projects are built around motivated individuals, who should be trusted
Face-to-face conversation is the best form of communication (co-location)
Working software is the primary measure of progress
Sustainable development, able to maintain a constant pace
Continuous attention to technical excellence and good design
Simplicity—the art of maximizing the amount of work not done—is essential
Best architectures, requirements, and designs emerge from self-organizing teams
Regularly, the team reflects on how to become more effective, and adjusts accordingly
Agile software development methods
Popular agile software development frameworks include (but are not limited to):
Adaptive software development (ASD)
Agile modeling
Agile unified process (AUP)
Disciplined agile delivery
Dynamic systems development method (DSDM)
Extreme programming (XP)
Feature-driven development (FDD)
Lean software development
Kanban
Rapid application development (RAD)
Scrum
Scrumban
Section 2 – Lean
Software
Development
❖ Contents:
• What is Lean?
• Lean Principles
• The Lean Software Development Process
Video
• Pros
• Cons
What is
Lean?
Lean software development is a
translation of lean
manufacturing principles and practices to
the software development domain.
Adapted from the Toyota Production
System, it is emerging with the support of
a pro-lean subculture within
the Agile community.
Lean offers a solid conceptual framework
values and principles, as well as good
practices, derived from experience, that
support agile organizations.
Lean Principles
Lean development
can be summarized
by seven
principles, very
close in concept to
lean
manufacturing
principles:
Eliminate waste
Amplify learning
Decide as late as possible
Deliver as fast as possible
Empower the team
Build integrity in
See the whole
The Lean Software Development Process
Video
Advantages
The MVP is delivered quickly.
The expenses are quite low.
The team is motivated to make
every product feature perfect,
not simply accomplish the tasks.
Cons
The documentation needs to be absolutely precise
and a skilled analyst is needed to ensure 100%
understanding of the requirements.
This approach is suitable only for highly skilled
developers with immense knowledge in the field;
learning on the go is impossible and not
acceptable, as it puts the project at risk.
While highly motivated to deliver a polished
product, the developers might lose focus on the
initial objectives, so flexible decision making from
the developers should be backed up with diligent
process monitoring by the team lead or the analyst.
Section 3 –
Kanban
❖ Contents:
• What is Kanban?
• Elements of Kanban Board
• Types of boards
• Pros
• Cons
What is Kanban
Kanban is a popular framework used to
implement agile software development.
It requires real-time communication of
capacity and full transparency of work.
Work items are represented visually on a
kanban board, allowing team members to
see the state of every piece of work at
any time.
Elements of a
kanban board
▶ Visual Signals
▶ Columns
▶ Work In Progress (WIP)
Limits
▶ Commitment point
▶ Delivery point
Types of Boards
▶ Physical Boards
▶ Virtual Boards
Pros
Visually see work in
progress
Instantly understand
impediments (things
causing you to delay) and
take steps to remove them
Improve communication
between yourself and
others on your team
Empower teams to self-
manage visual processes
and work flows
Helps with long-distance
projects
Inspire team collaboration
Cons
Outdated Kanban board
can lead to issues in the
development process.
Some time Kanban team
make the board
overcomplicate.
Lack of timing is another
disadvantage because
there is no timeframes are
associated with each
phase.
Section 4 – Test-
Driven
Development
(TDD)
❖ Contents:
• What is TDD?
• The TDD cycle
• Short Video
• Relation to other methodologies
• Pros
• Cons
What is Test-Driven
Development?
• It a software development process
that relies on the repetition of a very
short development cycle
• The developer first writes an
automated test describing the desired
functionality..
• and only after this writes and
refactors code until it passes the test.
A more in-depth look into the process...
A short video example of TDD
How does TDD relate to other
methodologies?
▶ The good thing about
TDD is it can be
adopted into any
development process –
Kanban, Lean, Scrum,
etc.
▶ It is a development
tool to use within
other methodologies
that promotes
interweaving between
coding, testing and
design
Pros
FORCES CODE TO BE
MODULAR
TESTS CAN BE USED AS
DOCUMENTATION
PEACE OF MIND – IF ALL
TESTS PASS, SOFTWARE
LIKELY HAS FEW OR NO
BUGS
MAKES CODE EASIER TO
MAINTAIN AND
REFACTOR
HELPS CLARIFY CODE
REQUIREMENTS
PROVIDES EARLY
INSIGHT INTO POSSIBLE
DESIGN PROBLEMS
Cons
▶ Challenging to apply to legacy code
▶ Initially slows down development
▶ Can be difficult to adapt to
▶ Creating tests for all cases can be
tedious
▶ Not everyone is good at writing proper
tests
Section 5 –
Scrum
❖ Contents:
• What is Scrum?
• Scrum Core Values
• Scrum Events
• Scrum Artefacts
• Scrum Master role
• How it all fits together
• Short Video
• Case Studies
What is Scrum?
▶ Scrum is an Agile framework
within which people can address
complex adaptive problems. It is
a way for small teams to manage
themselves and plan their
project without outside
interference.
▶ It is the most
popular methodology within
Agile development, with over
half of all dev teams using it.
Scrum Events
▶ Sprint – the length of time to
achieve a small goal in the
overall project, usually two
week
▶ Sprint Planning – the planning
of the upcoming sprint
▶ Daily Scrum – a brief team
meeting in the morning,
covering what everyone did
yesterday and today's plan
▶ Sprint Review – inspect the
results achieved after a sprint
▶ Sprint Retrospective – think
about what could be done
better for next sprint
Scrum Artefacts
▶ Product Backlog - an ordered list of
everything that is known to be
needed in the product
▶ Sprint Backlog - the set of Product
Backlog items selected for the
Sprint
▶ Increment - the sum of all the
Product Backlog items completed
during a Sprint and the value of
the increments of all previous
Sprints
The Scrum Master
▶ The Scrum Master is responsible
for promoting and supporting
Scrum. Scrum Masters do this by
helping everyone understand
Scrum theory, practices, rules,
and values.
▶ They are not the team leader
per se, rather they serve as a
facilitator within the team and
between the team and outside
people.
▶ The Scrum Master usually
organizes the Scrum Events
How it all fits together...
Short Scrum Video
Case Studies
▶ Case Study
▶ Case Study
Additional
Reading
• Section 1 – Stober, T. 2010. Agile software
development. Heidelberg ; New York : Springer.
• Section 2 – Janes, A. 2014. Lean software
development in action. Heidelberg : Springer.
• Section 3 – Pham, A. and Pham, D. 2013.
Business-driven IT-wide agile (Scrum) and Kanban
(Lean) implementation. Boca Raton, FL : CRC
Press, pp. 14-22.
• Section 4 – Madeyski, L. 2010. Test-driven
development : an empirical evaluation of agile
practice. Heidelberg ; New York : Springer-
Verlag.
• Section 5 – Schmidt, C. 2016. Agile software
development teams : the impact of agile
development on team performance. Cham ; New
York : Springer, pp. 16-18.
References
• Section 1 – http://agilehandbook.com/agile-
handbook.pdf
• Section 2 –
http://jultika.oulu.fi/files/nbnfioulu-
201511212155.pdf
• Section 3 –
https://pdfs.semanticscholar.org/4577/29c971
69b428d9f1815cf27aa95b5d1eaf2f.pdf
• Section 4 – Cline, A. 2015. Agile development in
the real world. Berkeley, CA : Apress, pp. 208-
209.
• Section 5 -
https://www.scrum.org/resources/what-is-
scrum

More Related Content

What's hot

Extreme programming
Extreme programmingExtreme programming
Extreme programming
Mr SMAK
 
Waterfall And Agile Methodology Coexistence 2011
Waterfall And Agile Methodology Coexistence 2011Waterfall And Agile Methodology Coexistence 2011
Waterfall And Agile Methodology Coexistence 2011
Tim Morris ★
 

What's hot (20)

Agile project management using scrum
Agile project management using scrumAgile project management using scrum
Agile project management using scrum
 
You think you know agile
You think you know agileYou think you know agile
You think you know agile
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
XP vs Lean vs FDD
XP vs Lean vs FDDXP vs Lean vs FDD
XP vs Lean vs FDD
 
High Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and ScrumHigh Quality Software Development with Agile and Scrum
High Quality Software Development with Agile and Scrum
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?What are the Tools & Techniques in Agile Project Management?
What are the Tools & Techniques in Agile Project Management?
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
 
Agile-Scrum Methodology-An Introduction
Agile-Scrum Methodology-An IntroductionAgile-Scrum Methodology-An Introduction
Agile-Scrum Methodology-An Introduction
 
DSDM
DSDMDSDM
DSDM
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 
Building an Agile framework that fits your organisation
Building an Agile framework that fits your organisationBuilding an Agile framework that fits your organisation
Building an Agile framework that fits your organisation
 
Agile & SCRUM basics
Agile & SCRUM basicsAgile & SCRUM basics
Agile & SCRUM basics
 
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...Managing Technical Debt - A Practical Approach Using Continuous Integration a...
Managing Technical Debt - A Practical Approach Using Continuous Integration a...
 
Scrum agile process
Scrum agile processScrum agile process
Scrum agile process
 
Agile Project Management
Agile Project ManagementAgile Project Management
Agile Project Management
 
Waterfall And Agile Methodology Coexistence 2011
Waterfall And Agile Methodology Coexistence 2011Waterfall And Agile Methodology Coexistence 2011
Waterfall And Agile Methodology Coexistence 2011
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Agile Methology Seminar Report
Agile Methology Seminar ReportAgile Methology Seminar Report
Agile Methology Seminar Report
 
Pdu session challenges in agile
Pdu session   challenges in agilePdu session   challenges in agile
Pdu session challenges in agile
 

Similar to Agile Project Management

Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
guestb4c770
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
Zeeshan Masood S
 

Similar to Agile Project Management (20)

module I.pptx
module I.pptxmodule I.pptx
module I.pptx
 
Project Requriement Management Vs Agile software development
Project Requriement Management Vs  Agile software developmentProject Requriement Management Vs  Agile software development
Project Requriement Management Vs Agile software development
 
Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019Agile Software Development and DevOps 21092019
Agile Software Development and DevOps 21092019
 
Agile tutorial
Agile tutorialAgile tutorial
Agile tutorial
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Agile Development Overview
Agile Development OverviewAgile Development Overview
Agile Development Overview
 
Introduction to Agile Software Development
Introduction to Agile Software DevelopmentIntroduction to Agile Software Development
Introduction to Agile Software Development
 
Agile software development
Agile software development Agile software development
Agile software development
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Flavours of agile software engineering
Flavours of agile software engineeringFlavours of agile software engineering
Flavours of agile software engineering
 
Introduction to Agile
Introduction to AgileIntroduction to Agile
Introduction to Agile
 
Nearshore Best Practices Workshop
Nearshore Best Practices WorkshopNearshore Best Practices Workshop
Nearshore Best Practices Workshop
 
Introduction to Agile Software Development Process
Introduction to Agile Software Development ProcessIntroduction to Agile Software Development Process
Introduction to Agile Software Development Process
 
The Agile Movement
The Agile MovementThe Agile Movement
The Agile Movement
 
Introduction to Agile and Lean Software Development
Introduction to Agile and Lean Software DevelopmentIntroduction to Agile and Lean Software Development
Introduction to Agile and Lean Software Development
 
softwaredevelopmentprocess
softwaredevelopmentprocesssoftwaredevelopmentprocess
softwaredevelopmentprocess
 
Software Development Methodologies and Team Management
Software Development Methodologies and Team ManagementSoftware Development Methodologies and Team Management
Software Development Methodologies and Team Management
 
7.agila model
7.agila model7.agila model
7.agila model
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 

Recently uploaded

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
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
QucHHunhnh
 

Recently uploaded (20)

Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701ComPTIA Overview | Comptia Security+ Book SY0-701
ComPTIA Overview | Comptia Security+ Book SY0-701
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...Making communications land - Are they received and understood as intended? we...
Making communications land - Are they received and understood as intended? we...
 
Unit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptxUnit-V; Pricing (Pharma Marketing Management).pptx
Unit-V; Pricing (Pharma Marketing Management).pptx
 
How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17How to Create and Manage Wizard in Odoo 17
How to Create and Manage Wizard in Odoo 17
 
Holdier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdfHoldier Curriculum Vitae (April 2024).pdf
Holdier Curriculum Vitae (April 2024).pdf
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
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...
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Google Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.pptxGoogle Gemini An AI Revolution in Education.pptx
Google Gemini An AI Revolution in Education.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
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptxBasic Civil Engineering first year Notes- Chapter 4 Building.pptx
Basic Civil Engineering first year Notes- Chapter 4 Building.pptx
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Dyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptxDyslexia AI Workshop for Slideshare.pptx
Dyslexia AI Workshop for Slideshare.pptx
 

Agile Project Management

  • 2. Learning outcomes: Section 1 – Introduction to Agile Section 2 – Lean Software Development Section 3 - Kanban Section 4 – Test-Driven Development Section 5 - Scrum Assessment: Case studies Videos Quizzes on website
  • 3. Section 1 – Introduction to Agile ❖ Contents: • What is Agile? • Agile Software Development values • Why Agile? • Agile Software Development Principles • Agile software development methods
  • 4. “Software development fails to deliver, and fails to deliver value. The failure has huge economic and human impact. We need to find a new way to develop software.” Kent Beck
  • 5. What is Agile? Agile software development is an approach to software development under which requirements and solutions evolve through the collaborative effort of self-organizing and cross-functional teams and their customer(s)/end user(s). It advocates adaptive planning, evolutionary development, early delivery, and continual improvement, and it encourages rapid and flexible response to change.
  • 6.
  • 7. Agile software development values Based on their combined experience of developing software and helping others do that, the seventeen signatories to the manifesto proclaimed that they value: Individuals and Interactions over processes and tools Working Software over comprehensive documentation Customer Collaboration over contract negotiation Responding to Change over following a plan
  • 8. Why Agile? Diverse range of practices which aim to address the weaknesses of the plan-based models. Minimise risks, but accept that certain risks can never be eliminated Increase speed and flexibility Decrease overhead and bureaucracy Not a single approach Derived from “12 principles” Fundamental idea: Live with change
  • 9. Agile software development principles The Manifesto for Agile Software Development is based on twelve principles: Customer satisfaction by early and continuous delivery of valuable software Welcome changing requirements, even in late development Working software is delivered frequently (weeks rather than months) Close, daily cooperation between business people and developers Projects are built around motivated individuals, who should be trusted Face-to-face conversation is the best form of communication (co-location) Working software is the primary measure of progress Sustainable development, able to maintain a constant pace Continuous attention to technical excellence and good design Simplicity—the art of maximizing the amount of work not done—is essential Best architectures, requirements, and designs emerge from self-organizing teams Regularly, the team reflects on how to become more effective, and adjusts accordingly
  • 10. Agile software development methods Popular agile software development frameworks include (but are not limited to): Adaptive software development (ASD) Agile modeling Agile unified process (AUP) Disciplined agile delivery Dynamic systems development method (DSDM) Extreme programming (XP) Feature-driven development (FDD) Lean software development Kanban Rapid application development (RAD) Scrum Scrumban
  • 11. Section 2 – Lean Software Development ❖ Contents: • What is Lean? • Lean Principles • The Lean Software Development Process Video • Pros • Cons
  • 12. What is Lean? Lean software development is a translation of lean manufacturing principles and practices to the software development domain. Adapted from the Toyota Production System, it is emerging with the support of a pro-lean subculture within the Agile community. Lean offers a solid conceptual framework values and principles, as well as good practices, derived from experience, that support agile organizations.
  • 13. Lean Principles Lean development can be summarized by seven principles, very close in concept to lean manufacturing principles: Eliminate waste Amplify learning Decide as late as possible Deliver as fast as possible Empower the team Build integrity in See the whole
  • 14.
  • 15. The Lean Software Development Process Video
  • 16. Advantages The MVP is delivered quickly. The expenses are quite low. The team is motivated to make every product feature perfect, not simply accomplish the tasks.
  • 17. Cons The documentation needs to be absolutely precise and a skilled analyst is needed to ensure 100% understanding of the requirements. This approach is suitable only for highly skilled developers with immense knowledge in the field; learning on the go is impossible and not acceptable, as it puts the project at risk. While highly motivated to deliver a polished product, the developers might lose focus on the initial objectives, so flexible decision making from the developers should be backed up with diligent process monitoring by the team lead or the analyst.
  • 18. Section 3 – Kanban ❖ Contents: • What is Kanban? • Elements of Kanban Board • Types of boards • Pros • Cons
  • 19. What is Kanban Kanban is a popular framework used to implement agile software development. It requires real-time communication of capacity and full transparency of work. Work items are represented visually on a kanban board, allowing team members to see the state of every piece of work at any time.
  • 20. Elements of a kanban board ▶ Visual Signals ▶ Columns ▶ Work In Progress (WIP) Limits ▶ Commitment point ▶ Delivery point
  • 21. Types of Boards ▶ Physical Boards ▶ Virtual Boards
  • 22. Pros Visually see work in progress Instantly understand impediments (things causing you to delay) and take steps to remove them Improve communication between yourself and others on your team Empower teams to self- manage visual processes and work flows Helps with long-distance projects Inspire team collaboration
  • 23. Cons Outdated Kanban board can lead to issues in the development process. Some time Kanban team make the board overcomplicate. Lack of timing is another disadvantage because there is no timeframes are associated with each phase.
  • 24. Section 4 – Test- Driven Development (TDD) ❖ Contents: • What is TDD? • The TDD cycle • Short Video • Relation to other methodologies • Pros • Cons
  • 25. What is Test-Driven Development? • It a software development process that relies on the repetition of a very short development cycle • The developer first writes an automated test describing the desired functionality.. • and only after this writes and refactors code until it passes the test.
  • 26. A more in-depth look into the process...
  • 27. A short video example of TDD
  • 28. How does TDD relate to other methodologies? ▶ The good thing about TDD is it can be adopted into any development process – Kanban, Lean, Scrum, etc. ▶ It is a development tool to use within other methodologies that promotes interweaving between coding, testing and design
  • 29. Pros FORCES CODE TO BE MODULAR TESTS CAN BE USED AS DOCUMENTATION PEACE OF MIND – IF ALL TESTS PASS, SOFTWARE LIKELY HAS FEW OR NO BUGS MAKES CODE EASIER TO MAINTAIN AND REFACTOR HELPS CLARIFY CODE REQUIREMENTS PROVIDES EARLY INSIGHT INTO POSSIBLE DESIGN PROBLEMS
  • 30. Cons ▶ Challenging to apply to legacy code ▶ Initially slows down development ▶ Can be difficult to adapt to ▶ Creating tests for all cases can be tedious ▶ Not everyone is good at writing proper tests
  • 31. Section 5 – Scrum ❖ Contents: • What is Scrum? • Scrum Core Values • Scrum Events • Scrum Artefacts • Scrum Master role • How it all fits together • Short Video • Case Studies
  • 32. What is Scrum? ▶ Scrum is an Agile framework within which people can address complex adaptive problems. It is a way for small teams to manage themselves and plan their project without outside interference. ▶ It is the most popular methodology within Agile development, with over half of all dev teams using it.
  • 33.
  • 34. Scrum Events ▶ Sprint – the length of time to achieve a small goal in the overall project, usually two week ▶ Sprint Planning – the planning of the upcoming sprint ▶ Daily Scrum – a brief team meeting in the morning, covering what everyone did yesterday and today's plan ▶ Sprint Review – inspect the results achieved after a sprint ▶ Sprint Retrospective – think about what could be done better for next sprint
  • 35. Scrum Artefacts ▶ Product Backlog - an ordered list of everything that is known to be needed in the product ▶ Sprint Backlog - the set of Product Backlog items selected for the Sprint ▶ Increment - the sum of all the Product Backlog items completed during a Sprint and the value of the increments of all previous Sprints
  • 36. The Scrum Master ▶ The Scrum Master is responsible for promoting and supporting Scrum. Scrum Masters do this by helping everyone understand Scrum theory, practices, rules, and values. ▶ They are not the team leader per se, rather they serve as a facilitator within the team and between the team and outside people. ▶ The Scrum Master usually organizes the Scrum Events
  • 37. How it all fits together...
  • 39. Case Studies ▶ Case Study ▶ Case Study
  • 40. Additional Reading • Section 1 – Stober, T. 2010. Agile software development. Heidelberg ; New York : Springer. • Section 2 – Janes, A. 2014. Lean software development in action. Heidelberg : Springer. • Section 3 – Pham, A. and Pham, D. 2013. Business-driven IT-wide agile (Scrum) and Kanban (Lean) implementation. Boca Raton, FL : CRC Press, pp. 14-22. • Section 4 – Madeyski, L. 2010. Test-driven development : an empirical evaluation of agile practice. Heidelberg ; New York : Springer- Verlag. • Section 5 – Schmidt, C. 2016. Agile software development teams : the impact of agile development on team performance. Cham ; New York : Springer, pp. 16-18.
  • 41. References • Section 1 – http://agilehandbook.com/agile- handbook.pdf • Section 2 – http://jultika.oulu.fi/files/nbnfioulu- 201511212155.pdf • Section 3 – https://pdfs.semanticscholar.org/4577/29c971 69b428d9f1815cf27aa95b5d1eaf2f.pdf • Section 4 – Cline, A. 2015. Agile development in the real world. Berkeley, CA : Apress, pp. 208- 209. • Section 5 - https://www.scrum.org/resources/what-is- scrum