SlideShare a Scribd company logo
Agile Development
&
Project management
Vishal Bardoloi
The Problem
• Despite everyone’s best intentions and efforts, software projects continue to fail
• This is in large part due to communication breakdowns
• Capturing software requirements is a communication problem between two totally different “types”
of people
• When business dominates, it mandates functionality and timelines with little concern that
developers can meet them
• When developers dominate, technical jargon and “cool features” take over the real needs of
the business
Case in point:Waterfall
• In traditional waterfall methods, decision-
making and information-gathering are done
only once - at the beginning of the project
• They take away options by making decisions
earlier than they need to be made
• They rely on ‘middlemen’ to communicate
between developers and stakeholders
• As a result, the communication process is
broken on most projects
The Agile Solution
Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan
Agile comes in different flavors... we will
be using the Scrum process
Scrum Overview
• Consists of a number of short iterations, or ‘sprints’
• Defined roles:
• Product manager - the business users’ representative
• ScrumMaster - facilitates the development and meetings
• Development Team
• Stakeholders - end users, project sponsors etc
• Meetings after each iteration
• Sprint review - to demo the development done in the past sprint
• Sprint planning - plan the next iteration’s deliverables
Scrum Development
• 2 to 4 week sprints
• During each sprint, the team will create a set of Production-ready features
• A Sprint review/planning meeting will be held after each sprint, where -
• Team will demo the functionality developed in the previous sprint
• Business users will prioritize the backlog for the next sprint
• Team will determines how much of the requested backlog they can finish in the next sprint
• No requirement changes in the middle of a sprint
Scrum Development
Scrum Roles
• Facilitator
• NOT a team lead (the team is self-organizing)
• Facilitates user story sessions and sprint meetings
• Removes roadblocks to the team’s success & protects them from distractions
• Development Team
• A group of people with cross-functional skills
• Design, develop, test, communicate
• Product owner
• Writes the user stories
• Prioritizes the backlog of user stories
• Signs off on deliverables
Scrum Roles
Customers Developers
Agree upon the length of each sprint
(this will stay the same throughout the project)
Select and prioritize the user stories to be
worked on for each sprint
Estimate the effort for each story
(in story points)
Agree upon the deliverables for each sprint
Specify the acceptance tests for each user
story to be complete
Deliver fully usable code that meets the
user story requirements
Make themselves available to resolve
questions from the development team
Identify and communicate issues early
Share responsibility for the final success of the project
Roles: Pigs & Chicken
“Pigs” are committed to the project.“Chicken” are merely involved.
Scrum Documents
• Project Backlog
• High-level document for the entire project
• Contains descriptions of all the required features, prioritized by business value
• Contains rough estimates of business value and development effort
• Sprint Backlog
• The requested features are broken down into tasks of 4-16 hours
• Estimates are set by the entire team
• Team members assign tasks to themselves, based on priority and their skill level
• Burn Down Chart
• A chart of the work remaining in the Sprint backlog
• Publicly available, updated daily with status (“To do”,“In dev”,“Done”)
The User Story tool is used to gather
requirements in Agile projects
• There are 3 parts to a User Story:
• Card - a written description of the story, used for planning and as a reminder to have a
conversation
• Conversation - discussions between customer and developer about the story, to flesh out
the details and define acceptance tests
• Confirmation - tests that determine when the story is completed
The User Story
The User Story
Card
•Created during the user story workshop
•Small, independent, negotiable, testable
•Meant to be high-level; serves as a reminder to have a conversation
Conversation
•Can occur at the sprint planning meeting or any time during the sprint
•
•The detailed requirements are fleshed out here, by the business user and
developer working together
Confirmation
•a.k.a.“Acceptance Tests” - these are tests that define the user’s
expectations and provides developers with a way to check if they’re done
•Initially defined during the sprint planning meeting; can change during the sprint
via conversations
The User Story
• Emphasizes verbal communication over written
• Spreads the decision-making process across the duration of the project
• decisions are made based on the information available
• decisions are made at the time when the functionality in question is being developed
• Lets you defer the details until you have the best understanding of what you really need
• Easily understood by both customers and developers
Good User Stories
• A bad story: “Create an Invoice”
• A good story: “As a (user role), I can (function) so that (business reason)”
“As a CCR, I can search for customers by their first and last name so that they don’t need
to look up their account number”
“As a Retail Ops manager, I can manage my team’s privileges so that they can void/delete/
resend invoices”
(Front of card)
As a CCR, I can search
for customers by their
first and last name so
they don’t need to look
up their acct number
(Back of card:
acceptance tests)
Test if multiple customers
have same name.
Test if customer name
doesn’t exist in system.
...

More Related Content

What's hot

Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
Md. Shafiuzzaman Hira
 
Backend vs. Frontend focused development planning
Backend vs. Frontend focused development planningBackend vs. Frontend focused development planning
Backend vs. Frontend focused development planning
Andras Bujna
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)
Amardeep Vishwakarma
 
User story refinement in Project GATE
User story refinement in Project GATEUser story refinement in Project GATE
User story refinement in Project GATE
Pin-Ying Tu
 
Agile sdlc
Agile sdlcAgile sdlc
Agile sdlc
Bhawani N Prasad
 
Extreme programming in Agile Development
Extreme programming in Agile DevelopmentExtreme programming in Agile Development
Extreme programming in Agile Development
Nidhi Singh
 
Agile Development Ultimate Slides
Agile Development Ultimate SlidesAgile Development Ultimate Slides
Agile Development Ultimate Slides
gilashikwa
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
Md. Shafiuzzaman Hira
 
Fdd presentation
Fdd presentationFdd presentation
Fdd presentation
Srikanth R Vaka
 
Agile Gurugram 2016 | Conference | Built-in Quality through Vertical Slicing ...
Agile Gurugram 2016 | Conference | Built-in Quality through Vertical Slicing ...Agile Gurugram 2016 | Conference | Built-in Quality through Vertical Slicing ...
Agile Gurugram 2016 | Conference | Built-in Quality through Vertical Slicing ...
AgileNetwork
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
zoomers
 
Being Agile - Doing Scrum
Being Agile - Doing ScrumBeing Agile - Doing Scrum
Being Agile - Doing Scrum
evdherberg
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
Fatemeh Karimi
 
Informative Slides
Informative SlidesInformative Slides
Informative Slides
gilashikwa
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
Rupesh Vaishnav
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
OlympicSoftware
 
Requirements Tool
Requirements ToolRequirements Tool
Requirements Tool
gilashikwa
 
SCL Aug Sep 2010 Software Development How Agile Are You
SCL Aug Sep 2010 Software Development   How Agile Are YouSCL Aug Sep 2010 Software Development   How Agile Are You
SCL Aug Sep 2010 Software Development How Agile Are You
susanatkinson
 
Adv Disadv
Adv DisadvAdv Disadv
Adv Disadv
gilashikwa
 
A glance at a scrum team in real software company
A glance at a scrum team in real software companyA glance at a scrum team in real software company
A glance at a scrum team in real software company
Pin-Ying Tu
 

What's hot (20)

Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
Backend vs. Frontend focused development planning
Backend vs. Frontend focused development planningBackend vs. Frontend focused development planning
Backend vs. Frontend focused development planning
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)
 
User story refinement in Project GATE
User story refinement in Project GATEUser story refinement in Project GATE
User story refinement in Project GATE
 
Agile sdlc
Agile sdlcAgile sdlc
Agile sdlc
 
Extreme programming in Agile Development
Extreme programming in Agile DevelopmentExtreme programming in Agile Development
Extreme programming in Agile Development
 
Agile Development Ultimate Slides
Agile Development Ultimate SlidesAgile Development Ultimate Slides
Agile Development Ultimate Slides
 
Software Process Model
Software Process ModelSoftware Process Model
Software Process Model
 
Fdd presentation
Fdd presentationFdd presentation
Fdd presentation
 
Agile Gurugram 2016 | Conference | Built-in Quality through Vertical Slicing ...
Agile Gurugram 2016 | Conference | Built-in Quality through Vertical Slicing ...Agile Gurugram 2016 | Conference | Built-in Quality through Vertical Slicing ...
Agile Gurugram 2016 | Conference | Built-in Quality through Vertical Slicing ...
 
What is agile model?Working of agile model
What is agile model?Working of agile modelWhat is agile model?Working of agile model
What is agile model?Working of agile model
 
Being Agile - Doing Scrum
Being Agile - Doing ScrumBeing Agile - Doing Scrum
Being Agile - Doing Scrum
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
Informative Slides
Informative SlidesInformative Slides
Informative Slides
 
Agile development, software engineering
Agile development, software engineeringAgile development, software engineering
Agile development, software engineering
 
Introduction to continuous delivery
Introduction to continuous deliveryIntroduction to continuous delivery
Introduction to continuous delivery
 
Requirements Tool
Requirements ToolRequirements Tool
Requirements Tool
 
SCL Aug Sep 2010 Software Development How Agile Are You
SCL Aug Sep 2010 Software Development   How Agile Are YouSCL Aug Sep 2010 Software Development   How Agile Are You
SCL Aug Sep 2010 Software Development How Agile Are You
 
Adv Disadv
Adv DisadvAdv Disadv
Adv Disadv
 
A glance at a scrum team in real software company
A glance at a scrum team in real software companyA glance at a scrum team in real software company
A glance at a scrum team in real software company
 

Similar to Agile development and project management

Story of user story
Story of user storyStory of user story
Story of user story
Balaji Sathram
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
AnveshPatel7
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
Sandra Svanidzaitė, PhD, CBAP
 
Software Product Engineering
Software Product EngineeringSoftware Product Engineering
Software Product Engineering
Sagittarius
 
Effective User Story Writing
Effective User Story WritingEffective User Story Writing
Effective User Story Writing
Ahmed Misbah
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
AhmadSajjad34
 
Agile_basics
Agile_basicsAgile_basics
Agile_basics
Mithilesh Singh
 
The Scrum Guide
The Scrum GuideThe Scrum Guide
The Scrum Guide
Maryam Erfani
 
Waterfall Model.pptx
Waterfall Model.pptxWaterfall Model.pptx
Waterfall Model.pptx
MrVinothKumarLAsstPr
 
Overview of Agile methodology & Scrum
Overview of Agile methodology & ScrumOverview of Agile methodology & Scrum
Overview of Agile methodology & Scrum
Srinivasan Ganesan
 
Agile Scrum Quick Reference Card
Agile Scrum Quick Reference CardAgile Scrum Quick Reference Card
Agile Scrum Quick Reference Card
Techcanvass
 
Scrum, A Brief Introduction
Scrum, A Brief IntroductionScrum, A Brief Introduction
Scrum, A Brief Introduction
Muhammad Waqas Akram
 
Info dev flexibility in agile
Info dev flexibility in agileInfo dev flexibility in agile
Info dev flexibility in agile
Alyssa Fox
 
Agile.pptx
Agile.pptxAgile.pptx
Agile.pptx
Rafeeq T
 
Agile
AgileAgile
Agile
piyushag89
 
Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer
Todd Shelton
 
ME135A Agile lean workshop101414
ME135A Agile lean workshop101414ME135A Agile lean workshop101414
ME135A Agile lean workshop101414
spikol
 
Introduction to Agile - Scrum, Kanban, and everything in between
Introduction to Agile - Scrum, Kanban, and everything in betweenIntroduction to Agile - Scrum, Kanban, and everything in between
Introduction to Agile - Scrum, Kanban, and everything in between
Pravin Kumar Singh, PMP, PSM
 
Sdlc plan
Sdlc planSdlc plan
Stories, Backlog & Mapping
Stories, Backlog & MappingStories, Backlog & Mapping
Stories, Backlog & Mapping
Dimitri Ponomareff
 

Similar to Agile development and project management (20)

Story of user story
Story of user storyStory of user story
Story of user story
 
Agile Methodology
Agile MethodologyAgile Methodology
Agile Methodology
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
Software Product Engineering
Software Product EngineeringSoftware Product Engineering
Software Product Engineering
 
Effective User Story Writing
Effective User Story WritingEffective User Story Writing
Effective User Story Writing
 
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnzLecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
Lecture 5 -6(CSC205).pptx jsksnxbbxjxksnsnz
 
Agile_basics
Agile_basicsAgile_basics
Agile_basics
 
The Scrum Guide
The Scrum GuideThe Scrum Guide
The Scrum Guide
 
Waterfall Model.pptx
Waterfall Model.pptxWaterfall Model.pptx
Waterfall Model.pptx
 
Overview of Agile methodology & Scrum
Overview of Agile methodology & ScrumOverview of Agile methodology & Scrum
Overview of Agile methodology & Scrum
 
Agile Scrum Quick Reference Card
Agile Scrum Quick Reference CardAgile Scrum Quick Reference Card
Agile Scrum Quick Reference Card
 
Scrum, A Brief Introduction
Scrum, A Brief IntroductionScrum, A Brief Introduction
Scrum, A Brief Introduction
 
Info dev flexibility in agile
Info dev flexibility in agileInfo dev flexibility in agile
Info dev flexibility in agile
 
Agile.pptx
Agile.pptxAgile.pptx
Agile.pptx
 
Agile
AgileAgile
Agile
 
Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer Emptying Your Cup an Agile Primer
Emptying Your Cup an Agile Primer
 
ME135A Agile lean workshop101414
ME135A Agile lean workshop101414ME135A Agile lean workshop101414
ME135A Agile lean workshop101414
 
Introduction to Agile - Scrum, Kanban, and everything in between
Introduction to Agile - Scrum, Kanban, and everything in betweenIntroduction to Agile - Scrum, Kanban, and everything in between
Introduction to Agile - Scrum, Kanban, and everything in between
 
Sdlc plan
Sdlc planSdlc plan
Sdlc plan
 
Stories, Backlog & Mapping
Stories, Backlog & MappingStories, Backlog & Mapping
Stories, Backlog & Mapping
 

Recently uploaded

Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
Yara Milbes
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
Rakesh Kumar R
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
kalichargn70th171
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Crescat
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
rodomar2
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 

Recently uploaded (20)

Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
SMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API ServiceSMS API Integration in Saudi Arabia| Best SMS API Service
SMS API Integration in Saudi Arabia| Best SMS API Service
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Fundamentals of Programming and Language Processors
Fundamentals of Programming and Language ProcessorsFundamentals of Programming and Language Processors
Fundamentals of Programming and Language Processors
 
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf8 Best Automated Android App Testing Tool and Framework in 2024.pdf
8 Best Automated Android App Testing Tool and Framework in 2024.pdf
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
Introducing Crescat - Event Management Software for Venues, Festivals and Eve...
 
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit ParisNeo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
Neo4j - Product Vision and Knowledge Graphs - GraphSummit Paris
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CDKuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
KuberTENes Birthday Bash Guadalajara - Introducción a Argo CD
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 

Agile development and project management

  • 2. The Problem • Despite everyone’s best intentions and efforts, software projects continue to fail • This is in large part due to communication breakdowns • Capturing software requirements is a communication problem between two totally different “types” of people • When business dominates, it mandates functionality and timelines with little concern that developers can meet them • When developers dominate, technical jargon and “cool features” take over the real needs of the business
  • 3. Case in point:Waterfall • In traditional waterfall methods, decision- making and information-gathering are done only once - at the beginning of the project • They take away options by making decisions earlier than they need to be made • They rely on ‘middlemen’ to communicate between developers and stakeholders • As a result, the communication process is broken on most projects
  • 4. The Agile Solution Individuals and interactions over processes and tools Working software over comprehensive documentation Customer collaboration over contract negotiation Responding to change over following a plan
  • 5. Agile comes in different flavors... we will be using the Scrum process
  • 6. Scrum Overview • Consists of a number of short iterations, or ‘sprints’ • Defined roles: • Product manager - the business users’ representative • ScrumMaster - facilitates the development and meetings • Development Team • Stakeholders - end users, project sponsors etc • Meetings after each iteration • Sprint review - to demo the development done in the past sprint • Sprint planning - plan the next iteration’s deliverables
  • 7. Scrum Development • 2 to 4 week sprints • During each sprint, the team will create a set of Production-ready features • A Sprint review/planning meeting will be held after each sprint, where - • Team will demo the functionality developed in the previous sprint • Business users will prioritize the backlog for the next sprint • Team will determines how much of the requested backlog they can finish in the next sprint • No requirement changes in the middle of a sprint
  • 9. Scrum Roles • Facilitator • NOT a team lead (the team is self-organizing) • Facilitates user story sessions and sprint meetings • Removes roadblocks to the team’s success & protects them from distractions • Development Team • A group of people with cross-functional skills • Design, develop, test, communicate • Product owner • Writes the user stories • Prioritizes the backlog of user stories • Signs off on deliverables
  • 10. Scrum Roles Customers Developers Agree upon the length of each sprint (this will stay the same throughout the project) Select and prioritize the user stories to be worked on for each sprint Estimate the effort for each story (in story points) Agree upon the deliverables for each sprint Specify the acceptance tests for each user story to be complete Deliver fully usable code that meets the user story requirements Make themselves available to resolve questions from the development team Identify and communicate issues early Share responsibility for the final success of the project
  • 11. Roles: Pigs & Chicken “Pigs” are committed to the project.“Chicken” are merely involved.
  • 12. Scrum Documents • Project Backlog • High-level document for the entire project • Contains descriptions of all the required features, prioritized by business value • Contains rough estimates of business value and development effort • Sprint Backlog • The requested features are broken down into tasks of 4-16 hours • Estimates are set by the entire team • Team members assign tasks to themselves, based on priority and their skill level • Burn Down Chart • A chart of the work remaining in the Sprint backlog • Publicly available, updated daily with status (“To do”,“In dev”,“Done”)
  • 13. The User Story tool is used to gather requirements in Agile projects
  • 14. • There are 3 parts to a User Story: • Card - a written description of the story, used for planning and as a reminder to have a conversation • Conversation - discussions between customer and developer about the story, to flesh out the details and define acceptance tests • Confirmation - tests that determine when the story is completed The User Story
  • 15. The User Story Card •Created during the user story workshop •Small, independent, negotiable, testable •Meant to be high-level; serves as a reminder to have a conversation Conversation •Can occur at the sprint planning meeting or any time during the sprint • •The detailed requirements are fleshed out here, by the business user and developer working together Confirmation •a.k.a.“Acceptance Tests” - these are tests that define the user’s expectations and provides developers with a way to check if they’re done •Initially defined during the sprint planning meeting; can change during the sprint via conversations
  • 16. The User Story • Emphasizes verbal communication over written • Spreads the decision-making process across the duration of the project • decisions are made based on the information available • decisions are made at the time when the functionality in question is being developed • Lets you defer the details until you have the best understanding of what you really need • Easily understood by both customers and developers
  • 17. Good User Stories • A bad story: “Create an Invoice” • A good story: “As a (user role), I can (function) so that (business reason)” “As a CCR, I can search for customers by their first and last name so that they don’t need to look up their account number” “As a Retail Ops manager, I can manage my team’s privileges so that they can void/delete/ resend invoices” (Front of card) As a CCR, I can search for customers by their first and last name so they don’t need to look up their acct number (Back of card: acceptance tests) Test if multiple customers have same name. Test if customer name doesn’t exist in system. ...