SlideShare a Scribd company logo
1 of 19
Dimitar Bakardzhiev
Managing Partner
Taller Technologies Bulgaria
@dimiterbak
Project Scope preparation
Product Scope
• Product scope documents the features and functions
that characterize the new product that the project will
be undertaken to deliver.
• Usually the features and functions are called
requirements and are presented using vehicles such
as use cases and user stories.
Project Scope
• Project scope is the work that needs to be
accomplished to deliver a new product with specified
capabilities (features and functions).
• Project scope needs to be broken down into work
items to be used for planning purposes.
• Even for a quality related requirement such as “the
system should scale horizontally” we need to have a
work item.
If you have to report progress on a
work item it is too big – it is either
done or not done.
INVEST mnemonic
Independent: the work items can be delivered in any order
(loosely coupled and highly cohesive)
Negotiable: the details of what's in the work item are co-created
by the developers and customer during development.
Valuable: the functionality is seen as valuable by the customers
or users.
Estimable: the programmers can come up with a reasonable
estimate for building the work item
Small: work item should be delivered in a small amount of time.
What small means?
Testable: you should be able to write tests to verify work item
works correctly.
The most important parts are the “I”
and the “V” – we know that someone
wants to buy it and I can build it in any
order.
Defining work items is a challenge
In order not to have difficulties explaining the customers
what the product will look like we are communicating with
the customers using examples about how the new
product will function. That is interesting and valuable right
away.
Examples are of course smaller than user stories. We
need more of them in order to do the same thing we could
do with stories.
Thinking in examples or scenarios
• The important conversations and real collaboration
with the customers happen when we explore the
features and create the scenarios.
• “Can you give me an example?” is the most important
phrase that we as developers can use when dealing
with business people such as product owners,
business analysts or the people that actually run the
customer’s business.
• For every feature we’ll have a number of scenarios.
Not necessarily a small number either.
Steps to identify work items
1. Define product scope
2. Identify feature areas
3. Create scenarios
4. Identify user stories (work items)
Features
ScenariosUser stories
Scenario
• A scenario is a test customers could understand
written in their ordinary business language. It is an
acceptance test - formal test conducted to determine
whether or not the system satisfies its acceptance
criteria and to enable the customer to determine
whether or not to accept the system.
• We as developers have the tendency to focus on the
details, but scenarios should not talk about buttons,
lists, objects, queries etc.
Scenario format
Scenario #: Title
Given [context]
And [some more context]...
When [event]
Then [outcome]
And [another outcome]...
How to write a scenario?
• Use personas (Joe, Tom) not “The user” or “The
system”. Personas have names, backgrounds and
goals working with the system.
From features to scenarios
• For each feature there usually are one sometimes two
key or kernel examples that captures the important
ideas about (are the essence of) that feature.
• If we understand those key examples the rest is just
details, just variations, just developers being overly
paranoid or customers being overly ambitious.
• The goal is to identify the kernel scenarios that we
should build first. And then we can build the rest of
scenarios in any sequence. That maximizes our
flexibility to change the schedule when the constraints
change. It maximizes our capability to get high value
for low cost.
Kernel scenario
• If we build the kernel scenario all the rest of the
scenarios can be built independently.
• We might not get value from having just the kernel. We
might not get value even from the kernel and two other
scenario.
• But if we identify the kernel first, and they we identify
the other variations because the variations are
independent of each other it gives us the best chance
to be adaptable.
How to get to the kernel scenario?
1. Write any scenario in full detail. It doesn't have to be
the most interesting or the simplest or the most useful.
2. Contract. Take extra details out of the scenario by
asking the question “Can I remove that detail?”. The
point is to figure out what is the absolute minimum that
the user needs to tell the system to make it do it’s job.
That would be the kernel!
3. Expand. During this phase we look at the kernel
example from Contract phase and we say “That’s
bad”. We ask two questions “How could we make it
better?” and “What could go wrong?”. And each of
those will identify a new scenario which we’ll write
down.
User Story
• User stories are the centerpiece of the way we plan
and manage software projects.
• User stories aren't requirements – they are a way to
organise a collaboration on requirements.
• A user story is a token of conversation with the
customer.
• We should not write all details in the User Story but we
should retain it so that when you have a chance to talk
with the customer they will know what to talk about.
• We will use them as work items to track project
progress.
User Story format
Narrative:
As a [role]
I want [feature]
So that [benefit]
References
Product Sashimi - J.B. Rainsberger http://vimeo.com/37026071
Neil Killick http://neilkillick.com/2014/07/16/my-slicing-heuristic-concept-explained/
Dan North http://dannorth.net/whats-in-a-story/
Acceptance Test http://c2.com/cgi/wiki?AcceptanceTest
http://www.extremeprogramming.org/rules/functionaltests.html
System context diagram http://en.wikipedia.org/wiki/System_context_diagram
http://www.modernanalyst.com/Resources/Articles/tabid/115/ID/1355/Introduction-to-
Context-Diagrams.aspx

More Related Content

Viewers also liked

Project Scope Management - PMBOK 5th Edition
Project Scope Management - PMBOK 5th EditionProject Scope Management - PMBOK 5th Edition
Project Scope Management - PMBOK 5th Editionpankajsh10
 
The tele/micro Scope Project
The tele/micro Scope ProjectThe tele/micro Scope Project
The tele/micro Scope Projectagins213
 
Pmbok 4th edition chapter 5 - Project Scope Management
Pmbok 4th edition   chapter 5 - Project Scope Management Pmbok 4th edition   chapter 5 - Project Scope Management
Pmbok 4th edition chapter 5 - Project Scope Management Ahmad Maharma, PMP,RMP
 
PMP Training - 05 project scope management
PMP Training - 05 project scope managementPMP Training - 05 project scope management
PMP Training - 05 project scope managementejlp12
 
PMP Chap 5 - Project Scope Management - Part1
PMP Chap 5 - Project Scope Management - Part1PMP Chap 5 - Project Scope Management - Part1
PMP Chap 5 - Project Scope Management - Part1Anand Bobade
 
Project Planning Basics - Everything you need to start managing a project
Project Planning Basics - Everything you need to start managing a projectProject Planning Basics - Everything you need to start managing a project
Project Planning Basics - Everything you need to start managing a projectKeely Killpack, PhD
 

Viewers also liked (8)

Project Scope Management - PMBOK 5th Edition
Project Scope Management - PMBOK 5th EditionProject Scope Management - PMBOK 5th Edition
Project Scope Management - PMBOK 5th Edition
 
The tele/micro Scope Project
The tele/micro Scope ProjectThe tele/micro Scope Project
The tele/micro Scope Project
 
PMP Preparation - 05 Scope Management
PMP Preparation - 05 Scope ManagementPMP Preparation - 05 Scope Management
PMP Preparation - 05 Scope Management
 
05 project scope management
05 project scope management05 project scope management
05 project scope management
 
Pmbok 4th edition chapter 5 - Project Scope Management
Pmbok 4th edition   chapter 5 - Project Scope Management Pmbok 4th edition   chapter 5 - Project Scope Management
Pmbok 4th edition chapter 5 - Project Scope Management
 
PMP Training - 05 project scope management
PMP Training - 05 project scope managementPMP Training - 05 project scope management
PMP Training - 05 project scope management
 
PMP Chap 5 - Project Scope Management - Part1
PMP Chap 5 - Project Scope Management - Part1PMP Chap 5 - Project Scope Management - Part1
PMP Chap 5 - Project Scope Management - Part1
 
Project Planning Basics - Everything you need to start managing a project
Project Planning Basics - Everything you need to start managing a projectProject Planning Basics - Everything you need to start managing a project
Project Planning Basics - Everything you need to start managing a project
 

Similar to Project scope preparation

Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Ravi Tadwalkar
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?Vladimir Tarasov
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User StoryXPDays
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...AgileNetwork
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...AgileNetwork
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgileNetwork
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazLaz Allen
 
A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Storieslaurence b
 
Composing User Stories - Beginners Guide
Composing User Stories - Beginners GuideComposing User Stories - Beginners Guide
Composing User Stories - Beginners GuideRaja Soundaramourty
 
User-Story-Primer.pdf
User-Story-Primer.pdfUser-Story-Primer.pdf
User-Story-Primer.pdfAnurag Behera
 
The Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringThe Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringVanessa Turke
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User StoriesSunil-QA
 
User-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfUser-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfSLowe7
 

Similar to Project scope preparation (20)

Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...Life cycle of user story: Outside-in agile product management & testing, or...
Life cycle of user story: Outside-in agile product management & testing, or...
 
Story Cards
Story CardsStory Cards
Story Cards
 
User stories — how to cook a cat?
User stories — how to cook a cat?User stories — how to cook a cat?
User stories — how to cook a cat?
 
All about User story
All about User storyAll about User story
All about User story
 
The Whole Story of The User Story
The Whole Story of The User StoryThe Whole Story of The User Story
The Whole Story of The User Story
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Agile Story Writing
Agile Story WritingAgile Story Writing
Agile Story Writing
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...Agile Network India | Effective User story writing and story mapping approach...
Agile Network India | Effective User story writing and story mapping approach...
 
Agile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approachAgile Network India | Effective User story writing and story mapping approach
Agile Network India | Effective User story writing and story mapping approach
 
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelazXp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
Xp 2016 superchargeyourproductbacklogwithuserstories-suzannelaz
 
A business case for User Stories
A business case for User StoriesA business case for User Stories
A business case for User Stories
 
User Stories Training
User Stories TrainingUser Stories Training
User Stories Training
 
Composing User Stories - Beginners Guide
Composing User Stories - Beginners GuideComposing User Stories - Beginners Guide
Composing User Stories - Beginners Guide
 
User stories in agile software development
User stories in agile software developmentUser stories in agile software development
User stories in agile software development
 
User-Story-Primer.pdf
User-Story-Primer.pdfUser-Story-Primer.pdf
User-Story-Primer.pdf
 
The Art and Science of Requirements Gathering
The Art and Science of Requirements GatheringThe Art and Science of Requirements Gathering
The Art and Science of Requirements Gathering
 
Agile User Stories
Agile User StoriesAgile User Stories
Agile User Stories
 
User-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdfUser-Story_Primer_Agile_Methodology_.pdf
User-Story_Primer_Agile_Methodology_.pdf
 
User stories explained
User stories explainedUser stories explained
User stories explained
 

More from Dimitar Bakardzhiev

Kanban at Bosch Software Innovations Bulgaria
Kanban at Bosch Software Innovations BulgariaKanban at Bosch Software Innovations Bulgaria
Kanban at Bosch Software Innovations BulgariaDimitar Bakardzhiev
 
Project Planning using Little’s Law
Project Planning using Little’s LawProject Planning using Little’s Law
Project Planning using Little’s LawDimitar Bakardzhiev
 
Канбан не е метод за разработка на софтуер..!?! Какво тогава е Канбан?
Канбан не е метод за разработка на софтуер..!?!   Какво тогава е Канбан?Канбан не е метод за разработка на софтуер..!?!   Какво тогава е Канбан?
Канбан не е метод за разработка на софтуер..!?! Какво тогава е Канбан?Dimitar Bakardzhiev
 

More from Dimitar Bakardzhiev (6)

Kanban at Bosch Software Innovations Bulgaria
Kanban at Bosch Software Innovations BulgariaKanban at Bosch Software Innovations Bulgaria
Kanban at Bosch Software Innovations Bulgaria
 
Capacity planning
Capacity planningCapacity planning
Capacity planning
 
Bulgarian culture and agile
Bulgarian culture and agileBulgarian culture and agile
Bulgarian culture and agile
 
The impact of national culture
The impact of national cultureThe impact of national culture
The impact of national culture
 
Project Planning using Little’s Law
Project Planning using Little’s LawProject Planning using Little’s Law
Project Planning using Little’s Law
 
Канбан не е метод за разработка на софтуер..!?! Какво тогава е Канбан?
Канбан не е метод за разработка на софтуер..!?!   Какво тогава е Канбан?Канбан не е метод за разработка на софтуер..!?!   Какво тогава е Канбан?
Канбан не е метод за разработка на софтуер..!?! Какво тогава е Канбан?
 

Recently uploaded

WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfonteinmasabamasaba
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2
 

Recently uploaded (20)

WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & InnovationWSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
WSO2CON 2024 - OSU & WSO2: A Decade Journey in Integration & Innovation
 
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
WSO2CON 2024 - IoT Needs CIAM: The Importance of Centralized IAM in a Growing...
 
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
WSO2CON 2024 - Not Just Microservices: Rightsize Your Services!
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
WSO2Con2024 - Simplified Integration: Unveiling the Latest Features in WSO2 L...
 
WSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration ToolingWSO2Con2024 - Low-Code Integration Tooling
WSO2Con2024 - Low-Code Integration Tooling
 
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
WSO2Con2024 - Navigating the Digital Landscape: Transforming Healthcare with ...
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and ApplicationsWSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
WSO2CON 2024 - Architecting AI in the Enterprise: APIs and Applications
 
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
WSO2CON 2024 - Unlocking the Identity: Embracing CIAM 2.0 for a Competitive A...
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAMWSO2Con2024 - Organization Management: The Revolution in B2B CIAM
WSO2Con2024 - Organization Management: The Revolution in B2B CIAM
 

Project scope preparation

  • 1. Dimitar Bakardzhiev Managing Partner Taller Technologies Bulgaria @dimiterbak Project Scope preparation
  • 2. Product Scope • Product scope documents the features and functions that characterize the new product that the project will be undertaken to deliver. • Usually the features and functions are called requirements and are presented using vehicles such as use cases and user stories.
  • 3. Project Scope • Project scope is the work that needs to be accomplished to deliver a new product with specified capabilities (features and functions). • Project scope needs to be broken down into work items to be used for planning purposes. • Even for a quality related requirement such as “the system should scale horizontally” we need to have a work item.
  • 4. If you have to report progress on a work item it is too big – it is either done or not done.
  • 5. INVEST mnemonic Independent: the work items can be delivered in any order (loosely coupled and highly cohesive) Negotiable: the details of what's in the work item are co-created by the developers and customer during development. Valuable: the functionality is seen as valuable by the customers or users. Estimable: the programmers can come up with a reasonable estimate for building the work item Small: work item should be delivered in a small amount of time. What small means? Testable: you should be able to write tests to verify work item works correctly.
  • 6. The most important parts are the “I” and the “V” – we know that someone wants to buy it and I can build it in any order.
  • 7. Defining work items is a challenge In order not to have difficulties explaining the customers what the product will look like we are communicating with the customers using examples about how the new product will function. That is interesting and valuable right away. Examples are of course smaller than user stories. We need more of them in order to do the same thing we could do with stories.
  • 8. Thinking in examples or scenarios • The important conversations and real collaboration with the customers happen when we explore the features and create the scenarios. • “Can you give me an example?” is the most important phrase that we as developers can use when dealing with business people such as product owners, business analysts or the people that actually run the customer’s business. • For every feature we’ll have a number of scenarios. Not necessarily a small number either.
  • 9. Steps to identify work items 1. Define product scope 2. Identify feature areas 3. Create scenarios 4. Identify user stories (work items)
  • 11. Scenario • A scenario is a test customers could understand written in their ordinary business language. It is an acceptance test - formal test conducted to determine whether or not the system satisfies its acceptance criteria and to enable the customer to determine whether or not to accept the system. • We as developers have the tendency to focus on the details, but scenarios should not talk about buttons, lists, objects, queries etc.
  • 12. Scenario format Scenario #: Title Given [context] And [some more context]... When [event] Then [outcome] And [another outcome]...
  • 13. How to write a scenario? • Use personas (Joe, Tom) not “The user” or “The system”. Personas have names, backgrounds and goals working with the system.
  • 14. From features to scenarios • For each feature there usually are one sometimes two key or kernel examples that captures the important ideas about (are the essence of) that feature. • If we understand those key examples the rest is just details, just variations, just developers being overly paranoid or customers being overly ambitious. • The goal is to identify the kernel scenarios that we should build first. And then we can build the rest of scenarios in any sequence. That maximizes our flexibility to change the schedule when the constraints change. It maximizes our capability to get high value for low cost.
  • 15. Kernel scenario • If we build the kernel scenario all the rest of the scenarios can be built independently. • We might not get value from having just the kernel. We might not get value even from the kernel and two other scenario. • But if we identify the kernel first, and they we identify the other variations because the variations are independent of each other it gives us the best chance to be adaptable.
  • 16. How to get to the kernel scenario? 1. Write any scenario in full detail. It doesn't have to be the most interesting or the simplest or the most useful. 2. Contract. Take extra details out of the scenario by asking the question “Can I remove that detail?”. The point is to figure out what is the absolute minimum that the user needs to tell the system to make it do it’s job. That would be the kernel! 3. Expand. During this phase we look at the kernel example from Contract phase and we say “That’s bad”. We ask two questions “How could we make it better?” and “What could go wrong?”. And each of those will identify a new scenario which we’ll write down.
  • 17. User Story • User stories are the centerpiece of the way we plan and manage software projects. • User stories aren't requirements – they are a way to organise a collaboration on requirements. • A user story is a token of conversation with the customer. • We should not write all details in the User Story but we should retain it so that when you have a chance to talk with the customer they will know what to talk about. • We will use them as work items to track project progress.
  • 18. User Story format Narrative: As a [role] I want [feature] So that [benefit]
  • 19. References Product Sashimi - J.B. Rainsberger http://vimeo.com/37026071 Neil Killick http://neilkillick.com/2014/07/16/my-slicing-heuristic-concept-explained/ Dan North http://dannorth.net/whats-in-a-story/ Acceptance Test http://c2.com/cgi/wiki?AcceptanceTest http://www.extremeprogramming.org/rules/functionaltests.html System context diagram http://en.wikipedia.org/wiki/System_context_diagram http://www.modernanalyst.com/Resources/Articles/tabid/115/ID/1355/Introduction-to- Context-Diagrams.aspx

Editor's Notes

  1. Defining work items is a challenge. We could argue that a work item is anything that is delivered to the customer. As much as we’ve been trying and done some good work on defining user stories over the last decade it’s still a major source of confusion for a lot of projects. Let’s try another way using examples or scenarios.
  2. Hence rather than thinking in terms of user stories or features we encourage people to thinking in terms of examples or scenarios. Instead of spending time worrying are we getting the user stories right, are the stories are at the proper level of granularity, are they too big, are they too small we prefer to talk directly in terms of examples. And because there are like 300 scenarios it will be inconvenient to talk about them individually.
  3. Up in the left hand corner we have the new product idea. This is just some vague notion in someone’s head – I wish I had software that did X. We break the product idea down into something more concrete – which are the features. They are things like “Profile Management”, “Provide feedback to support”, “Collect metrics” etc. Those features are still relatively not well understood, but better understood than the product idea. At the high level the idea is to move from product idea to features to scenarios and then to user stories. There are two central techniques for doing that: How to go from nebulous product idea to features (context diagramming) How to move from features to scenarios. Once we have the scenarios then we move to prepare the user stories. User stories are convenient bundles of scenarios. It might be convenient to take these three and bundle them in one use story. Or this two and refer to them by one user story. Or it might turn out that after we have built two or three parts of the system then in fact it is these five that should be treated as a single user story no matter they belong to different features. Counter the way we originally thought we should organize the scenarios.
  4. Three parts: Context (Given, assumptions) When Then
  5. We try to make it easier for the System and harder for the user by stripping what the System does on User’s behalf. For instance – having a form to enter not the user name but the user id from DB, not company name but the company id from DB etc. The point of the Contract phase is not to build the world’s worst system.
  6. Traditionally in Agile software development the centerpiece has been the User Story. What is a User Story?