pragmatic testing in agile projects dr stuart reid testing solutions group...
TRANSCRIPT
Pragmatic Testing in Agile Projects
Dr Stuart ReidTesting Solutions Group
Test Management Summit, London28th January, 2009
The Agile Manifesto
That is, while there is value in the items on the right, we value the items on the left more.”
comprehensive documentation
processes and toolsover
contract negotiation
following a planover
over
over
“In AGILE we value…
Working software
Responding to change
Customer collaboration
Individuals & interactions
Agile Principles
• Incremental development– delivering a series of (useful, usable) deliveries;
• Iterative development– allowing requirements to evolve and be added to;– responding quickly to new business priorities;
• People-oriented development– people’s qualities rather than heavy process; – allowing the agile team to manage themselves;– daily interaction between developers and the business;
• Technical excellence and built-in quality– personal responsibility, craftsmanship and simplicity;
• Lean approach– Measure progress by delivered product;– Minimise waste.
Reason for adopting agile Actual benefits realised
1 Accelerate time to market 1 Manage change
2 Manage change 2 Visibility
3 Increase productivity 3 Improve morale
4 Enhance quality 4 Align IT and business
5 Align IT and business 5 Enhanced quality
6 Improve visibility 6= Time to market
7 Reduce risk 6= Increase productivity
8 Simplify process 8 Simplify process
9 Other reason – not disclosed 9 Engineering discipline
10 Increase engineering discipline 10 Enhance maintainability
11 Reduce cost 11 Reduce risk
12 Enhance maintainability 12 Reduce cost
13 Improve morale 13 Manage distributed teams
“The State of Agile Development Survey”, 2008 (2319 respondents)
An Agile Approach
Business Requirements
Business Requirements
Business Requirements
Business Requirements
Business Requirements
Business Requirements
Business Requirements
Business Requirements
EVOLVING BUSINESS REQUIREMENTS
Sprint nSprint 1 Sprint 2 Sprint 3
INCREMENTAL PRODUCT DELIVERY
PRODUCT BACKLOG
sprint retrospectiv
e
Development & Test Option 1
Sprint Backlog
Product Backlog
Product Backlog
Sprint Backlog
OPERATIONAL SOFTWAREOPERATIONAL SOFTWARE
Development & Test Option 2
v1
Test 1 TTest 2V1.
1
v2
V2.
1
Developing v2Developing v2(includes tdd + (includes tdd +
continuouscontinuous
regressionregression test)test)
RegressionRegressionTestTest
AcceptanceAcceptanceTestTest
StoryStoryRe-testRe-test
V1.1V1.1
StoryStoryTestTestV1V1
TestTestPrepPrepv1v1
Sprint 1 SpriSprint 2
Debugging Debugging v1» v1.1v1» v1.1
Dev Sprint 4
Dev Sprint 5
Development & Test Option 3
Dev Sprint 1
Dev Sprint 2
Dev Sprint 3
Test Sprint
v1.1
OPERATIONALOPERATIONALSOFTWARESOFTWARE
RegressionRegressionTestTest
AcceptanceAcceptanceTestTest
StoryStoryRe-testRe-test
V1.1V1.1
StoryStoryTestTestV1V1
TestTestPrepPrepv1v1
DebugDebugV1 V1 v1.1 v1.1
Agile Optimisation
• Factors and constraints will be unique to your organisation– ...plus variables for your project (as each project
is unique)– ...lead to options for your agile projects
• How do you identify the unique balance of options that is optimal for your project?
Non-Optional for Agile?
• Iterative development– gives you: responsive to change, time to market,
etc.
• Incremental development– gives you: time to market, visibility, etc.
• Management Support– gives you: morale, freedom from interruptions, etc.
• Culture of Trust– gives you: productivity, quality, etc.
• Daily Scrums– gives you: visibility, common understanding, etc.
Agile Options (1 of ?)
What’s Needed Project Option What You Get
Customer involvement in sprintGood sprint managementAll roles available in sprint
Development & Test Option 1(All testing in the sprint)
Fast time to marketResponsive to change
Later customer involvement for UATSeparate development and test rolesContinuous test and development neededBranching (version management)
Development & Test Option 2(Parallel test sprints)
Slower time to marketLess responsiveness
??? Development & Test Option 3(Occasional test sprints)
???
Let’s Look at Further Agile Options...
What’s Needed Project Option What you get