SlideShare a Scribd company logo
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

More Related Content

What's hot

Extreme programming (xp)
Extreme programming (xp)Extreme programming (xp)
Extreme programming (xp)
Mohamed Abdelrahman
 
Agile Testing by Example
Agile Testing by ExampleAgile Testing by Example
Agile Testing by Example
Mikalai Alimenkou
 
Optimizing Your Agile Testing Processes
Optimizing Your Agile Testing ProcessesOptimizing Your Agile Testing Processes
Optimizing Your Agile Testing Processes
Stanton Champion
 
extreme Programming
extreme Programmingextreme Programming
extreme Programming
Bilal Shah
 
Test Driven Development
Test Driven DevelopmentTest Driven Development
Test Driven Development
Orbit One - We create coherence
 
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) presentation
MuaazZubairi
 
Scrum and Agile SDLC 101
Scrum and Agile SDLC 101Scrum and Agile SDLC 101
Scrum and Agile SDLC 101
Aniruddha Ray (Ani)
 
Agile scrum induction
Agile scrum inductionAgile scrum induction
Agile scrum induction
Priyank Pathak
 
Agile Development | Agile Process Models
Agile Development | Agile Process ModelsAgile Development | Agile Process Models
Agile Development | Agile Process Models
Ahsan Rahim
 
Agile testing
Agile testingAgile testing
Agile testing
Yogita patil
 
Agile testing presentation
Agile testing presentationAgile testing presentation
Agile testing presentation
Komal 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 Lutz
jazzman1980
 
Test driven development
Test driven developmentTest driven development
Test driven development
Sharafat Ibn Mollah Mosharraf
 
Introduction to Extreme Programming
Introduction to Extreme ProgrammingIntroduction to Extreme Programming
Introduction to Extreme Programming
Naresh 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 Testing
Dimitri Ponomareff
 

What's hot (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
 

Similar to IIBA and Solvera May Event - Testing w Agile slides

Scrum overview
Scrum overviewScrum overview
Scrum overview
Robert Bastian
 
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 scala
Paweł 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 2
Khoa 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 Overview
Stewart Rogers
 
Agile implementation Methodology strategy
Agile implementation Methodology strategyAgile implementation Methodology strategy
Agile implementation Methodology strategy
tatuj3030
 
Overcome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challengesOvercome-3-common-aem-delivery-challenges
Overcome-3-common-aem-delivery-challenges
iCiDIGITAL
 
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 Management
David Updike
 
Azure dev ops
Azure dev opsAzure dev ops
Azure dev ops
Tomy Rhymond
 
Performance engineering10042915
Performance engineering10042915Performance engineering10042915
Performance engineering10042915
Deepti Bhutani
 
Agile Scrum Methodology
Agile Scrum MethodologyAgile Scrum Methodology
Agile Scrum Methodology
Rajeev Misra
 
Agile Maintenance 1.0
Agile Maintenance 1.0Agile Maintenance 1.0
Agile Maintenance 1.0
Xebia IT Architects
 
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 Essay
Heidi Owens
 
How to overcome agile methodology challenges
How to overcome agile methodology challengesHow to overcome agile methodology challenges
How to overcome agile methodology challenges
BugRaptors
 
Working with Agile technologies and SCRUM
Working with Agile technologies and SCRUMWorking with Agile technologies and SCRUM
Working with Agile technologies and SCRUM
Andrea Tino
 

Similar to 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
 
Agile implementation Methodology strategy
Agile implementation Methodology strategyAgile implementation Methodology strategy
Agile implementation Methodology strategy
 
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
 

Recently uploaded

How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Product School
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
Elena Simperl
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
Thijs Feryn
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
Paul Groth
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 

Recently uploaded (20)

How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
Unsubscribed: Combat Subscription Fatigue With a Membership Mentality by Head...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...When stars align: studies in data quality, knowledge graphs, and machine lear...
When stars align: studies in data quality, knowledge graphs, and machine lear...
 
Accelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish CachingAccelerate your Kubernetes clusters with Varnish Caching
Accelerate your Kubernetes clusters with Varnish Caching
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMsTo Graph or Not to Graph Knowledge Graph Architectures and LLMs
To Graph or Not to Graph Knowledge Graph Architectures and LLMs
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 

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