SlideShare a Scribd company logo
1 of 34
Download to read offline
Running Agile on a non-agile
Environment
Nuno Caneco - 2017/01/12
Bio
Nuno Caneco
● Software Engineer for 13+ years
● Scrum Practitioner since 2008
● Scrum Master since 2009
● Leading Software Projects since 2006
Motivation
Share the experience from executing a project using
Agile under a Waterfall contract
How it started
● Fixed scope
● Fixed delivery date
(based on high level estimations)
● Waterfall-based Project
Management
Project Management Foundations
Schedule
Scope Budget
Quality
ResourcesRisk
Contract
Managed by Contractor (PM)
Agile & Contracts
Schedule
Scope Budget
Quality
ResourcesRisk
Fixed Contract:
● Fixed Budget
● Fixed Scope
● Fixed Schedule
Waterfall Project Management
The Agile way:
● Flexible Scope
● Flexible Schedule
Flexible Budget
Internal Agile - The Opportunity
Using Agile would hopefully:
● Improve the flexibility within the
Team
● Improve resource and time
management
● Steady and frequent checkpoints
● Small and frequent victories
Façades
SupplierCustomer
Sponsor
PM
Sponsor
PM / PO ScrumMaster
TTTeam
Waterfall AgileWaterfall & Agile
Combining Waterfall with Agile
Requirements
Design
Implementation
Verification
Waterfall Façade Agile Façade Activities
● Close high level specs with Customer
● Epic Backlog
● Initial Product Backlog
● Refine Product Backlog
● Initial Mockups
● Sprint 0 - project structure and first lines of code
● Sprints
● Backlog Grooming
● Internal QA & Demos
● Acceptance tests with customer
● Bug fixes
Requirements
Phase
Preparing the Backlogs
Functional Specification
● Modules
○ Features
User Acceptance Tests
● High level UAT
(not that much detailed at this point)
Waterfall Façade Agile Façade
Epic Backlog
Product Backlog
Modules mapped to Epics
Features mapped to User Stories
UAT mapped to Acceptance
Criteria
Epic Backlog Prioritizing
Prioritize on Epics based on the following criteria:
1. Dependency to other Epics/Stories
○ Foundational epics go first
○ Epics that are dependencies to other epics go first
2. Risk & Impact
○ High risk + High Impact Epics are likely to go first
○ "Bread and butter" epics are likely to go last
At the End of Requirements Phase
The Team had:
● A Functional Specification approved by the customer
● A high level UAT document approved by the customer
and
● A detailed and prioritized Epic Backlog
○ T-Shirt size estimation
● A Product Backlog with:
○ Detailed functional description
○ High level Acceptance Criteria
○ No User Story estimation
Implementation
Phase
Invariants
● Setup the Team
○ Front-end Engineers ; Back-end Engineers ; Lead Architect
● 2-week Sprints
○ Starting on Monday ; Ending on Friday (by agreement with the Team)
● Recurring appointments on the agenda:
○ Sprint Planning
○ Daily meetings
○ Sprint Demo
○ Sprint Retrospective
Sprint Loop
Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10
Sprint Planning
[Team + SM]
Backlog Grooming (Mid/long term)
[SM + PO ; Team(optional)]
Mock-ups & User Store detail grooming
[PO + SM]
Backlog Grooming (Sprint n+1)
[Team + SM + PO]
Sprint Demo
[Team + SM + PO + PM]
Sprint Retrospective
[Team + SM]
Sprint n
Sprint Planning
Product Backlog Sprint Backlog
● Stories are split into Tasks
● Each Task:
○ Gets estimated in hours
(Estimation > 12h → Split the task)
○ Is pre-assigned to a Team Member
● Tax Tasks:
○ Backlog Grooming
○ Daily meetings
○ Sprint Demos
○ (...)● Story ID
● Description
● Estimation [Story Points]
● Mock ups
● Task ID
● Story ID
● Task Type
● Description
● Assignee
● Estimation [h]
● Time tracking
Definition of Done
Examples:
● Code on Source Control must compile and run by hitting F5
● Tests must be implemented and passing
● Database project must be updated
And, then by Sprint #4...
We need a working
BETA version in 1
month!
Time to Adapt!
● Identify the user stories that become critical for the BETA
● Enter Kanban mode for 2 sprints to:
a. Finish the features
b. Install the system @ PROD
Sprint #1 Sprint #2 Sprint #3 Sprint #4 Sprint #5 Sprint #6 Sprint #7 Sprint #8 (...)
Scrum Scrum Scrum Scrum Scrum Kanban Kanban Scrum (...)
BETA went well
QA & Testing
Adding a QA to the Team
At some point, we decided to bring in a QA into the team:
● Iterate towards the final UAT document
● Test the outcome of Previous Sprint according to UAT document
● Report bugs
QA loop
Sprint n
QA: Test fixed bugs
QA: Run UAT tests on new storiesTeam: Fix issues reported by QA
(within saved capacity)
QA: Iterate on UAT document
The QA Loop was integrated with the Team Loop
It was nice
The bugs were found and
fixed sooner!
Show me some numbers!
Some numbers
● 17x 2-week Sprints
● 5 software engineers (backend and frontend)
● 1 QA (non-permanent)
● ~210.000 lines of code
○ From which 37.000 are tests (~12%)
● 4 software applications + 1 common library
Velocity, capacity and time
Lessons learned
Pros
● Guided and steady workflow
● Regular sense of completion at the end of each Sprint
● Quickly respond to change
● Pre-align epics to Sprints
● Waterfall Status Reports became really easy
○ Just use the data from Sprint Demos
● Deallocations and inefficiencies become visible
● Improved the Team buy-in on the Project
Cons
● A bit of Management overhead
○ Map Scrum <--> Waterfall
● Higher allocation of QA Team Members
○ Early allocation to the Project
Lessons Learned
● It's easier to run Internal Scrum if the Management buys the strategy
○ And our Management did support this strategy
● Using Kanban for stability Sprints
○ Improved the flexibility to fix issues and implement quick-but-needed features
● If properly aligned, the Waterfall artifacts can be mapped to/from Agile
artifacts with minimal effort
○ Technical Specification → Epic Backlog and Product Backlog
○ Sprint Demos & Sprint Backlog → Status Reports
○ Acceptance Criteria → User Acceptance Test
But most important
Always remember that the customer did NOT buy Agile
Keep
the
Façade
Keep the fixed
scope and time
to the customer
Allow some
internal
flexibility
Thank you

More Related Content

What's hot

Agile and Scrum - GB
Agile and Scrum - GBAgile and Scrum - GB
Agile and Scrum - GBGaurav IG
 
Scrum - Atlanta Code Camp
Scrum - Atlanta Code CampScrum - Atlanta Code Camp
Scrum - Atlanta Code CampEsteban Garcia
 
Scrum - Simple Intro Explanation
Scrum - Simple Intro ExplanationScrum - Simple Intro Explanation
Scrum - Simple Intro ExplanationJames Peckham
 
Laura Delnevo - Winning your clients' trust with Agile project management
Laura Delnevo - Winning your clients' trust with Agile project managementLaura Delnevo - Winning your clients' trust with Agile project management
Laura Delnevo - Winning your clients' trust with Agile project managementcameronandwilding
 
Project management closing & reflecting
Project management   closing & reflectingProject management   closing & reflecting
Project management closing & reflectingSuzanne Chapman
 
Microsoft Office Project 2007 Tutorial
Microsoft Office Project 2007 TutorialMicrosoft Office Project 2007 Tutorial
Microsoft Office Project 2007 TutorialAnil Purushothaman
 
Scrum. A brief introduction
Scrum. A brief introductionScrum. A brief introduction
Scrum. A brief introductionUptech
 
Project Scope Managemen Final Megat
Project Scope Managemen Final MegatProject Scope Managemen Final Megat
Project Scope Managemen Final Megatmegat zainurul anuar
 
How to Measure Agility Project Success in Business Terms
How to Measure Agility Project Success in Business TermsHow to Measure Agility Project Success in Business Terms
How to Measure Agility Project Success in Business TermsEthan Ram
 
20140311 final report
20140311 final report20140311 final report
20140311 final reportEUAlpineSpace
 
CCI PM Processes (within PMP Process Groups and Knowledge Areas)
CCI PM Processes (within PMP Process Groups and Knowledge Areas)CCI PM Processes (within PMP Process Groups and Knowledge Areas)
CCI PM Processes (within PMP Process Groups and Knowledge Areas)Pamela Garrett
 
Let's learn scrum
Let's learn scrumLet's learn scrum
Let's learn scrumTarun Singh
 

What's hot (20)

Agile and Scrum - GB
Agile and Scrum - GBAgile and Scrum - GB
Agile and Scrum - GB
 
Scrum Guidelines
Scrum GuidelinesScrum Guidelines
Scrum Guidelines
 
Scrum - Atlanta Code Camp
Scrum - Atlanta Code CampScrum - Atlanta Code Camp
Scrum - Atlanta Code Camp
 
AgileProject
AgileProjectAgileProject
AgileProject
 
Scrum - Simple Intro Explanation
Scrum - Simple Intro ExplanationScrum - Simple Intro Explanation
Scrum - Simple Intro Explanation
 
Agile Framework and Scrum
Agile Framework and ScrumAgile Framework and Scrum
Agile Framework and Scrum
 
Laura Delnevo - Winning your clients' trust with Agile project management
Laura Delnevo - Winning your clients' trust with Agile project managementLaura Delnevo - Winning your clients' trust with Agile project management
Laura Delnevo - Winning your clients' trust with Agile project management
 
Project management closing & reflecting
Project management   closing & reflectingProject management   closing & reflecting
Project management closing & reflecting
 
Microsoft Office Project 2007 Tutorial
Microsoft Office Project 2007 TutorialMicrosoft Office Project 2007 Tutorial
Microsoft Office Project 2007 Tutorial
 
Scrum. A brief introduction
Scrum. A brief introductionScrum. A brief introduction
Scrum. A brief introduction
 
Project Scope Managemen Final Megat
Project Scope Managemen Final MegatProject Scope Managemen Final Megat
Project Scope Managemen Final Megat
 
Scrum implementation
Scrum implementationScrum implementation
Scrum implementation
 
How to Measure Agility Project Success in Business Terms
How to Measure Agility Project Success in Business TermsHow to Measure Agility Project Success in Business Terms
How to Measure Agility Project Success in Business Terms
 
Scrum
ScrumScrum
Scrum
 
20140311 final report
20140311 final report20140311 final report
20140311 final report
 
CCI PM Processes (within PMP Process Groups and Knowledge Areas)
CCI PM Processes (within PMP Process Groups and Knowledge Areas)CCI PM Processes (within PMP Process Groups and Knowledge Areas)
CCI PM Processes (within PMP Process Groups and Knowledge Areas)
 
Project closeoutprocess
Project closeoutprocessProject closeoutprocess
Project closeoutprocess
 
Let's learn scrum
Let's learn scrumLet's learn scrum
Let's learn scrum
 
Project closing and methods
Project closing and methodsProject closing and methods
Project closing and methods
 
ScrumInTenSlides
ScrumInTenSlidesScrumInTenSlides
ScrumInTenSlides
 

Similar to Running Scrum on a non-Agile environment - Tales from a past experience" By Nuno Caneco

LCE13: Introduction to Jira - Linaro's Project Management Application
LCE13: Introduction to Jira - Linaro's Project Management ApplicationLCE13: Introduction to Jira - Linaro's Project Management Application
LCE13: Introduction to Jira - Linaro's Project Management ApplicationLinaro
 
Corporate AGILE & SDLC Best Practices - Part1.pptx
Corporate AGILE & SDLC Best Practices - Part1.pptxCorporate AGILE & SDLC Best Practices - Part1.pptx
Corporate AGILE & SDLC Best Practices - Part1.pptxTausief Shaikh
 
Agile Scrum Mastery: Learn How To Bring Complex Projects To life!
Agile Scrum Mastery: Learn How To Bring Complex Projects To life!Agile Scrum Mastery: Learn How To Bring Complex Projects To life!
Agile Scrum Mastery: Learn How To Bring Complex Projects To life!Mindbowser Inc
 
PlacemakAR Application - Software Engineering Discussion
PlacemakAR Application - Software Engineering DiscussionPlacemakAR Application - Software Engineering Discussion
PlacemakAR Application - Software Engineering DiscussionKanishk Karanawat
 
Project managemen, the agile way
Project managemen, the agile wayProject managemen, the agile way
Project managemen, the agile wayVlad Stanescu
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To AgileKnoldus Inc.
 
Scrum in practice
Scrum in practiceScrum in practice
Scrum in practicemeij200
 
Working with scrum
Working with scrumWorking with scrum
Working with scrummeij200
 
Agile and Scrum Overview for PMs, Designers and Developers
Agile and Scrum Overview for PMs, Designers and Developers Agile and Scrum Overview for PMs, Designers and Developers
Agile and Scrum Overview for PMs, Designers and Developers Aaron Roy
 
An Introduction to Scrum: presented at PyTexas 2012
An Introduction to Scrum: presented at PyTexas 2012An Introduction to Scrum: presented at PyTexas 2012
An Introduction to Scrum: presented at PyTexas 2012Tomo Popovic
 
Scrum Process Overview
Scrum Process OverviewScrum Process Overview
Scrum Process OverviewPaul Nguyen
 
Agile software development
Agile software developmentAgile software development
Agile software developmentSiddharth Sharma
 
Software development life cycles (sdlc)
Software development life cycles (sdlc)Software development life cycles (sdlc)
Software development life cycles (sdlc)Yuriy Kravchenko
 
Technical Debt Management
Technical Debt ManagementTechnical Debt Management
Technical Debt ManagementMark Niebergall
 
Zen tao introduction
Zen tao introductionZen tao introduction
Zen tao introductionSpotline mart
 
Transitioning from Timeboxes to Continuous Product Delivery (by Steve Stolt a...
Transitioning from Timeboxes to Continuous Product Delivery (by Steve Stolt a...Transitioning from Timeboxes to Continuous Product Delivery (by Steve Stolt a...
Transitioning from Timeboxes to Continuous Product Delivery (by Steve Stolt a...André Faria Gomes
 

Similar to Running Scrum on a non-Agile environment - Tales from a past experience" By Nuno Caneco (20)

LCE13: Introduction to Jira - Linaro's Project Management Application
LCE13: Introduction to Jira - Linaro's Project Management ApplicationLCE13: Introduction to Jira - Linaro's Project Management Application
LCE13: Introduction to Jira - Linaro's Project Management Application
 
Corporate AGILE & SDLC Best Practices - Part1.pptx
Corporate AGILE & SDLC Best Practices - Part1.pptxCorporate AGILE & SDLC Best Practices - Part1.pptx
Corporate AGILE & SDLC Best Practices - Part1.pptx
 
Agile Scrum Mastery: Learn How To Bring Complex Projects To life!
Agile Scrum Mastery: Learn How To Bring Complex Projects To life!Agile Scrum Mastery: Learn How To Bring Complex Projects To life!
Agile Scrum Mastery: Learn How To Bring Complex Projects To life!
 
PlacemakAR Application - Software Engineering Discussion
PlacemakAR Application - Software Engineering DiscussionPlacemakAR Application - Software Engineering Discussion
PlacemakAR Application - Software Engineering Discussion
 
Project managemen, the agile way
Project managemen, the agile wayProject managemen, the agile way
Project managemen, the agile way
 
Introduction To Agile
Introduction To AgileIntroduction To Agile
Introduction To Agile
 
SCRUM – Agile Methodology
SCRUM – Agile MethodologySCRUM – Agile Methodology
SCRUM – Agile Methodology
 
Scrum in practice
Scrum in practiceScrum in practice
Scrum in practice
 
Working with scrum
Working with scrumWorking with scrum
Working with scrum
 
Agile and Scrum Overview for PMs, Designers and Developers
Agile and Scrum Overview for PMs, Designers and Developers Agile and Scrum Overview for PMs, Designers and Developers
Agile and Scrum Overview for PMs, Designers and Developers
 
An Introduction to Scrum: presented at PyTexas 2012
An Introduction to Scrum: presented at PyTexas 2012An Introduction to Scrum: presented at PyTexas 2012
An Introduction to Scrum: presented at PyTexas 2012
 
Scrum Process Overview
Scrum Process OverviewScrum Process Overview
Scrum Process Overview
 
Agile software development
Agile software developmentAgile software development
Agile software development
 
Effective Scrum
Effective ScrumEffective Scrum
Effective Scrum
 
Software development life cycles (sdlc)
Software development life cycles (sdlc)Software development life cycles (sdlc)
Software development life cycles (sdlc)
 
Technical Debt Management
Technical Debt ManagementTechnical Debt Management
Technical Debt Management
 
Zen tao introduction
Zen tao introductionZen tao introduction
Zen tao introduction
 
Pixegon Introduction
Pixegon IntroductionPixegon Introduction
Pixegon Introduction
 
Agile overview
Agile overviewAgile overview
Agile overview
 
Transitioning from Timeboxes to Continuous Product Delivery (by Steve Stolt a...
Transitioning from Timeboxes to Continuous Product Delivery (by Steve Stolt a...Transitioning from Timeboxes to Continuous Product Delivery (by Steve Stolt a...
Transitioning from Timeboxes to Continuous Product Delivery (by Steve Stolt a...
 

Recently uploaded

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
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
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
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
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
"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
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
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
 

Recently uploaded (20)

Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
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
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
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)
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
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)
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
"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...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
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
 

Running Scrum on a non-Agile environment - Tales from a past experience" By Nuno Caneco

  • 1. Running Agile on a non-agile Environment Nuno Caneco - 2017/01/12
  • 2. Bio Nuno Caneco ● Software Engineer for 13+ years ● Scrum Practitioner since 2008 ● Scrum Master since 2009 ● Leading Software Projects since 2006
  • 3. Motivation Share the experience from executing a project using Agile under a Waterfall contract
  • 4. How it started ● Fixed scope ● Fixed delivery date (based on high level estimations) ● Waterfall-based Project Management
  • 5. Project Management Foundations Schedule Scope Budget Quality ResourcesRisk Contract Managed by Contractor (PM)
  • 6. Agile & Contracts Schedule Scope Budget Quality ResourcesRisk Fixed Contract: ● Fixed Budget ● Fixed Scope ● Fixed Schedule Waterfall Project Management The Agile way: ● Flexible Scope ● Flexible Schedule Flexible Budget
  • 7. Internal Agile - The Opportunity Using Agile would hopefully: ● Improve the flexibility within the Team ● Improve resource and time management ● Steady and frequent checkpoints ● Small and frequent victories
  • 8. Façades SupplierCustomer Sponsor PM Sponsor PM / PO ScrumMaster TTTeam Waterfall AgileWaterfall & Agile
  • 9. Combining Waterfall with Agile Requirements Design Implementation Verification Waterfall Façade Agile Façade Activities ● Close high level specs with Customer ● Epic Backlog ● Initial Product Backlog ● Refine Product Backlog ● Initial Mockups ● Sprint 0 - project structure and first lines of code ● Sprints ● Backlog Grooming ● Internal QA & Demos ● Acceptance tests with customer ● Bug fixes
  • 11. Preparing the Backlogs Functional Specification ● Modules ○ Features User Acceptance Tests ● High level UAT (not that much detailed at this point) Waterfall Façade Agile Façade Epic Backlog Product Backlog Modules mapped to Epics Features mapped to User Stories UAT mapped to Acceptance Criteria
  • 12. Epic Backlog Prioritizing Prioritize on Epics based on the following criteria: 1. Dependency to other Epics/Stories ○ Foundational epics go first ○ Epics that are dependencies to other epics go first 2. Risk & Impact ○ High risk + High Impact Epics are likely to go first ○ "Bread and butter" epics are likely to go last
  • 13. At the End of Requirements Phase The Team had: ● A Functional Specification approved by the customer ● A high level UAT document approved by the customer and ● A detailed and prioritized Epic Backlog ○ T-Shirt size estimation ● A Product Backlog with: ○ Detailed functional description ○ High level Acceptance Criteria ○ No User Story estimation
  • 15. Invariants ● Setup the Team ○ Front-end Engineers ; Back-end Engineers ; Lead Architect ● 2-week Sprints ○ Starting on Monday ; Ending on Friday (by agreement with the Team) ● Recurring appointments on the agenda: ○ Sprint Planning ○ Daily meetings ○ Sprint Demo ○ Sprint Retrospective
  • 16. Sprint Loop Day 1 Day 2 Day 3 Day 4 Day 5 Day 6 Day 7 Day 8 Day 9 Day 10 Sprint Planning [Team + SM] Backlog Grooming (Mid/long term) [SM + PO ; Team(optional)] Mock-ups & User Store detail grooming [PO + SM] Backlog Grooming (Sprint n+1) [Team + SM + PO] Sprint Demo [Team + SM + PO + PM] Sprint Retrospective [Team + SM] Sprint n
  • 17. Sprint Planning Product Backlog Sprint Backlog ● Stories are split into Tasks ● Each Task: ○ Gets estimated in hours (Estimation > 12h → Split the task) ○ Is pre-assigned to a Team Member ● Tax Tasks: ○ Backlog Grooming ○ Daily meetings ○ Sprint Demos ○ (...)● Story ID ● Description ● Estimation [Story Points] ● Mock ups ● Task ID ● Story ID ● Task Type ● Description ● Assignee ● Estimation [h] ● Time tracking
  • 18. Definition of Done Examples: ● Code on Source Control must compile and run by hitting F5 ● Tests must be implemented and passing ● Database project must be updated
  • 19. And, then by Sprint #4... We need a working BETA version in 1 month!
  • 20. Time to Adapt! ● Identify the user stories that become critical for the BETA ● Enter Kanban mode for 2 sprints to: a. Finish the features b. Install the system @ PROD Sprint #1 Sprint #2 Sprint #3 Sprint #4 Sprint #5 Sprint #6 Sprint #7 Sprint #8 (...) Scrum Scrum Scrum Scrum Scrum Kanban Kanban Scrum (...)
  • 23. Adding a QA to the Team At some point, we decided to bring in a QA into the team: ● Iterate towards the final UAT document ● Test the outcome of Previous Sprint according to UAT document ● Report bugs
  • 24. QA loop Sprint n QA: Test fixed bugs QA: Run UAT tests on new storiesTeam: Fix issues reported by QA (within saved capacity) QA: Iterate on UAT document The QA Loop was integrated with the Team Loop
  • 25. It was nice The bugs were found and fixed sooner!
  • 26. Show me some numbers!
  • 27. Some numbers ● 17x 2-week Sprints ● 5 software engineers (backend and frontend) ● 1 QA (non-permanent) ● ~210.000 lines of code ○ From which 37.000 are tests (~12%) ● 4 software applications + 1 common library
  • 30. Pros ● Guided and steady workflow ● Regular sense of completion at the end of each Sprint ● Quickly respond to change ● Pre-align epics to Sprints ● Waterfall Status Reports became really easy ○ Just use the data from Sprint Demos ● Deallocations and inefficiencies become visible ● Improved the Team buy-in on the Project
  • 31. Cons ● A bit of Management overhead ○ Map Scrum <--> Waterfall ● Higher allocation of QA Team Members ○ Early allocation to the Project
  • 32. Lessons Learned ● It's easier to run Internal Scrum if the Management buys the strategy ○ And our Management did support this strategy ● Using Kanban for stability Sprints ○ Improved the flexibility to fix issues and implement quick-but-needed features ● If properly aligned, the Waterfall artifacts can be mapped to/from Agile artifacts with minimal effort ○ Technical Specification → Epic Backlog and Product Backlog ○ Sprint Demos & Sprint Backlog → Status Reports ○ Acceptance Criteria → User Acceptance Test
  • 33. But most important Always remember that the customer did NOT buy Agile Keep the Façade Keep the fixed scope and time to the customer Allow some internal flexibility