A business analysts' experience with Scrum / agile projects.
This presentation provides an overview of a process that supplements Scrum, by adding roles and activities for testers, writers, deployment manager, system architect, UI designer and a business analyst.
3. Introduction
11/19/2019 LAMBI 3 of 20
• This presentation provides an overview of my latest book, ‘Using Agile
In A Quality Driven Environment’
• It introduces the reader to activities that are not documented in the
Scrum framework, whose purpose is to add quality to the product
• It is written from the point of view of a Business Analyst’s experience
of working with agile development teams
• It captures the activities that a business analyst performs
• It captures activities played by other roles that are not recognized by
Scrum
• It describes the Quality Through Pictures With Scrum process
4. Quality
11/19/2019 LAMBI 4 of
• Definition of quality used in the Quality With Agile Through Pictures
process
• How well does the product satisfy the customer?
• (Not the same as how well does the product do what the customer requested)
• Measuring the quality of a product
• Does it crash? Measure how much downtime the customer experiences
• How well does it satisfy the customer need? Measure how long and how many clicks,
it takes a user to complete an operation
• How much training is required? Measure how long it takes a user to learn to become
efficient with using the system
• How much maintenance is needed? Measure how much money is spent maintaining
the hardware and software in order to keep the customer satisfied (includes the cost
to deploy new releases)
5. • The Scrum process framework
includes 2 backlogs, a
product owner, development
team and a Scrum master
• The process describes how
to transfer product backlog
items into an incremental
build over several iterations,
called sprints
• The formal activities in the process are named sprint planning, daily scrum,
sprint retrospective and sprint review
• Other activities are performed by roles as necessary in order to achieve the
goal of producing software (backlog grooming for example)
Scrum Process
6. Team Logistics
• Environments that I am familiar with:
• The customer is remote - The product owner (or similar role) acts as a proxy for the
customer
• The development team is remote - Many companies do not have a co-located IT
department; software development may be subcontracted to a development team at
a remote location
• Quality assurance is a separate department that is a shared resource across all
departments – Acceptance testing is performed after the sprint is complete
• UX experts design a common user interface experience across the whole enterprise –
UI design is delivered as mockups during sprint planning
• Software deployment requires integration with hardware and software components
already installed at the customer location – Deployment occurs after acceptance
testing
• Documentation is part of a product release - User manuals and release notes written
for both internal and external stakeholders, are delivered with the product
7. Quality Through Pictures With Scrum
• The Quality Through Pictures With Scrum process includes everything
described by the Scrum process framework
• In addition it introduces 8 formal activities for:
• Eliciting business needs to produce items for the product backlog
• Grooming the product backlog
• Maintaining a model of the system and its requirements
• Designing a solution architecture
• Designing the user interface
• Testing a build
• Deploying a build
• Documenting a release
8. Roles
11/19/2019 LAMBI 8 of
• Roles describe the responsibilities assigned to people who are involved in
the process. This process introduces several new roles to the Agile Through
Pictures process
• Business analyst – is responsible for requirements and may serve as a proxy for the
stakeholder or Subject Matter Expert (SME)
• Deployment Manager – is responsible for maintenance of the customer product
environment, which includes deploying new releases
• Quality assurance – is responsible for ensuring the quality of every component that is
used during the delivery of a product release
• Solution architect – is responsible for the hardware and software architecture of the
product
• UI designer- is responsible for a consistent and efficient look and feel to the product
user interfaces
• Writer – is responsible for clear, understandable and accurate documentations
supporting the released product
9. Overview Of Activities
11/19/2019 LAMBI 9 of
• A brief introduction to the objective for each new activity follows:
• Elicit Business Needs – To capture accurate product requirements and ensure they
satisfy business needs
• Groom Backlog – To maintain a prioritized backlog, such that there are no duplicates,
conflicting or obsolete user stories
• Maintain Requirements – To maintain a model of the business process, system
requirements and architecture of the product
• Design Architecture – To create and maintain a hardware and software deployment
framework in which the software will reside
• Design The User Experience – To maintain a consistent look and feel to customer
facing products throughout the enterprise
• Test Build – Validate that a software build matches product requirements
• Deploy Build – Update the product to with new software release at the customer
premises
• Document Release – Document user instructions for a product release
10. Artifacts
• A summary of the additional components that are delivered in this process
• Business Use Case – Captures a business need from the customer point of view
• Business Activity –Details the steps of the process captured by the business use case
• System Use Case – Captures a feature of the product
• System Activity – Details the steps of a feature captured by a system use case
• Acceptance Criteria – Details behavior that the product will exhibit
• Requirements Model – Captures the architecture, processes and data of the product
• Product Architecture – An overview of the software and hardware components on
which the product is built
• UX Specification – Provides guidelines for a consistent user experience
• Test Case – Used to validate that the product satisfies its requirements
• Release – A product build that has been validated and deployed to a customer
• Documentation – Information about the product that can be read by anyone who
needs access to the deployed product
11/19/2019 LAMBI 10 of
11. Elicit Business Needs
• The business analyst is
responsible
• The product owner supports this
activity
• Business needs are elicited and
documented as epics in the
product backlog
• Epics are captured as use cases
in the requirements model
• Use cases are detailed as user
stories in the product backlog
12. Groom Backlog
• The product owner is
responsible
• The business analyst,
development team and
quality assurance support this
activity
• User stories are updated in
the product backlog
13. Maintain Requirements
• The business analyst is
responsible
• Quality assurance supports
this activity
• User stories and use cases
(requirements) are input to
this activity
• The model is updated with
current and to-be
functionality, data and
requirements
14. Design Architecture
• The solution architect is
responsible
• The business analyst and
quality assurance support
support this activity
• The requirements are input
to this activity.
• The outputs are design
components for development
and user stories are updated,
as appropriate
15. Design User Experience
• The UI Designer is responsible
• The product owner business
analyst and quality assurance
support this activity
• User stories are input to this
activity
• The UI design is output to
development and user stories
are updated, as appropriate
16. Test Build
• Quality assurance is responsible
• The product owner and business
analyst support this activity
• User Stories are used to
determine what needs to be
tested
• Acceptance criteria are used to
generate test cases
• Test case results are added to
the incremental build
• User stories (defects) are
generated from failure test
results
17. Document Release
• The writer is responsible
• The business analyst contributes
to this activity
• Quality assurance verifies the
accuracy of the documentation
• User stories and the user
interface from an actual build are
used to create the
documentation
• User instructions are
documented with the release
18. Deploy Build
• The deployment manager is
responsible
• The business analyst and
quality assurance support this
activity by confirming the
quality of the release
• Developed builds are input to
this activity
• A product release is output
from this activity
19. Scaled Agile Framework (SAFe)
11/19/2019 LAMBI 19 of
• SAFe is a framework that scales a combination of agile frameworks (such as
Scrum) to an enterprise level of management
• Inserting the quality with agile through pictures process into this Scaled
Agile Framework, has the following impacts on the process.
• Elicit business needs – May generate user stories across multiple development teams
• Maintain Requirements – A single model is maintained across the enterprise
• Groom backlog – Grooming occurs to the program, solution and portfolio backlogs
• Design Architecture – A single architecture model is maintained across the enterprise
• Define User Experience – The same standards are maintained across the enterprise
• Deploy Build – A release will require coordination of several builds that are
compatible with each other
• Test Build – Additional test cases are required to validate integration of builds
• Document Release – A single set of documentation is produced for all builds in a
release
20. Summary
11/19/2019 LAMBI 20 of
• Although mentioned in several articles, the terms Quality and Quality
Assurance are not defined in the glossary on the web sites for, Scrum, the
Agile Manifesto or SAFe
• This process explicitly adds processes to the Scrum framework that are
intended to increase the quality of the end product
• Although these activities may increase the workload, they should not
interfere with the sprint delivery cycle
• The work described in these activities is performed on every ‘agile’
project that I have been employed as a business analyst
• Some times it is performed by the development team
• Other projects assign people to fill the roles explicitly described in this process
• In every instance the business analyst is involved whether explicitly assigned or not