Professional Documents
Culture Documents
Contents
1 WHAT IS AGILE? 0
7 CONCLUSION 14
A GLOSSARY OF TERMS 15
B RECOMMENDED READING 16
1
PRINCE2 par. 2.3: PRINCE in context
Next we will investigate how RRBT and TestFrame can be applied in an agile way and how
they are blending well into agile development methods.
Differences
Agile Conservative, plan-oriented
Outcome result guarantee process guarantee, repeatable
(Test) guiding vision, communicating Plan driven, taskmaster
Project leader
Plan Responding to change Following the Plan
Processes Simple rules & open information Defined work processes and controls
Teams Organic teams Fixed roles
Stakeholders Active Stakeholder participation upfront involvement
Design Evolving according to Stakeholder Big upfront design
Value
Delivery Short increments and frequent Delivery on the end of the project
delivery in UAT and BAT to real users
RRBT practices RRBT Risk Orientation – Complimentary to the Agile Project Management principle of
supporting Agile mitigating Product Risks (mostly architectural) at an early stage.
Product Risk Assessment & Classification – By classifying according to ISO9126 standard
RRBT provides a sound basis for an Agile Test Strategy.
Combining Product Risks and Requirements to determine Priorities – This fundamental
RRBT practice provides Agile Project Management with an excellent tool to manage risks and
to deliver the most valuable requirements first.
Risk Visibility – Since key Stakeholders are actively involved it is much easier to synthesize
both risks and requirements to reach a cohesive baseline. RRBT emphasizes the need for
quality, face-to-face interaction with Stakeholders to identify and prioritize risk. RRBT
supports continuous reporting to individual stakeholders, linking individual risk and the
associated mitigations to the stakeholders concerned.
Traceability – Both product Requirements and product Risks need to be traceable to the Test
Cases and Test Conditions that validate them. Getting this right is one of the greatest
challenges within an Agile project. RRBT supports this by supplying practical guidelines.
RRBT Cluster Cards – matches closely with SCRUM Feature Groups.
SCRUM Sprints (iterations) – are supported by RRBT/TestFrame Strategic Test Slicing
Method (STSM)
Active Stakeholder Participation – Since key Stakeholders are actively involved it is much
Agile practices easier to synthesize both risks and requirements to reach a cohesive vision as well as a
supporting RRBT cohesive set of requirements and risks to base testing on.
User story –creation and refinement is supported through workshops.
Acceptance tests – are supported by involving customer subject matter experts to create Test
Cases and their variants. Once automated the Test Cases are run frequently for regression
monitoring purposes.
Tracking Product Tracking product quality development is one of many features of TestFrame that can be used
to support Agile Testing. In most cases your Stakeholders are not interested in the exact
Quality Development
amount of defects found in the software. They are interested in the continuous build-up of
quality in the system they have sponsored. TestFrame can provide this even in the most agile
environments by tracking the quality per Use Case by simply (hyper)linking simple Test Cases
(as described above) into the PQM sheet at the row named TestFrame ‘Test Condition’.
Reasons to document Stakeholders require it - One increasingly important reason to document is the business need
for compliance. You need to work closely with your stakeholders to determine what they
actually need and more importantly, why do they need it? There may be an alternative that
will use less effort, or the documentation required for several stakeholders can be combined.
You should discuss the form in which specific documented proof is required.
Regulatory Compliancy - this may be driven by Sarbanes Oxley (SOX), BASEL-II, SAS70
or any other external compliancy obligation, as well as compliancy with internal agreed
standards. In these situations you need evidence that a defined process has been followed
correctly. You still want to create adequate and just good enough – and not more than this -
documentation to get the job done; this time including evidence for proof of compliance. A
sound piece of advice is to read the appropriate guidelines yourself, because they rarely
require what bureaucrats think they require. Be smart about compliance, often there is an
alternative that will cost much less in effort. Maybe the compliance officer will accept
something like a photograph of a sketch on a whiteboard as proof. Sometimes a digital photo
proves more to an auditor than an unsigned report using a lengthy and formal template issued
by means of an unsigned e-mail to the project manager.
Interfaces - It is important to define how systems interact with one another, because the
interfaces between them are hand-over points of responsibility. Interfaces are a contract that
both system owners should mutually agree to, document, and change over time if required.
Support of communication - It is not always possible to locate the test team, the development
team and the project stakeholders at the same place. Agile projects in particular need to find
ways to communicate Test Ware. However shared documentation is often part of the solution,
but it easily leads to misunderstandings, although, it is a good supporting mechanism. Always
combine written documentation with occasional face to face discussions, teleconferencing,
email and collaborative tools.
Knowledge Management - Another important reason to document is to record knowledge
(organizational memory) so passing on lessons learned and best practice to other projects and
personnel.
2
See also: IEEE Std 829 Standard for Software Test Documentation [IEEE 829]
RRBT/TestFrame Phases
1. Preparation Test Analysis 3. Test execution
Preparation TestManagement file Test Case execution
Standards and guidelines Regression testing
Definition of Test clusters and Prioritisation Test Runs and PCM
Reporting quality development
Issue management
2. Test design and Test Analysis 4. Transfer to maintenance
Test Techniques Regression test suite
Test cluster analysis
The role of the Tester The role of the tester in an Agile project is to add value by thinking about the system from the
viewpoint of those who are going to use it but with a grasp of details, possibilities, and
constraints of those building it.
A Tester:
• Brings a unique combination of business and technical viewpoints and specialized skills
• Supports risk management through direction and prioritisation of testing and provides
checks and priority schemes using RRBT
• Is more efficient at finding defects, because they focus on it
• Finds different types of defects than developers do
• Provides a critical view of the system, helping the team avoid complacency and remain
focussed on delivering business value
• Facilitates communication both inside and outside the team
The tester role and testing functions must be integrated with the requirements and
development teams. An isolated testing function in which testers are involved only at the end
of the development phase will not work.
The main Scrum controls are Risk and Backlog (Requirements). RRBT TestManagement
complements and strengthens these controls with its Risk & Requirement based approach.
Also RRBT Test Monitoring and Test Progress and Quality Reports can be a substantial
support for Scrum projects.
Another important characteristic of Scrum is the constant testing and appropriate
documentation of a product-as it is built. This enables the team to demonstrate the tested
product increment to the customer at the end of each Sprint (Iteration) and getting valuable
feedback. This practice also builds confidence and trust across the team and between team and
sponsors.
SCRUM RRBT/TestFrame
1. Product Backlog Risk Analysis, Test preparation & Cluster analysis (Release planning)
2. Sprint backlog Cluster Analysis (individual User stories) and choice of appropriate test
techniques for cluster
4. SCRUM Cycle Test case execution, Report on Product Quality, Test Case refinement,
Test Runs and Regression testing
TestFrame inside XP When doing Acceptance tests on traditional software projects it is common to find technical
faults at unit or integration level because of code that has never been tested at the unit or
integration level. This is a very expensive and inefficient way to find faults that were probably
introduced at quite an early stage of the project and can easily consume the time allocated for
system and acceptance testing. XP avoids this scenario by one hundred percent component test
automation and continuous integration practices.
XP RRBT/TestFrame
1. Release Planning Risk Analysis, Test preparation & Cluster analysis (Release planning). The
Tester negotiates quality with the customer and helps to Estimate
acceptance-test time.
2. User Stories Planning Cluster Analysis (individual User stories) and choice of appropriate test
techniques for cluster testing.
3. User Stories Creation Initial Test Case development, create effective tests before coding begins.
Identify and make explicit hidden assumptions in the User Stories. The
Tester helps to clarify the proposed User Stories and adds Variants and
exceptions to it
4. Acceptance Tests Test case execution, Report on Quality, Test Case refinement, Test Runs
and Regression testing. The XP Tester makes sure acceptance tests meet
the quality negotiated with and specified by the customer.
This includes: functional, load, stress, performance, compatibility, security,
and anything not covered by unit and integration tests. Once an acceptance
test passes, it should never fail on re-tests.