SlideShare une entreprise Scribd logo
1  sur  46
From Wikipedia:
Its a group of software development methods based on
iterative and incremental development, where
requirements and solutions evolve through collaboration
between self-organizing, cross-functional teams........
Manifesto for Agile Software Development
`We are uncovering better ways of developing software by
doing it and helping others do it. Through this work we
have come to 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
That is, while there is value in the items on
the right, we value the items on the left more.
Traditional “Waterfall” Approach
Detailed
Design
Detailed
Design
ConceptConcept
BuildBuild
Agile Process
Concept
Detailed
Design
Detailed
Design
Build Build
Detailed
Design
Detailed
Design
Build Build
Sprint
Review
Sprint
Review
Sprint
Review
Sprint
Review
Agile processes are based on a contionous process of Design it, Build
it, Test it, Ship it.
Being Agile – What's involved ?
Goal
Deliver high
value, high
quality
working s/w
quickly &
frequently
Ceremonies
Training
Release Planning
Iteration Planning
Daily Stan-up
Review / demo
Retrospective
Techniques
Iterations
User stories
Co-location
Task board
Burn chart
Planning Poker
Done-done-done
Pairing
Unit Test
Continous integration
Participate
Fundamentals
Short feedback
loops
Inspect &
adapt
Collaboration &
teamwork
Agile Myths
- No documentation
- No scope management
- No design
- 100% automation
- Only iterative development
- No architecture
- No strick deadline
(I can change my mind whenever I want to)
Scrum
&
Extreme Programming
Scrum Principles
✔
Time-boxes
✔
Cross-functional teams
✔
Open communications
– Within team
– With stakeholders
✔
Priorities set by Product Owner
✔
Demonstrable results
✔
Responsive to change
Scrum
Roles
- Scrum Master
- Scrum Team
- Product Owner
- Stakeholders
Sprint
Artifacts
- Product Backlog
- Sprint Backlog
- Burn down / up charts
Meetings
- Sprint Planning
- Daily Stand-up
- Sprint Review
- Sprint Retrospective
Roles
* Scrum Master
Not “command & control” project manager
Process coach and team facilitator
Remover of roadblocks
* Scrum Team
Individuals responsible for the Sprint results
Mix of skills representing multiple disciplines
Usually 6-8 individuals
* Product Owner
Individual responsible for product
Responsible for product profitability (ROI)
Adjusts feature list and priorities for each Sprint
Accepts or rejects work results
* Users & Stakeholders
Interested in results but not responsible for deliverables
The Sprint
* Time boxed effort
Usually 2 weeks to 1 month
Can be longer or shorter
* Defined workload
No changes once Sprint is begun
* Begins with Planning Meeting
* Ends with demonstrable Release
Product Backlog
Product Backlog
* All features and functions for final product
* May be subdivided into releases
* Prioritized by Product Owner
* Initial backlog is established and releases are defined prior to start
of Sprints
* Product backlog is reviewed and updated throughout the project
* Time must be allotted during Sprints to allow for this activity
Sprint Backlog
* Features and functions targeted for a single Sprint
- Frequently broken down into User Stories;
Especially if function is complex
* May include technical requirements or objectives
- e.g.; database design, UI standards, architecture
documentation
Burnup Charts
Sprint Planning
* Product Owner and Team
* Review of Product Backlog
* Product Owner provides definition and details of features and functions
* Negotiation of what will be in Sprint
* May identify new Product Backlog needs
* Results in Sprint Goals
Daily Stand-up
Daily Stand-up
* Standup 15 minute meeting
* Each team member answers 3 questions:
- What have you done since the last meeting?
- What will you do before the next meeting?
- What is preventing you from accomplishing your tasks?
* For benefit of other team members
* Not a “status report” to the ScrumMaster
Sprint Review
* Results of Sprint are demonstrated to Product Owner
* Owner accepts or rejects results
* Results are input to:
- Next Sprint Planning meeting
- Sprint Retrospective
Sprint Retrospective
* Meeting with Sprint Team
- May include Product Owner
* Process review and modification
* Lessons learned applied in following Sprints
* Techniques
– Mute Mapping
– Brainstorming
Mute – Mapping Technique
INDEX CARD 4”X6”
Three Parts (3 Cs)
 Card
 Conversation
 Confirmation
User Story
I N V E S T
The acronym INVEST stands for,
I – Independent, N – Negotiable, V – Valuable, E – Estimable, S – Small, T - Testable
User Story
 Provides a simple medium for
– Gathering basic information about stories,
– Recording high-level requirements,
– Developing work estimates, and
– Defining acceptance tests
 Acts as agreements between customers and team
members to discuss detail requirements during an
iteration
Example : User Story Card (Formal)
As a <role>,
I want <goal/desire>
so that <benefit>
As a
Who wants this piece of functionality
I want
What the user wants
So that
Why the user wants it
As an employee, I want to purchase a parking pass so that I can
park my car safely in the basement and save money.
Priority : 8
Estimate : 4
Theme and Epic
Theme is a set of related user
stories that may be combined
together and treated as a single
entity for either estimating or release
planning
Epics are large user stories with
lower priority. They are too big to
implement in a single iteration and
therefore they need to be
disaggregated into smaller user
stories at some point
Velocity
* Velocity is a measure of a team’s rate of
progress per iteration.
* It is calculated by summing the number
of story points assigned to each user
story that the team completed during
the iteration
Question :
The project team completes four stories in one iteration,
Story A – 5, Story B – 3, Story C – 7, Story D – 5. Calculate the Velocity?
Answer :
Summing up the story points assigned to each user story gives the velocity.
Hence velocity = 5+3+7+5 = 20
Prioritizing Requirements - MoSCoW
Agile Estimation
Agile Estimation
Estimating Size with Story Points
Story Points are the unit of
measurement for expressing the
overall size of a user story,
feature, or other piece of work.
Story Points
 The “bigness” of a task is influenced by,
• How hard it is (complexity)
• How much of it there is (effort involved)
• How risky it is
 Relative values are what is important:
• A login screen is a 2, A search feature is an 8.
 Estimate using the relative values
• Select the smallest story and estimate as 1 story point
• Select a medium-sized story and estimate it as 5 story points
Planning Poker
 An iterative approach to estimating
 Steps
- Each estimator is given a deck of
cards, each card has a valid
estimate written on it
- Customer/product owner reads a
story and it’s discussed briefly
- Each estimator selects a card
that’s his or her estimate
- Cards are turned over so all can
see them
- Discuss differences (especially
outliers)
- Re-estimate until estimates
converge
Extreme programming
Extreme programming has been described as following practices
Fine scale feedback
- Pair programming
- Test-driven development
Continuous process
- Continuous integration
- Refactoring or design improvement
- Small releases
Shared understanding
- Coding standards
- Collective code ownership
- Simple design
Testing
- All code must have Unit tests
- All code must pass all Unit tests before it can be released.
- When a Bug is found tests are created before the bug is addressed
XP
Pair Programming
* Better Code
* Collective Code Ownership
* Mentoring
* Increased discipline
* Improved morale
* Team cohesion
Unit Testing
* Unit Testing reduces the level of bugs in production code.
* Unit Testing saves you development time.
* Automated tests can be run as frequently as required.
* Unit Testing makes it easier to change and refactor code.
* Unit Testing can improve the design of code especially with
TDD.
* Unit Tests are a form of documentation.
* Unit Testing inspires confidence!
* Unit Tests are a measure of completion.
* Unit Testing is FUN!
Coding Standards
• Code Integration
• Team Member Integration
• Maintenance
• Uniform Problem Solving
• Minimizes Communication
• Minimizes Performance Pitfalls
• Saves Money Due to Less Man Hours
CI
* Say goodbye to long and tense integrations
* Increase visibility which enables greater communication
* Catch issues fast and nip them in the bud
* Spend less time debugging and more time adding features
* Proceed in the confidence you’re building on a solid foundation
* Stop waiting to find out if your code’s going to work
* Reduce integration problems allowing you to deliver software
more rapidly
CI – Reminder / Rules
* Check in frequently
* Don’t check in broken code
* Don’t check in untested code
* Don’t check in when the build is broken
* Don’t go home after checking in until the system builds
-----
* Maintain a Single Source Repository
* Make Your Build Self-Testable
* Every Commit Should Build the Mainline on an Integration Machine
* Keep the Build Fast
* Everyone can see what's happening
* Automate Deployment
-----
* Detect integration errors as quickly as possible
* Assumes a high degree of tests
* Always have a deployable build
* Generate metrics to guide project management
* Continuous Integration is Vital for Agile Development
Q & A

Contenu connexe

Tendances

Agile Estimating & Planning by Amaad Qureshi
Agile Estimating & Planning by Amaad QureshiAgile Estimating & Planning by Amaad Qureshi
Agile Estimating & Planning by Amaad QureshiAmaad Qureshi
 
Test & Learn: Hooked - How to Build Habit Forming Products
Test & Learn: Hooked - How to Build Habit Forming Products Test & Learn: Hooked - How to Build Habit Forming Products
Test & Learn: Hooked - How to Build Habit Forming Products Optimizely
 
Training from the BACK of the Room
Training from the BACK of the RoomTraining from the BACK of the Room
Training from the BACK of the Roomsparkagility
 
Agile methodology
Agile methodologyAgile methodology
Agile methodologyPayod Soni
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile MethodologyHaresh Karkar
 
Agile and Scrum Basics
Agile and Scrum BasicsAgile and Scrum Basics
Agile and Scrum BasicsMazhar Khan
 
How agile coaches help us win the agile coach role @ Spotify
How agile coaches help us win   the agile coach role @ SpotifyHow agile coaches help us win   the agile coach role @ Spotify
How agile coaches help us win the agile coach role @ SpotifyBrendan Marsh
 
Prioritizing Your Product Backlog
Prioritizing Your Product BacklogPrioritizing Your Product Backlog
Prioritizing Your Product BacklogMike Cohn
 
When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)Rodrigo Vieira
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesAshutosh Agarwal
 
Digital Transformation through the Product Mindset
Digital Transformation through the Product MindsetDigital Transformation through the Product Mindset
Digital Transformation through the Product MindsetAmplitude
 
Guideline for retrospective & sprint planning
Guideline for retrospective & sprint planningGuideline for retrospective & sprint planning
Guideline for retrospective & sprint planningArata Fujimura
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentMike Cohn
 
Designing MVP Experiments
Designing MVP ExperimentsDesigning MVP Experiments
Designing MVP ExperimentsMelissa Perri
 

Tendances (20)

An Overview of SAFe
An Overview of SAFeAn Overview of SAFe
An Overview of SAFe
 
Ahmed Sidky (Keynote)
Ahmed Sidky (Keynote)Ahmed Sidky (Keynote)
Ahmed Sidky (Keynote)
 
Agile Estimating & Planning by Amaad Qureshi
Agile Estimating & Planning by Amaad QureshiAgile Estimating & Planning by Amaad Qureshi
Agile Estimating & Planning by Amaad Qureshi
 
Rally - How to use it
Rally - How to use itRally - How to use it
Rally - How to use it
 
Workshop MVP
Workshop MVPWorkshop MVP
Workshop MVP
 
Test & Learn: Hooked - How to Build Habit Forming Products
Test & Learn: Hooked - How to Build Habit Forming Products Test & Learn: Hooked - How to Build Habit Forming Products
Test & Learn: Hooked - How to Build Habit Forming Products
 
Training from the BACK of the Room
Training from the BACK of the RoomTraining from the BACK of the Room
Training from the BACK of the Room
 
Agile methodology
Agile methodologyAgile methodology
Agile methodology
 
Overview of Agile Methodology
Overview of Agile MethodologyOverview of Agile Methodology
Overview of Agile Methodology
 
Agile and Scrum Basics
Agile and Scrum BasicsAgile and Scrum Basics
Agile and Scrum Basics
 
Agile Estimation Techniques
Agile Estimation TechniquesAgile Estimation Techniques
Agile Estimation Techniques
 
How agile coaches help us win the agile coach role @ Spotify
How agile coaches help us win   the agile coach role @ SpotifyHow agile coaches help us win   the agile coach role @ Spotify
How agile coaches help us win the agile coach role @ Spotify
 
Prioritizing Your Product Backlog
Prioritizing Your Product BacklogPrioritizing Your Product Backlog
Prioritizing Your Product Backlog
 
When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)When will it be done? (Lean Agile Forecasting)
When will it be done? (Lean Agile Forecasting)
 
Scrum
ScrumScrum
Scrum
 
Overview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practicesOverview of Site Reliability Engineering (SRE) & best practices
Overview of Site Reliability Engineering (SRE) & best practices
 
Digital Transformation through the Product Mindset
Digital Transformation through the Product MindsetDigital Transformation through the Product Mindset
Digital Transformation through the Product Mindset
 
Guideline for retrospective & sprint planning
Guideline for retrospective & sprint planningGuideline for retrospective & sprint planning
Guideline for retrospective & sprint planning
 
Assessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility AssessmentAssessing Your Agility: Introducing the Comparative Agility Assessment
Assessing Your Agility: Introducing the Comparative Agility Assessment
 
Designing MVP Experiments
Designing MVP ExperimentsDesigning MVP Experiments
Designing MVP Experiments
 

En vedette

Экстремальное программирование (XP – extreme programming)
Экстремальное программирование (XP – extreme programming)Экстремальное программирование (XP – extreme programming)
Экстремальное программирование (XP – extreme programming)Golubtsova Lena
 
How to motivate your team during Scrum?
How to motivate your team during Scrum?How to motivate your team during Scrum?
How to motivate your team during Scrum?Dimitri Honlet
 
ERP Implementation Using Agile Project Management with Scrum
ERP Implementation Using Agile Project Management with ScrumERP Implementation Using Agile Project Management with Scrum
ERP Implementation Using Agile Project Management with Scrumdj1arry
 
Techniques for Effective Retrospectives
Techniques for Effective RetrospectivesTechniques for Effective Retrospectives
Techniques for Effective RetrospectivesProwareness
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 

En vedette (7)

MongoDb - Details on the POC
MongoDb - Details on the POCMongoDb - Details on the POC
MongoDb - Details on the POC
 
Introducing scrum
Introducing scrumIntroducing scrum
Introducing scrum
 
Экстремальное программирование (XP – extreme programming)
Экстремальное программирование (XP – extreme programming)Экстремальное программирование (XP – extreme programming)
Экстремальное программирование (XP – extreme programming)
 
How to motivate your team during Scrum?
How to motivate your team during Scrum?How to motivate your team during Scrum?
How to motivate your team during Scrum?
 
ERP Implementation Using Agile Project Management with Scrum
ERP Implementation Using Agile Project Management with ScrumERP Implementation Using Agile Project Management with Scrum
ERP Implementation Using Agile Project Management with Scrum
 
Techniques for Effective Retrospectives
Techniques for Effective RetrospectivesTechniques for Effective Retrospectives
Techniques for Effective Retrospectives
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 

Similaire à ABC of Agile (Scrum & Extreme Programming)

Software Product Engineering
Software Product EngineeringSoftware Product Engineering
Software Product EngineeringSagittarius
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for managementIcalia Labs
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to ScrumPavel Dabrytski
 
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystemsTechnical Webinar: By the (Play) Book: The Agile Practice at OutSystems
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystemsOutSystems
 
Delivery Process - Cognitive Express
Delivery Process - Cognitive ExpressDelivery Process - Cognitive Express
Delivery Process - Cognitive ExpressDebajit Ray
 
Info dev flexibility in agile
Info dev flexibility in agileInfo dev flexibility in agile
Info dev flexibility in agileAlyssa Fox
 
Scrum Process Overview
Scrum Process OverviewScrum Process Overview
Scrum Process OverviewPaul Nguyen
 
HCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdfHCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdfudhayaveenaa
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentJawdatTI
 
agility_principles.ppt
agility_principles.pptagility_principles.ppt
agility_principles.pptAteeqaKokab1
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdfsaman Iftikhar
 
Agile development and project management
Agile development and project managementAgile development and project management
Agile development and project managementVishal Bardoloi
 
Future proof event on 13 sept 18 - Innovation & IP - by Bagaar & Gevers
Future proof event on 13 sept 18 - Innovation & IP - by Bagaar & GeversFuture proof event on 13 sept 18 - Innovation & IP - by Bagaar & Gevers
Future proof event on 13 sept 18 - Innovation & IP - by Bagaar & GeversDavid Gillain
 
Ssw forte-agile-seminar
Ssw forte-agile-seminarSsw forte-agile-seminar
Ssw forte-agile-seminarSSW
 

Similaire à ABC of Agile (Scrum & Extreme Programming) (20)

Software Product Engineering
Software Product EngineeringSoftware Product Engineering
Software Product Engineering
 
Agile practices for management
Agile practices for managementAgile practices for management
Agile practices for management
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Agile scrum induction
Agile scrum inductionAgile scrum induction
Agile scrum induction
 
Practical Guide to Scrum
Practical Guide to ScrumPractical Guide to Scrum
Practical Guide to Scrum
 
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystemsTechnical Webinar: By the (Play) Book: The Agile Practice at OutSystems
Technical Webinar: By the (Play) Book: The Agile Practice at OutSystems
 
OOSE UNIT-1.pdf
OOSE UNIT-1.pdfOOSE UNIT-1.pdf
OOSE UNIT-1.pdf
 
Scrum introduc.ppt
Scrum introduc.pptScrum introduc.ppt
Scrum introduc.ppt
 
Delivery Process - Cognitive Express
Delivery Process - Cognitive ExpressDelivery Process - Cognitive Express
Delivery Process - Cognitive Express
 
Info dev flexibility in agile
Info dev flexibility in agileInfo dev flexibility in agile
Info dev flexibility in agile
 
Scrum Process Overview
Scrum Process OverviewScrum Process Overview
Scrum Process Overview
 
HCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdfHCI U-II HCI software Process (1).pdf
HCI U-II HCI software Process (1).pdf
 
CampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile DevelopmentCampusSDN2017 - Jawdat: Product Management and Agile Development
CampusSDN2017 - Jawdat: Product Management and Agile Development
 
Cost estimation
Cost estimationCost estimation
Cost estimation
 
agility_principles.ppt
agility_principles.pptagility_principles.ppt
agility_principles.ppt
 
project planning components.pdf
project planning components.pdfproject planning components.pdf
project planning components.pdf
 
Agile development and project management
Agile development and project managementAgile development and project management
Agile development and project management
 
prod-dev-management.pptx
prod-dev-management.pptxprod-dev-management.pptx
prod-dev-management.pptx
 
Future proof event on 13 sept 18 - Innovation & IP - by Bagaar & Gevers
Future proof event on 13 sept 18 - Innovation & IP - by Bagaar & GeversFuture proof event on 13 sept 18 - Innovation & IP - by Bagaar & Gevers
Future proof event on 13 sept 18 - Innovation & IP - by Bagaar & Gevers
 
Ssw forte-agile-seminar
Ssw forte-agile-seminarSsw forte-agile-seminar
Ssw forte-agile-seminar
 

Dernier

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Dernier (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

ABC of Agile (Scrum & Extreme Programming)

  • 1.
  • 2.
  • 3.
  • 4. From Wikipedia: Its a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams........
  • 5. Manifesto for Agile Software Development `We are uncovering better ways of developing software by doing it and helping others do it. Through this work we have come to 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 That is, while there is value in the items on the right, we value the items on the left more.
  • 6.
  • 7.
  • 9. Agile Process Concept Detailed Design Detailed Design Build Build Detailed Design Detailed Design Build Build Sprint Review Sprint Review Sprint Review Sprint Review Agile processes are based on a contionous process of Design it, Build it, Test it, Ship it.
  • 10. Being Agile – What's involved ? Goal Deliver high value, high quality working s/w quickly & frequently Ceremonies Training Release Planning Iteration Planning Daily Stan-up Review / demo Retrospective Techniques Iterations User stories Co-location Task board Burn chart Planning Poker Done-done-done Pairing Unit Test Continous integration Participate Fundamentals Short feedback loops Inspect & adapt Collaboration & teamwork
  • 11. Agile Myths - No documentation - No scope management - No design - 100% automation - Only iterative development - No architecture - No strick deadline (I can change my mind whenever I want to)
  • 13. Scrum Principles ✔ Time-boxes ✔ Cross-functional teams ✔ Open communications – Within team – With stakeholders ✔ Priorities set by Product Owner ✔ Demonstrable results ✔ Responsive to change
  • 14.
  • 15. Scrum Roles - Scrum Master - Scrum Team - Product Owner - Stakeholders Sprint Artifacts - Product Backlog - Sprint Backlog - Burn down / up charts Meetings - Sprint Planning - Daily Stand-up - Sprint Review - Sprint Retrospective
  • 16. Roles * Scrum Master Not “command & control” project manager Process coach and team facilitator Remover of roadblocks * Scrum Team Individuals responsible for the Sprint results Mix of skills representing multiple disciplines Usually 6-8 individuals * Product Owner Individual responsible for product Responsible for product profitability (ROI) Adjusts feature list and priorities for each Sprint Accepts or rejects work results * Users & Stakeholders Interested in results but not responsible for deliverables
  • 17. The Sprint * Time boxed effort Usually 2 weeks to 1 month Can be longer or shorter * Defined workload No changes once Sprint is begun * Begins with Planning Meeting * Ends with demonstrable Release
  • 18.
  • 20. Product Backlog * All features and functions for final product * May be subdivided into releases * Prioritized by Product Owner * Initial backlog is established and releases are defined prior to start of Sprints * Product backlog is reviewed and updated throughout the project * Time must be allotted during Sprints to allow for this activity
  • 21. Sprint Backlog * Features and functions targeted for a single Sprint - Frequently broken down into User Stories; Especially if function is complex * May include technical requirements or objectives - e.g.; database design, UI standards, architecture documentation
  • 23. Sprint Planning * Product Owner and Team * Review of Product Backlog * Product Owner provides definition and details of features and functions * Negotiation of what will be in Sprint * May identify new Product Backlog needs * Results in Sprint Goals
  • 25. Daily Stand-up * Standup 15 minute meeting * Each team member answers 3 questions: - What have you done since the last meeting? - What will you do before the next meeting? - What is preventing you from accomplishing your tasks? * For benefit of other team members * Not a “status report” to the ScrumMaster
  • 26. Sprint Review * Results of Sprint are demonstrated to Product Owner * Owner accepts or rejects results * Results are input to: - Next Sprint Planning meeting - Sprint Retrospective
  • 27. Sprint Retrospective * Meeting with Sprint Team - May include Product Owner * Process review and modification * Lessons learned applied in following Sprints * Techniques – Mute Mapping – Brainstorming
  • 28. Mute – Mapping Technique
  • 29. INDEX CARD 4”X6” Three Parts (3 Cs)  Card  Conversation  Confirmation User Story I N V E S T The acronym INVEST stands for, I – Independent, N – Negotiable, V – Valuable, E – Estimable, S – Small, T - Testable
  • 30. User Story  Provides a simple medium for – Gathering basic information about stories, – Recording high-level requirements, – Developing work estimates, and – Defining acceptance tests  Acts as agreements between customers and team members to discuss detail requirements during an iteration
  • 31. Example : User Story Card (Formal) As a <role>, I want <goal/desire> so that <benefit> As a Who wants this piece of functionality I want What the user wants So that Why the user wants it As an employee, I want to purchase a parking pass so that I can park my car safely in the basement and save money. Priority : 8 Estimate : 4
  • 32. Theme and Epic Theme is a set of related user stories that may be combined together and treated as a single entity for either estimating or release planning Epics are large user stories with lower priority. They are too big to implement in a single iteration and therefore they need to be disaggregated into smaller user stories at some point
  • 33. Velocity * Velocity is a measure of a team’s rate of progress per iteration. * It is calculated by summing the number of story points assigned to each user story that the team completed during the iteration Question : The project team completes four stories in one iteration, Story A – 5, Story B – 3, Story C – 7, Story D – 5. Calculate the Velocity? Answer : Summing up the story points assigned to each user story gives the velocity. Hence velocity = 5+3+7+5 = 20
  • 36. Estimating Size with Story Points Story Points are the unit of measurement for expressing the overall size of a user story, feature, or other piece of work.
  • 37. Story Points  The “bigness” of a task is influenced by, • How hard it is (complexity) • How much of it there is (effort involved) • How risky it is  Relative values are what is important: • A login screen is a 2, A search feature is an 8.  Estimate using the relative values • Select the smallest story and estimate as 1 story point • Select a medium-sized story and estimate it as 5 story points
  • 38. Planning Poker  An iterative approach to estimating  Steps - Each estimator is given a deck of cards, each card has a valid estimate written on it - Customer/product owner reads a story and it’s discussed briefly - Each estimator selects a card that’s his or her estimate - Cards are turned over so all can see them - Discuss differences (especially outliers) - Re-estimate until estimates converge
  • 40. Extreme programming has been described as following practices Fine scale feedback - Pair programming - Test-driven development Continuous process - Continuous integration - Refactoring or design improvement - Small releases Shared understanding - Coding standards - Collective code ownership - Simple design Testing - All code must have Unit tests - All code must pass all Unit tests before it can be released. - When a Bug is found tests are created before the bug is addressed XP
  • 41. Pair Programming * Better Code * Collective Code Ownership * Mentoring * Increased discipline * Improved morale * Team cohesion
  • 42. Unit Testing * Unit Testing reduces the level of bugs in production code. * Unit Testing saves you development time. * Automated tests can be run as frequently as required. * Unit Testing makes it easier to change and refactor code. * Unit Testing can improve the design of code especially with TDD. * Unit Tests are a form of documentation. * Unit Testing inspires confidence! * Unit Tests are a measure of completion. * Unit Testing is FUN!
  • 43. Coding Standards • Code Integration • Team Member Integration • Maintenance • Uniform Problem Solving • Minimizes Communication • Minimizes Performance Pitfalls • Saves Money Due to Less Man Hours
  • 44. CI * Say goodbye to long and tense integrations * Increase visibility which enables greater communication * Catch issues fast and nip them in the bud * Spend less time debugging and more time adding features * Proceed in the confidence you’re building on a solid foundation * Stop waiting to find out if your code’s going to work * Reduce integration problems allowing you to deliver software more rapidly
  • 45. CI – Reminder / Rules * Check in frequently * Don’t check in broken code * Don’t check in untested code * Don’t check in when the build is broken * Don’t go home after checking in until the system builds ----- * Maintain a Single Source Repository * Make Your Build Self-Testable * Every Commit Should Build the Mainline on an Integration Machine * Keep the Build Fast * Everyone can see what's happening * Automate Deployment ----- * Detect integration errors as quickly as possible * Assumes a high degree of tests * Always have a deployable build * Generate metrics to guide project management * Continuous Integration is Vital for Agile Development
  • 46. Q & A