1© Life Cycle Engineering 2014© Life Cycle Engineering 2014
The Business Analyst in an Agile Environment Presented by Justin Petite for SCGMIS
2© Life Cycle Engineering 2014
• 12 years in a number of roles supporting software and the SDLC
• Past 4+ years adapting and applying Agile and Scrum to SPAWAR projects
• PMI – Agile Certified Practitioner
• Scrum Alliance Certified Scrum Master
• Scrum Alliance Certified Scrum Professional
@JustinPetite
JUSTIN PETITE
3© Life Cycle Engineering 2014
STARTING LINEUP• 5 minutes• Confidence in your understanding of Agile• Without talking
4© Life Cycle Engineering 2014
AFFINITY ESTIMATION
• Visualize and create groups by relative scale
• Comparison by subjective measure
• Good for large groups, and large quantities
• Intended to be fast, and just precise enough to get started
5© Life Cycle Engineering 2014
OBJECTIVES
• Explore Agility, the Agile Manifesto, and Agile principles
• Understand how business analysis fits into the Agile environment
• Introduce personas and user stories
• Experience a variety of analysis tools and techniques used on Agile projects
6© Life Cycle Engineering 2014
System Requirements
Software Requirements
Analysis
Design
Code
Test
Operations
“WATERFALL”
7© Life Cycle Engineering 2014
MANIFESTO FOR AGILE SOFTWARE DEVELOPMENT
We are uncovering better ways of developingsoftware by doing it and helping others do it.Through this work we have come to value:
Individuals and interactions over processes and toolsWorking software over comprehensive documentation
Customer collaboration over contract negotiationResponding to change over following a plan
That is, while there is value in the items on the right,
we value the items on the left more.
8© Life Cycle Engineering 2014
AGILE
An iterative and incremental (evolutionary) approach to software development which is performed in a highly collaborative manner by self-organizing teams within an effective governance framework with “just enough” ceremony that produces high quality software in a cost effective and timely manner which meets the changing needs of its stakeholders.
Scott Ambler
http://www.agilemodeling.com/essays/agileSoftwareDevelopment.htm
9© Life Cycle Engineering 2014
AGILITY
Agility is the ability to both create and respond to change in order to profit in a turbulent business environment
Agility is the ability to balance flexibility and stability
Jim Highsmith
Agile Project Management (2nd Edition, 2010)
10© Life Cycle Engineering 2014
WHY AGILITY
• Need to more effectively respond to change
– Organizational needs
– Market demands
– Threats and opportunities
• Manage evolutionary change to products, processes, and culture
• Frequently and incrementally deliver value to reach a desired goal or outcome
11© Life Cycle Engineering 2014
BENEFITS
• Greater responsiveness to changing priorities• Measured increase in productivity• Lower costs• Managed risk through greater visibility• Increased customer satisfaction• Better overall quality• Improved team morale
12© Life Cycle Engineering 2014
VALUE IN “WATERFALL”cu
mu
lati
ve b
usin
ess
valu
e
time
13© Life Cycle Engineering 2014
AGILE VALUE PROPOSITION Acu
mu
lati
ve b
usin
ess
valu
e
time
14© Life Cycle Engineering 2014
AGILE VALUE PROPOSITION Bcu
mu
lati
ve b
usin
ess
valu
e
time
15© Life Cycle Engineering 2014
AGILITY
16© Life Cycle Engineering 2014
AGILE PRINCIPLES1. Our highest priority is to
satisfy the customer through early and continuous delivery of valuable software.
2. Welcome changing requirements, even late in development. Agile processes harness change for the customer's competitive advantage.
3. Deliver working software frequently, from a couple of weeks to a couple of months, with a preference to the shorter timescale.
4. Business people and developers must work together daily throughout the project.
5. Build projects around motivated individuals. Give them the environment and support they need, and trust them to get the job done.
6. The most efficient and effective method of conveying information to and within a development team is face-to-face conversation.
17© Life Cycle Engineering 2014
AGILE PRINCIPLES7. Working software is
the primary measure of progress.
8. Agile processes promote sustainable development. The sponsors, developers, and users should be able to maintain a constant pace indefinitely.
9. Continuous attention to technical excellence and good design enhances agility.
10.Simplicity—the art of maximizing the amount of work not done—is essential.
11.The best architectures, requirements, and designs emerge from self-organizing teams.
12.At regular intervals, the team reflects on how to become more effective, then tunes and adjusts its behavior accordingly.
18© Life Cycle Engineering 2014
AGILE METHODOLOGIES• Extreme Programming (XP)• Scrum• Kanban• Scrum-ban• Disciplined Agile Delivery (DAD)• Scaled Agile Framework (SAFe)• Dynamic Systems Development Method (DSDM)• Feature Driven Development (FDD)• Lean software development
19© Life Cycle Engineering 2014
AGILE PRACTICES• Cross-functional teams• Timeboxed iterations• Story-driven modelling• Backlogs (product, release, sprint)• Acceptance Test Driven Development (ATDD)• Test Driven Development (TDD)• Continuous integration and deployment• Pair programming• Information radiators• And many, many others
20© Life Cycle Engineering 2014
Accredited to Michael Sahota & Olaf Lewitz
21© Life Cycle Engineering 2014
ETHOS
22© Life Cycle Engineering 2014
Value(Releasable Product)
Quality(Reliable, Adaptable Product)
Constraints(Scope, Cost, Schedule)
AGILE TRIANGLE
Jim Highsmith
23© Life Cycle Engineering 2014
AGILE METHODS DO:
• Position us to be more responsive to changing priorities
• Allow better predictability of output for the foreseeable time horizon
• Improve accountability
• Make priorities and risk calculations more transparent
24© Life Cycle Engineering 2014
AGILE METHODS DON'T
• Make engineers write more lines of code per day or designers create output faster
• Preclude the need to make good organizational decisions about product, priorities, and customer needs
• Allow the rest of the organization to assume they think they know what lies months ahead
25© Life Cycle Engineering 2014
AGILE MYTHS• “Agile is the silver bullet for our organization!”
• “Agile doesn’t scale, so it can’t work for our organization!”
• “No more documentation or deadlines!”
• “Since we don’t do things upfront, we have no design and poor architecture!”
• “With so much rework going on, nothing new, and innovative gets worked on!”
• “Agile makes us faster!”
26© Life Cycle Engineering 2014
ORGANIZATIONAL AGILITY• More than just “doing Agile”• Discipline of managed change through continuous
inspection, evaluation, and adaptation• Tailored to the organization• Leverages Agile methods appropriately at each level:
– Individual– Team– Project– Program/Portfolio– Executive
27© Life Cycle Engineering 2014
THE AGILE BUSINESS ANALYST• Analysis still essential to software development,
regardless of project size, complexity, or methodology
• Analysis is still about asking the right questions
• Vital to the agile requirements decomposition paradigm
• Has an immediate impact on development
• Plays an integral role on the development team
28© Life Cycle Engineering 2014
ITERATIVE & INCREMENTAL
29© Life Cycle Engineering 2014
ITERATIVE & INCREMENTAL“Incrementing” builds a finished piece
Assumes the customer has a fully formed idea
of what they need
Jeff Patton - 2008http://www.agileproductdesign.com/blog/dont_know_what_i_want.html
30© Life Cycle Engineering 2014
ITERATIVE & INCREMENTAL
Jeff Patton - 2008http://www.agileproductdesign.com/blog/dont_know_what_i_want.html
“Iterating” builds something imperfect to validate and refine
Iterating allows for less developed ideas to
evolve and be refined
31© Life Cycle Engineering 2014
32© Life Cycle Engineering 2014
SCRUM• Framework:
– Defined Roles– Ritual Meetings– Artifacts– Terminology
• Emphasis:– Value– Delivery– Open communication– Team self-organization– Stakeholder Participation
33© Life Cycle Engineering 2014
SCRUM TIMEBOXES
• Release Planning• Sprint Planning• The Sprint
• Daily Scrum• Sprint Review & Demo• Sprint Retrospective
34© Life Cycle Engineering 2014
SCRUM ROLES
• Scrum Master– Lead, promote, facilitate, organize, and coach Scrum– Remove impediments for the team
• Product Owner– Own, manage, and communicate the Product Backlog– Advocate for the customer
• Scrum Team– Turn work from the backlog into a “potentially
shippable” increment of working software
35© Life Cycle Engineering 2014
ANALYST PATTERNS
http://www.romanpichler.com/blog/business-analysts-in-scrum/
36© Life Cycle Engineering 2014
ANALYST PATTERNS
http://www.romanpichler.com/blog/business-analysts-in-scrum/
37© Life Cycle Engineering 2014
ANALYST ANTI-PATTERN
http://www.romanpichler.com/blog/business-analysts-in-scrum/
38© Life Cycle Engineering 2014
RESPONSIBILITIES
Product VisionProduct Backlog
Guidance to Scrum Team
Stakeholder Expectations
PRODUCT OWNER
39© Life Cycle Engineering 2014
5 LEVELS OF AGILE PLANNING
Vision
Roadmap
Release
Sprint
Daily
Suggested Time box*
Outcome
Annual Vision
Semi-Annual Roadmap
QuarterlyRelease Backlog
2-4 weeksSprint
Backlog
15 mins daily “3 Questions”
40© Life Cycle Engineering 2014
PRODUCT VISION
The product vision is a high level statement
that provides the team with a shared
understanding of the what the end product
will look like.
41© Life Cycle Engineering 2014
PRODUCT VISION
Bill Shakelford: ‘Design the box’
Front of the box• Product Name• Graphic/logo• 3-4 key selling points
Back of box• Description of key features• Screens/mockups
Spine• System requirements
42© Life Cycle Engineering 2014
ELEVATOR PITCH
FOR (target customer)
WHO (statement of need)
THE (product name) is a (product category)
THAT (product key benefit, compelling reason to buy, problem being solved, etc.)
UNLIKE (primary competing alternative)
OUR PRODUCT (final statement of key differentiation)
Geoffrey Moore’s “Elevator Pitch”, Crossing the Chasm (1991)
43© Life Cycle Engineering 2014
AGILE PRODUCT CHARTER
• Mission: The “Why”, higher purpose, or the reason for the project’s existence.
• Vision: the “What” of the project stating what will be done in the project to achieve its higher purpose.
• Success Criteria: The success criteria are management tests that describe effects outside of the solution itself – Defines “Done”
44© Life Cycle Engineering 2014
AGILE PROJECT CHARTER
• 1 page (A3)• High level, but specific• Eliminate boilerplate• Aligned with stakeholder
Shared understanding of the charter is critical to enabling team members to collaborate effectively on large, enterprise projects
45© Life Cycle Engineering 2014
TARGET PRACTICE• 5 Minutes• Pick a product• Try a method
– Product Box– Elevator Statement– Charter (A3)– What else works for you?
Successful vision defines at a high level:
User – Opportunity – Critical features
Other context specific objectives and success factors
46© Life Cycle Engineering 2014
ROADMAP
• Connects the Product Vision to the execution plan• Provides the team with visibility, incentive, and focus• Not a commitment … a visualization of the plan
July Aug Sep Oct Nov
Security
User Admin
Payments
User Admin
Product AdminFulfillment
Security
47© Life Cycle Engineering 2014
BIG ROCKS
Grouping like features can be helpful for planning
These are often referred to as Themes or Epics
Security
Login with username/password
Password Reset
SSL 3.0
User Admin
User account DB
Update user info
Register User
Payment
Credit Card
Auto draft
PayPal Integration
48© Life Cycle Engineering 2014
ROADMAP
49© Life Cycle Engineering 2014
CHART YOUR COURSE
• 10 minutes
• Brainstorm how to deliver value early
• Come up with some high level themes
• Roughly prioritize
• 6 – 9 month horizon
50© Life Cycle Engineering 2014
PERSONAS• A fictional character based on role, and real
qualitative understanding of your user base
• Emphasize the user-centric approach and promote empathy for the user and customer
Picture and Name Details Goals or
Solution
Choose a picture and a name that are representative, and that allow you to develop sympathy for the persona
Relevant characteristics and behaviors:Demographics, job, lifestyle, spare time activities, attitudes, common tasks, etc.
Why would this specific persona want to buy or use this product?What problems are solved for this persona?What benefits are this persona seeking?
51© Life Cycle Engineering 2014
52© Life Cycle Engineering 2014
TIPS FOR USING PERSONAS• Start with quick and good enough - adapt over time
• Distinguish user personas from customer personas
• Choose a primary persona
• Make personas believable
• Stay focused and precise – problems and benefits
• Keep the personas visible
• Connect personas to user stories
53© Life Cycle Engineering 2014
INTRODUCE YOUR USERS
• 5 minutes
• Come up with 2-3 user personas for your product
• Tie user’s problem to your product’s solution
• Ensure each user has a role
54© Life Cycle Engineering 2014
TELL A STORY
55© Life Cycle Engineering 2014
USER STORY
• Simple and concise statement of requirement from a user perspective
• Originated in Extreme Programming (XP)
• Ron Jeffries: 3 C’s
– Card
– Conversation
– Confirmation
56© Life Cycle Engineering 2014
THOUGHT TEMPLATE
A conversation with the stakeholder:– “As a” specific user or persona– “I want” need, feature, or functionality– “So (that)” purpose and value of delivery
57© Life Cycle Engineering 2014
ACCEPTANCE CRITERIA
• Flip the card over to record expectations:
– User– Customer– Product Owner– Team
How has the customer defined success for this story?
58© Life Cycle Engineering 2014
INVEST
Independent
• Can ideally stand alone as a working product increment
• Avoids dependencies with other stories whenever possible
59© Life Cycle Engineering 2014
INVEST
Negotiable
• Stories are concepts not contracts
• Can and should be revised or rewritten up until they are planned in a sprint
60© Life Cycle Engineering 2014
INVEST
Valuable
• Should deliver value to the end user, customers, and/or stakeholders
• Why else would a story matter?
61© Life Cycle Engineering 2014
INVEST
Estimable
• The story provides the Team with enough information to approximate size
• By understanding size, we can then plan
62© Life Cycle Engineering 2014
INVEST
Sized appropriately (Small)
• Ideally can be completed in one iteration
• Small for near-term work
• Larger for work further out is ok, realizing further decomposition will be needed later
63© Life Cycle Engineering 2014
INVEST
Testable
• Acceptance criteria establishes common expectations across team members and stakeholders
• Critical to understand not just what will be tested, but also how it will be tested
64© Life Cycle Engineering 2014
OTHER KINDS OF STORIES
Technical Foundation:
“As a developer, I need to upgrade the database software so we are running on the correct supported version”
Research (Spike):
“As lead architect, I need to research and evaluate COTS products that are compatible with our current system’s architecture so we can reduce the risk of future issues with integration”
65© Life Cycle Engineering 2014
OTHER KINDS OF STORIES
Design:
“As a UI/UX engineer, I need to create the initial design for the account management screens so that I can begin to gather customer feedback”
Other possible types of work items:
Defects, maintenance, training, documentation, development infrastructure, automation, etc.
66© Life Cycle Engineering 2014
STORY WRITING• 15 minutes• Write stories– From the perspective
of your personas– Leverage/adjust your
roadmap for value– Remember the
template:
As a <user>, I need to <do something>, so that I can <accomplish some goal>
67© Life Cycle Engineering 2014
PRODUCT BACKLOG
• An ordered list of work items needed to deliver the desired product, features, or system
• The Product Owner decides the order with input from the development team and stakeholders
• Always ready, never done, ever evolving
• Modelled in greater detail and smaller size at the top
• Maximizing value to the customer is the objective
68© Life Cycle Engineering 2014
PRODUCT BACKLOG (FLAT)
69© Life Cycle Engineering 2014
PRODUCT BACKLOG (ICEBERG)
70© Life Cycle Engineering 2014
USER STORY MAPPING
• Organizes and prioritizes user stories in two dimensions
• Provides a useful tool for the entire team to understand the big picture
• Can be useful when building a feature-rich product based on business processes, workflow, or tasking
• Attributed to Jeff Patton - www.AgileProductDesign.com
71© Life Cycle Engineering 2014
72© Life Cycle Engineering 2014
STORY MAPPING
time
nece
ssity
Activities
Tasks
73© Life Cycle Engineering 2014
STORY MAPPING
74© Life Cycle Engineering 2014
STORY MAPPING
75© Life Cycle Engineering 2014
PRIORITIZINGWhat is value to the customer?
–Financial–Business–Reduced cost to develop and support– Innovation–Risk reduction–Market factors–Compliance–Deadline
76© Life Cycle Engineering 2014
SIMPLE VALUE EFFORT MATRIX
77© Life Cycle Engineering 2014
PRIORITIZING
Business Value
Cost ImpactRisk
RemovedTotal
Story A 7 4 8 9 7
Story B 10 2 5 6 5.75
Story C 2 6 3 5 4
Story D 4 10 6 2 5.5
Decision Matrix- Good for teams
supporting disparate customers
- Incorporates multiple factors
- Scored as a group
78© Life Cycle Engineering 2014
KANO ANALYSIS
79© Life Cycle Engineering 2014
PRODUCT EVOLUTION
80© Life Cycle Engineering 2014
EVALUATE YOUR STORIES
• 5 minutes
• Kano Analysis–Must have–Satisfier–Delighter
• Label your story cards
• Ask around
81© Life Cycle Engineering 2014
FACTORS TO CONSIDER
• Minimally Marketable Feature (MMF)• Minimum viable product (MVP)• Earned Business Value (EBV)• Risk• Architecture and infrastructure• Dependencies and integrations• Constraints: Schedule & Costs
82© Life Cycle Engineering 2014
DEFINITION OF DONE• What do we mean by “potentially shippable”
• When is the team finished with a story? A feature? A release?
• Evolves over time
• Suited to the team’s unique environment
• Incremental maturity
• Helps to ensure quality is “built in”
83© Life Cycle Engineering 2014
ESTIMATION
How long is this going to take?
84© Life Cycle Engineering 2014
ESTIMATION“Estimation is the process of finding an approximation, which is a value that is usable for some purpose even if input data may be incomplete, uncertain, or unstable”
• Too many variables• Too much unknown• Too far in the future• Individual biases
85© Life Cycle Engineering 2014
ESTIMATES BECOME PROMISES
• Estimates drive expectations–Customers–Stakeholders–Business
• Estimation may add value … But, is only valuable within a threshold of risk and cone of uncertainty
86© Life Cycle Engineering 2014
REMEMBER THE TRIANGLES
87© Life Cycle Engineering 2014
AGILE ESTIMATION
• Story estimates are abstract - not time based
• Derived from other “known” factors:– Effort– Complexity– Uncertainty
• Informed by past performance
• Originate from those who will do the work
• Best to be roughly right than precisely wrong!
88© Life Cycle Engineering 2014
RELATIVE SIZING: DOG POINTS
• Golden Retriever• Great Dane• Border Collie• Chihuahua• Cocker Spaniel• English Bulldog
• 2 minutes
• Order from smallest to largest
• Compare your list with your neighbor
89© Life Cycle Engineering 2014
RELATIVE SIZE
T-Shirt XS S M L XL XXL
Fibonacci 1 2, 3 5, 8 13, 20 40 100
90© Life Cycle Engineering 2014
SIZING TECHNIQUES
• Affinity Estimation – group stories of similar size and then assign points
2 5 8 13 20 40
91© Life Cycle Engineering 2014
PLANNING POKER• Product Owner tells the story• Team briefly discusses• Team members reveal their estimates all at once• Discuss outliers• Repeat until estimates converge
92© Life Cycle Engineering 2014
ESTIMATING WITH POINTS
• Don’t spend too much time on each story
• Estimate only as much as is needed for planning
• Large stories should be set aside to be broken down
• Estimates come from the team – resist individual “anchoring”
• Only re-estimate when relative size of a story has changed
93© Life Cycle Engineering 2014
VELOCITY AND CAPACITY• Velocity
– The demonstrated average number of points completed in an iteration
• Capacity
– The maximum amount a team can get done in an iteration
94© Life Cycle Engineering 2014
ITERATION PLANNING• Start at the top• Identify specific tasks for each story• Estimate tasks in ideal hours for each task• Stop when capacity is reached
Hours In SprintPlanned Absent Allocation Buffer Capacity
Jim 80 16 100% 25% 48Joe 80 0 100% 25% 60
Jane 80 0 50% 25% 30Jenny 80 8 100% 25% 54Jack 80 0 50% 25% 30
400 24 100% 25% 222
95© Life Cycle Engineering 2014
BACKLOG GROOMING
• At least once a sprint
• Consult with the customer
• Break down or split large stories
– Many ways to do this
• Give the team a preview, but not too far ahead
• Refine acceptance criteria and design tests
• Estimate size
96© Life Cycle Engineering 2014
SPRINT CADENCE• Rhythm and ritual
97© Life Cycle Engineering 2014
BURNDOWN CHARTS• Represent work remaining
– By Release (points) or iteration (hours)
98© Life Cycle Engineering 2014
LOTS OF OTHER METRICS
• Goal: Measure and communicate progress through meaningful and highly visible means
• Force the right conversations early
• Help teams recognize their cadence
• Uncover risk and areas of opportunity
• Inform conversations… not replace them
99© Life Cycle Engineering 2014
RETROSPECTIVES
• The most powerful tool available to an Agile team
• Observe, inspect, and adapt:
–What worked well?–What didn’t work well?–What will we improve?
• Focus on the team, not the product
• Avoid dwelling on external factors
100
© Life Cycle Engineering 2014
PROJECT INITIATIONDecompose project requirements (scope) to
create the first iteration of the project schedule, roadmap, and backlog
Form the cross-functional agile team(s) of individuals with the roles and skills necessary to
deliver on the project’s requirements
Train the team, educate the customer, and communicate expectations
Get started sprinting following the standard practices to learn how to best adapt in the future
· Incorporate feedback from retrospectives· Build “muscle memory” around good practices
· Establish common understanding of Agile fundamentals
· Agree to a cadence· Decide on initial technologies· Identify and negotiate stakeholder
roles and responsibilities· Agree to the metrics by which project
performance will be measured· Establish the definition of done· Set up visible progress indicators
Work Breakdown Structure
IMS / Roadmap
Agile PM Tool
User StoriesUser Stories
SystemsRequirements
Document (SRD)
SystemsRequirements
Document (SRD)
PWS/CDRLPWS/CDRL
Product OwnerProduct Owner
TestersTestersDevelopersDevelopersScrum MasterScrum Master
101
© Life Cycle Engineering 2014
KEEP THE AGILE CONVERSATION GOING• Software engineering
practices
• Agile team dynamics
• Scaling up
• Contracting and government
• Metrics
• Planning
• User story writing
• Testing/Quality
• Retrospectives
• Configuration management
• Release management
• Information assurance
• Fostering culture
• Organizational transition
• Change management
• Industry certifications
• Management and executive sponsorship
• More than software
102
© Life Cycle Engineering 2014
CONTINUOUS LEARNING• Take a class• Attend a conference• Get certified• Engage online
103
© Life Cycle Engineering 2014
HELP FOR THE TRANSITIONAgile Coach
• Supports the successful introduction of Agile to your organization and team
• Shares subject matter expertise and experience
• Helps avoid common mistakes and pitfalls that hinder adoption and delay value
• Acts as a neutral and objective third party
• Is a supportive partner and mentor across the organization
104
© Life Cycle Engineering 2014
THANK YOU!
Please let me know how I can do better next time!
@JustinPetite