SlideShare uma empresa Scribd logo
1 de 28
1
Outline
„  Level Set on What Is Agile
„  Level Set on Life Cycles
„  Start with the Ideal: Software Development
„  Bring It Up a Level: Solution Delivery
„  Talk About the Challenges of Enterprise Agile
„  Talk About the Agile Goodness to Harvest, Now
2
What Is Agile
The Myth The Reality
It’s Faster It’s Faster to First Benefit, Not
Faster to All Benefits
Requirements? Design?
Documentation? Planning? Nah.
Yes, Some Up Front and then
Refine Continually.
Needs Heroes Needs Discipline
No Project Manager Project Manager with an Emphasis
on Leadership
No Risk Management Retrospectives and Frequent
Interaction with the Business
No Budget Initial Budget is Refined based on
Actual Experience.
3
What Is Scrum
From: http://msdn.microsoft.com/en-us/library/dd997796(v=VS.100).aspx
A Collection of Life Cycles
„  Solution Acquisition Life Cycle
„  Solution Delivery Life Cycle
„  Software Development Life Cycle
4
Do Scrum and Agile Apply to All Life Cycles?
5
Scrum for Software Development
„  The Up Front Stuff
„  Product Backlog/Impact Map/Story Map
„  Release Plan
„  High Level Design
„  Team Organization
„  Expect Adjustments
„  Development System Setup and Testing
„  Test By Building A Real Feature
„  The Rest of the Sprints
„  Plan the Sprint (select from story map)
„  Build and Test (with the business)
„  Test Everything from Previous Sprints (with the business)
} Iteration Zero
6
Scrum for Software Development (cont.)
„  Iterative
„  Evolving the Deliverables Created to Date
„  Evolving the Documents/Features Already Delivered and
Accepted
„  Iterating means re-testing and therefore demands automation
„  Incremental
„  Delivering Features and/or Benefits One at a Time
„  Accepting Features and/or Benefits One at a Time
7
Agile Testing – Story Level Tests
„  Use Examples to Describe a Feature
„  Implement Examples in a Test Automation Tool
„  Demand a Testable Architecture
„  Array of Choices:
„  Inside/Outside the GUI
„  Table/Scenario/Keyword Driven (i.e., Fitnesse/Cucumber/
RobotFramework)
„  User acceptance testing (UAT) is part of every sprint,
not a critical path phase after delivery
8
Agile Testing – Unit Level Tests
„  Prescribe the design element in the form of
automated tests
„  Finish implementing the design element when all the
tests pass
„  Maintain these tests just like they are production
code
9
Agile Testing – All Tests
„  These must be automated since they can be run
hundreds or even thousands of times
„  Simple experiment was to create a logging version of
a popular test automation framework and have
developers use that, then analyze the generated log
files.
„  Even a simple CRUD feature involved running some tests over
one hundred times.
10
Agile Testing – The Difference
„  Initially it’s not about ‘testing’ but rather using testing
skills for different purposes:
„  To better understand requirements (story level tests) using
examples. As many examples as we can imagine for any given
requirement.
„  To better explain a design (unit level tests). These are also
examples, specifically examples of how components should interact
with one another or how a specific programming unit should behave.
„  THEN the usage of those tests changes
„  For refactoring – improving the design without changing the
behaviour
„  For regression testing – enabling changing or adding features without
stress by re-running the tests quickly
„  It’s valuing mean time to repair (MTTR) over mean time
between failures (MTBF)
„  It means establishing a cadence
11
Agile Testing – More Differences
„  The Product Manager Chooses the Features/Benefit
to Deliver in a Sprint
„  A Feature/Benefit Doesn’t Exist Unless Tests For that
Feature/Benefit Exist (story level and unit level)
„  A Developer Automates Tests First as a Means of
„  Better Understanding the Requirements (Story Level Tests)
„  Determining and Communicating the Design (Unit Level Tests)
Everyone on the Team is a Developer
That’s Right, No Business Analysts or Testers
12
Scrum for Software Development (cont.)
„  Solution: Pairing
„  BA-oriented developer “pairs” with a coding-oriented developer and
this is considered GOOD
„  Test-oriented developer “pairs” with a coding-oriented developer
and this is also considered GOOD
„  BA-oriented developer “pairs” with a test-oriented developer and
this too is considered GOOD
„  Solution: Feature Advocacy
„  Team plans the sprint together, reviews each feature/benefit that
has been designated for the sprint
„  All skills contributing together up-front, everyone understands the
tasks that contribute to the sprint
„  Individual strengths and preferences are expressed in what tasks one
chooses to complete for the sprint and in “coaching” others
13
Scrum for Software Development (cont.)
„  The Product Manager Accepts and Demonstrates the
Features/Benefits Delivered in a Sprint
„  This is HARD. It is not easy accepting a feature/benefit when the
entire solution is not yet complete.
„  This is REALLY HARD. It is not easy accepting a feature/benefit
on behalf of others that are not in the room.
„  A Retrospective (a form of testing) Gives the Team a
Chance to Improve for the Next Sprint
14
Example: The Enterprise App Store
What Would It Take to Build from Scratch?
15
Example: The Enterprise App Store (cont.)
Story Template Story Test Template
As a <blank>
I want to <blank>
so that <blank>
Given <blank>
when <blank>
then <blank>
16
Example: The Enterprise App Store (cont.)
Story Story Test
„  As the store manager
I want to review submitted
apps
so that I can approve or
reject as per policy
„  Given an app and a
registered dev,
when they submit it for
review
then it appears on the to-
be-approved app listing
„  Given an app on the to-be-
approved app listing
when the store manager
approves it
then it should appear in the
new app listing
17
Scrum for Solution Delivery
„  Commercial Off-the-Shelf (COTS) implementations
„  Delivery combines installation, configuration,
customization, and perhaps integration of the
package
18
Sidebar: What Happens During UAT When a
Problem/Issue is Discovered?
„  Whole Team Approach; Problem is immediately ‘triaged’ by
business and technical people together. Best team/member
to resolve picks up the problem.
„  Could be problem/issue with training materials
„  Could be the business process that is wrong
„  Could be the software and it truly is a ‘defect’
„  Backlog; Problem is grouped with other problems and work
is prioritized; team can’t work on them all but works on as
many as they can.
„  Acceptance; Business users/customer accepts the
resolutions to the feature within the phase. Project
continues.
19
Sidebar: What Happens During UAT When a
Problem/Issue is Discovered? (cont.)
„  Duration; a typical UAT phase for an enterprise project is 2-4
weeks. A typical Scrum sprint is 2-4 weeks.
„  Now replace the term ‘problem/issue’ in this conversation
with ‘need/gap’.
„  Now string 10 of these ‘UAT’ phases together with planning/
adapting workshops in between to steer the project.
„  What do you get?
„  Yup. You get an agile project.
20
Scrum for Solution Delivery
„  The Up Front Stuff
„  Product Backlog/Road Map/Story Map
„  Release Plan
„  High Level Design
„  Team Organization
„  Expect Adjustments
„  Development System Setup and Testing
„  Test By Building A Real Feature
„  The Rest of the Sprints
„  Plan the Sprint (select from story map)
„  Build and Test (with the business)
„  Test Everything from Previous Sprints (with the business)
Challenges …
21
Scrum for Solution Delivery (cont.)
„  Iterative
„  Evolving the Deliverables Created to Date
„  Evolving the Documents/Features Already Delivered and
Accepted
„  Iterating means re-testing and therefore demands test
automation and in a package development environment, does
not always exist
„  Incremental
„  Delivering Features and/or Benefits One at a Time
„  Accepting Features and/or Benefits One at a Time
22
Scrum for Solution Delivery (cont.)
„  The Product Manager Chooses the Features/Benefit
to Deliver in a Sprint
„  A Feature/Benefit Doesn’t Exist Unless Tests For that
Feature/Benefit Exist (story level and unit level)
„  A Developer Automates Tests First as a Means of
„  Better Understanding the Requirements (Story Level Tests)
„  Determining and Communicating the Design (Unit Level Tests)
23
Scrum for Solution Delivery (cont.)
„  The Product Manager Accepts and Demonstrates the
Features/Benefits Delivered in a Sprint
„  This is HARD. It is not easy accepting a feature/benefit when the
entire solution is not yet complete.
„  This is REALLY HARD. It is not easy accepting a feature/benefit
on behalf of others that are not in the room.
„  A Retrospective (a form of testing) Gives the Team a
Chance to Improve for the Next Sprint
24
Example: The Enterprise App Store
„  What Would It Take to Buy a Package and Implement
the Enterprise App Store based on that Package?
„  Do We Create the Story Map?
„  Use Product Backlog/Impact Maps/Story Maps to
describe what’s needed?
„  Release Planning?
„  Sprint Planning?
Yes
25
Example: The Enterprise App Store (cont.)
„  Story Level Tests?
„  Unit Level Tests?
Harder
26
Summary
As an agile team member,
I want to have testing skills
So that I can express requirements using examples
Given an agile project
when the team releases a new feature
then tests describing that feature are also released
For package implementations, there are challenges
that would be a competitive advantage if they were
worked out:
„  test automation
„  the product manager role
27
Summary (cont.)
„  Testing skills are more useful than ever in describing
requirements
„  To see the difference, if any, convert a set of requirements you
are familiar with to the given-when-then style
„  All of a sudden, by understanding the requirements better, you
have built the test plan for that requirement … and in the right
context you have already built the regression suite for that
requirement
„  Testing skills are more useful than ever in delivering
quality code
„  Quality as measured by testability and maintainability at a
minimum
28
Questions
„  adam.geras@solvera.ca
„  @testfirst

Mais conteúdo relacionado

Mais procurados

Optimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesOptimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesStanton Champion
 
extreme Programming
extreme Programmingextreme Programming
extreme ProgrammingBilal Shah
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?Anand Bagmar
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationMuaazZubairi
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process ModelsAhsan Rahim
 
Agile testing presentation
Agile testing presentationAgile testing presentation
Agile testing presentationKomal Garg
 
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
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutzjazzman1980
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme ProgrammingNaresh Jain
 
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
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingDimitri Ponomareff
 

Mais procurados (20)

Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
 
Optimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesOptimizing Your Agile Testing Processes
Optimizing Your Agile Testing Processes
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
 
What is Agile Testing?
What is Agile Testing?What is Agile Testing?
What is Agile Testing?
 
Xp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentationXp(Xtreme Programming) presentation
Xp(Xtreme Programming) presentation
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
 
Agile scrum induction
Agile scrum inductionAgile scrum induction
Agile scrum induction
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
 
Agile testing
Agile testingAgile testing
Agile testing
 
Agile testing presentation
Agile testing presentationAgile testing presentation
Agile testing presentation
 
Agile software development and extreme Programming
Agile software development and extreme Programming  Agile software development and extreme Programming
Agile software development and extreme Programming
 
Test Driven Development by Denis Lutz
Test Driven Development by Denis LutzTest Driven Development by Denis Lutz
Test Driven Development by Denis Lutz
 
Test driven development
Test driven developmentTest driven development
Test driven development
 
Why Agile
Why AgileWhy Agile
Why Agile
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
 
Agile Development
Agile DevelopmentAgile Development
Agile Development
 
ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)ABC of Agile (Scrum & Extreme Programming)
ABC of Agile (Scrum & Extreme Programming)
 
Agile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated TestingAgile Testing Framework - The Art of Automated Testing
Agile Testing Framework - The Art of Automated Testing
 

Semelhante a IIBA and Solvera May Event - Testing w Agile slides

Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2shankar chinn
 
Testing practicies not only in scala
Testing practicies not only in scalaTesting practicies not only in scala
Testing practicies not only in scalaPaweł Panasewicz
 
Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2Khoa Bui
 
QA Challenges in an Agile World
QA Challenges in an Agile WorldQA Challenges in an Agile World
QA Challenges in an Agile WorldYousef Abazari
 
Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Guang Ying Yuan
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development OverviewStewart Rogers
 
Overcome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challengesOvercome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challengesiCiDIGITAL
 
Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager
Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager
Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager Mark Kelley
 
Benefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementBenefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementDavid Updike
 
Performance engineering10042915
Performance engineering10042915Performance engineering10042915
Performance engineering10042915Deepti Bhutani
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum MethodologyRajeev Misra
 
Agile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant VashishthaAgile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant VashishthaShriKant Vashishtha
 
The Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayThe Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayHeidi Owens
 
How to overcome agile methodology challenges
How to overcome agile methodology challengesHow to overcome agile methodology challenges
How to overcome agile methodology challengesBugRaptors
 
Working with Agile technologies and SCRUM
Working with Agile technologies and SCRUMWorking with Agile technologies and SCRUM
Working with Agile technologies and SCRUMAndrea Tino
 
manual-testing
manual-testingmanual-testing
manual-testingKanak Mane
 

Semelhante a IIBA and Solvera May Event - Testing w Agile slides (20)

Scrum overview
Scrum overviewScrum overview
Scrum overview
 
Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2Agile software-development-overview-1231560734008086-2
Agile software-development-overview-1231560734008086-2
 
Testing practicies not only in scala
Testing practicies not only in scalaTesting practicies not only in scala
Testing practicies not only in scala
 
Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2Software testing interview Q&A – Part 2
Software testing interview Q&A – Part 2
 
QA Challenges in an Agile World
QA Challenges in an Agile WorldQA Challenges in an Agile World
QA Challenges in an Agile World
 
Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2Agile Software Development Overview 1231560734008086 2
Agile Software Development Overview 1231560734008086 2
 
Agile Software Development Overview
Agile Software Development OverviewAgile Software Development Overview
Agile Software Development Overview
 
Overcome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challengesOvercome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challenges
 
Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager
Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager
Case Study: Time Warner Cable's Formula for Maximizing Adobe Experience Manager
 
Benefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior ManagementBenefits of Agile Software Development for Senior Management
Benefits of Agile Software Development for Senior Management
 
Quality Assurance Process
Quality Assurance ProcessQuality Assurance Process
Quality Assurance Process
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
 
Performance engineering10042915
Performance engineering10042915Performance engineering10042915
Performance engineering10042915
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
 
Agile Maintenance 1.0
Agile Maintenance 1.0Agile Maintenance 1.0
Agile Maintenance 1.0
 
Agile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant VashishthaAgile Maintenance by ShriKant Vashishtha
Agile Maintenance by ShriKant Vashishtha
 
The Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool EssayThe Agile Readiness Assessment Tool Essay
The Agile Readiness Assessment Tool Essay
 
How to overcome agile methodology challenges
How to overcome agile methodology challengesHow to overcome agile methodology challenges
How to overcome agile methodology challenges
 
Working with Agile technologies and SCRUM
Working with Agile technologies and SCRUMWorking with Agile technologies and SCRUM
Working with Agile technologies and SCRUM
 
manual-testing
manual-testingmanual-testing
manual-testing
 

Último

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Último (20)

Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

IIBA and Solvera May Event - Testing w Agile slides

  • 1. 1 Outline „  Level Set on What Is Agile „  Level Set on Life Cycles „  Start with the Ideal: Software Development „  Bring It Up a Level: Solution Delivery „  Talk About the Challenges of Enterprise Agile „  Talk About the Agile Goodness to Harvest, Now
  • 2. 2 What Is Agile The Myth The Reality It’s Faster It’s Faster to First Benefit, Not Faster to All Benefits Requirements? Design? Documentation? Planning? Nah. Yes, Some Up Front and then Refine Continually. Needs Heroes Needs Discipline No Project Manager Project Manager with an Emphasis on Leadership No Risk Management Retrospectives and Frequent Interaction with the Business No Budget Initial Budget is Refined based on Actual Experience.
  • 3. 3 What Is Scrum From: http://msdn.microsoft.com/en-us/library/dd997796(v=VS.100).aspx
  • 4. A Collection of Life Cycles „  Solution Acquisition Life Cycle „  Solution Delivery Life Cycle „  Software Development Life Cycle 4 Do Scrum and Agile Apply to All Life Cycles?
  • 5. 5 Scrum for Software Development „  The Up Front Stuff „  Product Backlog/Impact Map/Story Map „  Release Plan „  High Level Design „  Team Organization „  Expect Adjustments „  Development System Setup and Testing „  Test By Building A Real Feature „  The Rest of the Sprints „  Plan the Sprint (select from story map) „  Build and Test (with the business) „  Test Everything from Previous Sprints (with the business) } Iteration Zero
  • 6. 6 Scrum for Software Development (cont.) „  Iterative „  Evolving the Deliverables Created to Date „  Evolving the Documents/Features Already Delivered and Accepted „  Iterating means re-testing and therefore demands automation „  Incremental „  Delivering Features and/or Benefits One at a Time „  Accepting Features and/or Benefits One at a Time
  • 7. 7 Agile Testing – Story Level Tests „  Use Examples to Describe a Feature „  Implement Examples in a Test Automation Tool „  Demand a Testable Architecture „  Array of Choices: „  Inside/Outside the GUI „  Table/Scenario/Keyword Driven (i.e., Fitnesse/Cucumber/ RobotFramework) „  User acceptance testing (UAT) is part of every sprint, not a critical path phase after delivery
  • 8. 8 Agile Testing – Unit Level Tests „  Prescribe the design element in the form of automated tests „  Finish implementing the design element when all the tests pass „  Maintain these tests just like they are production code
  • 9. 9 Agile Testing – All Tests „  These must be automated since they can be run hundreds or even thousands of times „  Simple experiment was to create a logging version of a popular test automation framework and have developers use that, then analyze the generated log files. „  Even a simple CRUD feature involved running some tests over one hundred times.
  • 10. 10 Agile Testing – The Difference „  Initially it’s not about ‘testing’ but rather using testing skills for different purposes: „  To better understand requirements (story level tests) using examples. As many examples as we can imagine for any given requirement. „  To better explain a design (unit level tests). These are also examples, specifically examples of how components should interact with one another or how a specific programming unit should behave. „  THEN the usage of those tests changes „  For refactoring – improving the design without changing the behaviour „  For regression testing – enabling changing or adding features without stress by re-running the tests quickly „  It’s valuing mean time to repair (MTTR) over mean time between failures (MTBF) „  It means establishing a cadence
  • 11. 11 Agile Testing – More Differences „  The Product Manager Chooses the Features/Benefit to Deliver in a Sprint „  A Feature/Benefit Doesn’t Exist Unless Tests For that Feature/Benefit Exist (story level and unit level) „  A Developer Automates Tests First as a Means of „  Better Understanding the Requirements (Story Level Tests) „  Determining and Communicating the Design (Unit Level Tests) Everyone on the Team is a Developer That’s Right, No Business Analysts or Testers
  • 12. 12 Scrum for Software Development (cont.) „  Solution: Pairing „  BA-oriented developer “pairs” with a coding-oriented developer and this is considered GOOD „  Test-oriented developer “pairs” with a coding-oriented developer and this is also considered GOOD „  BA-oriented developer “pairs” with a test-oriented developer and this too is considered GOOD „  Solution: Feature Advocacy „  Team plans the sprint together, reviews each feature/benefit that has been designated for the sprint „  All skills contributing together up-front, everyone understands the tasks that contribute to the sprint „  Individual strengths and preferences are expressed in what tasks one chooses to complete for the sprint and in “coaching” others
  • 13. 13 Scrum for Software Development (cont.) „  The Product Manager Accepts and Demonstrates the Features/Benefits Delivered in a Sprint „  This is HARD. It is not easy accepting a feature/benefit when the entire solution is not yet complete. „  This is REALLY HARD. It is not easy accepting a feature/benefit on behalf of others that are not in the room. „  A Retrospective (a form of testing) Gives the Team a Chance to Improve for the Next Sprint
  • 14. 14 Example: The Enterprise App Store What Would It Take to Build from Scratch?
  • 15. 15 Example: The Enterprise App Store (cont.) Story Template Story Test Template As a <blank> I want to <blank> so that <blank> Given <blank> when <blank> then <blank>
  • 16. 16 Example: The Enterprise App Store (cont.) Story Story Test „  As the store manager I want to review submitted apps so that I can approve or reject as per policy „  Given an app and a registered dev, when they submit it for review then it appears on the to- be-approved app listing „  Given an app on the to-be- approved app listing when the store manager approves it then it should appear in the new app listing
  • 17. 17 Scrum for Solution Delivery „  Commercial Off-the-Shelf (COTS) implementations „  Delivery combines installation, configuration, customization, and perhaps integration of the package
  • 18. 18 Sidebar: What Happens During UAT When a Problem/Issue is Discovered? „  Whole Team Approach; Problem is immediately ‘triaged’ by business and technical people together. Best team/member to resolve picks up the problem. „  Could be problem/issue with training materials „  Could be the business process that is wrong „  Could be the software and it truly is a ‘defect’ „  Backlog; Problem is grouped with other problems and work is prioritized; team can’t work on them all but works on as many as they can. „  Acceptance; Business users/customer accepts the resolutions to the feature within the phase. Project continues.
  • 19. 19 Sidebar: What Happens During UAT When a Problem/Issue is Discovered? (cont.) „  Duration; a typical UAT phase for an enterprise project is 2-4 weeks. A typical Scrum sprint is 2-4 weeks. „  Now replace the term ‘problem/issue’ in this conversation with ‘need/gap’. „  Now string 10 of these ‘UAT’ phases together with planning/ adapting workshops in between to steer the project. „  What do you get? „  Yup. You get an agile project.
  • 20. 20 Scrum for Solution Delivery „  The Up Front Stuff „  Product Backlog/Road Map/Story Map „  Release Plan „  High Level Design „  Team Organization „  Expect Adjustments „  Development System Setup and Testing „  Test By Building A Real Feature „  The Rest of the Sprints „  Plan the Sprint (select from story map) „  Build and Test (with the business) „  Test Everything from Previous Sprints (with the business) Challenges …
  • 21. 21 Scrum for Solution Delivery (cont.) „  Iterative „  Evolving the Deliverables Created to Date „  Evolving the Documents/Features Already Delivered and Accepted „  Iterating means re-testing and therefore demands test automation and in a package development environment, does not always exist „  Incremental „  Delivering Features and/or Benefits One at a Time „  Accepting Features and/or Benefits One at a Time
  • 22. 22 Scrum for Solution Delivery (cont.) „  The Product Manager Chooses the Features/Benefit to Deliver in a Sprint „  A Feature/Benefit Doesn’t Exist Unless Tests For that Feature/Benefit Exist (story level and unit level) „  A Developer Automates Tests First as a Means of „  Better Understanding the Requirements (Story Level Tests) „  Determining and Communicating the Design (Unit Level Tests)
  • 23. 23 Scrum for Solution Delivery (cont.) „  The Product Manager Accepts and Demonstrates the Features/Benefits Delivered in a Sprint „  This is HARD. It is not easy accepting a feature/benefit when the entire solution is not yet complete. „  This is REALLY HARD. It is not easy accepting a feature/benefit on behalf of others that are not in the room. „  A Retrospective (a form of testing) Gives the Team a Chance to Improve for the Next Sprint
  • 24. 24 Example: The Enterprise App Store „  What Would It Take to Buy a Package and Implement the Enterprise App Store based on that Package? „  Do We Create the Story Map? „  Use Product Backlog/Impact Maps/Story Maps to describe what’s needed? „  Release Planning? „  Sprint Planning? Yes
  • 25. 25 Example: The Enterprise App Store (cont.) „  Story Level Tests? „  Unit Level Tests? Harder
  • 26. 26 Summary As an agile team member, I want to have testing skills So that I can express requirements using examples Given an agile project when the team releases a new feature then tests describing that feature are also released For package implementations, there are challenges that would be a competitive advantage if they were worked out: „  test automation „  the product manager role
  • 27. 27 Summary (cont.) „  Testing skills are more useful than ever in describing requirements „  To see the difference, if any, convert a set of requirements you are familiar with to the given-when-then style „  All of a sudden, by understanding the requirements better, you have built the test plan for that requirement … and in the right context you have already built the regression suite for that requirement „  Testing skills are more useful than ever in delivering quality code „  Quality as measured by testability and maintainability at a minimum