View
215
Download
0
Category
Tags:
Preview:
Citation preview
There’s No Such
Thing as a
RequirementTony Heap
tony.heap@its-all-design.com
About Me
~Freelance “Business Analyst Designer”
~Based in Yorkshire
~Clients include
~Morrisons, ASDA/Walmart, Arcadia, NHS,
BT, RWE Npower, Barclaycard, Egg, YBS
~In my spare time…
~www.its-all-design.com
~Agile trainer
Two Agile Principles
~“Our highest priority is to satisfy the
customer through early and continuous
delivery of valuable software.”
~“Simplicity--the art of maximizing the
amount of work not done--is essential.”
Agenda
~Maximising the amount of work not
done
~Concepts
~There’s no such thing as a requirement
~Prioritization is really important
~Feature splitting
~Options Engineering
~A framework
~Business Analyst Designer Method
There’s No Such
Thing as a
Requirement
Business Change
As-is To-be
Agents of
business change
A User Story
~As a…~Shareholder in a national grocery
retailer
~What I want is…
~A better return on my investment
~So that…
~I can afford to buy a 2nd generation
Nexus 7 tablet
CEO
~How can I deliver
~a better return on investments?
~Options / components
1.Charge customers more
2.Pay suppliers less
3.Open more supermarkets
4.Expand into convenience stores
5.Go online
6.Do nothing
CEO
~How can I deliver
~a better return on investments?
~Options / components
1.Charge customers more
2.Pay suppliers less
3.Open more supermarkets
4.Expand into convenience stores
5.Go online
6.Do nothing
Head of Online
~How do I deliver
~Online grocery shopping?
~Options / components
1.Online platform (web)
2.Online platform (mobile)
3.Picking and packing capability
4.Home delivery capability
5.Click & collect capability
6.Customer service capability
7.Do nothing
Head of Online
~How do I deliver
~Online grocery shopping?
~Options / components
1.Online platform (web)
2.Online platform (mobile)
3.Picking and packing capability
4.Home delivery capability
5.Click & collect capability
6.Customer service capability
7.Do nothing
Business Analyst
~How do I deliver
~Online platform (web)
~Options / components
1.Register
2.Log in
3.Browse products (not logged in)
4.Browse products (logged in)
5.Add product to trolley
6.Add product to wish list
7.…and so on
8.Do nothing
Business Analyst
~How do I deliver
~Online platform (web)
~Options / components
1.Register
2.Log in
3.Browse products (not logged in)
4.Browse products (logged in)
5.Add product to trolley
6.Add product to wish list
7.…and so on
8.Do nothing
BA – Next Level of
Detail~How do I deliver
~Register
~Options / components
1.Capture customer name
2.Capture customer date of birth
3.Capture customer password
4.Password is at least 8 characters
5.Password contains non-alpha characters
6.Fingerprint authentication
7.…and so on
8.Do nothing
BA – Next Level of
Detail~How do I deliver
~Register
~Options / components
1.Capture customer name
2.Capture customer date of birth
3.Capture customer password
4.Password is at least 8 characters
5.Password contains non-alpha characters
6.Fingerprint authentication
7.…and so on
8.Do nothing
UX Designer
~How do I deliver
~Password is at least 8 characters
~Options / components
1.Display error after user submits
2.Display warning before user submits
3.Disable submit button until user enters 8
chars
4.Do nothing
UX Designer
~How do I deliver
~Password is at least 8 characters
~Options / components
1.Display error after user submits
2.Display warning before user submits
3.Disable submit button until user enters 8
chars
4.Do nothing
Developer
~How do I deliver
~Display warning before user submits
~Options / components
1.Update the DOM with the warning text
2.Have a hidden DIV and make it
visible/invisible using CSS
3.…others?
4.Do nothing
Cascading Levels of
DetailWho What How
CEO Better return on investment
Go online
Head of Online
Go online Online platform (web)
Business Analyst
Online platform (web)
Register
Business Analyst
Register Password > 8 chars
UX Designer Password > 8 characters
Display warning before submit
Developer Display warning before submit
[tecchy stuff!!!]
Observations
~Everyone is making decisions
~Everyone is designing the business
change
~People work at different levels of detail
~One man’s requirement is actually the
previous man’s design
The Startling Truth
~There’s no such thing as a requirement!
~Nothing is truly required
~It’s all optional
~It’s all part of a business change design
~It’s all ideas…
~It’s all decisions…
It’s All Design
Business Needs
~There’s no such thing as a business
need
~Everything is optional
~Moving into online shopping is a
conscious business decision
~It is not a “need”
~This includes regulatory change!!!
Inferences
~Every “requirement” can, and should,
be challenged
~There are always options
~The “do nothing” option should always
be considered
~The “underlying business need” can,
and should, be challenged
~To save the business from a doomed
project
Problems with
Language
~If we call them “requirements” they are set
in stone
~If we distinguish between “requirements”
and “design” we end up arguing about
which is which and who does what
~Google “requirements versus design”
~Quotes:
~“Requirements are merely wishes” (Kent
Beck)
~“A requirement is a relationship to a
decision” (Alistair Cockburn)
A New Language~ In
~ Design~Business change design
~Business process design
~Functional design
~UX design
~Technical design
~ Options
~ “Deciding what to build” (Cockburn)
~ As-is and to-be
~ Business objectives
~ Ideas, proposals, suggestions (for business change)
~Out~ Requirement
~ Business need
~ Problem (there are only opportunities)
~ Solution (since there are no problems)
Prioritization is
Really Important
The Waterfall Cargo
Ship
HMS Waterfall
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
The 80:20 Rule
Things to Know About
Prioritization
1. Prioritization is really important
2. Prioritization is really hard
Why is Prioritization
So Difficult?
~People are idiots
~Apples and oranges
~Orange segments of varying value
~Oranges change into lemons
How Not to Prioritize
~Given that
~we have a bunch of apples and oranges
~…that are really hard to value individually
~most of which contain at least some really
important segments
~all of which have some value
~you’re really excited about getting this collection of
fruit~you aren’t paying it yourself…
~Which ones do you want to throw
mercilessly to the lions so they never see
the light of day?
A Better Way…
~What shall we do first?
~What shall we do next?
~Are we done yet?
~(looks you didn’t need those other
things after all…)
Incremental Delivery Saves
Projects From Doom
The Double Benefit of
Incremental Delivery
1. Deliver business value early
2. Maximise the amount of work not done
Feature Splitting
~Split features to
~Make them small enough to deliver in a
sprint
~Avoid delivering the low value 80%
Example – Log In
~Correct username and password (happy
path)
~Incorrect username or password
~Forgotten password (self service)
~Forgotten password (call centre)
~3 times lock-out
~Unlock account (self service)
~Unlock account (call centre)
~…
Options
Engineering
Options Engineering
~The customer is never right
~Who’s the IT expert anyway?
~So…~understand the underlying objective
~Identify as many options as possible
~Cost them
~Select the preferred option collaboratively
~Always include the “do nothing” option
BADM:
A Mini-Method
Business Analyst
Designer Method
Business Analyst
Designer Method
http://www.its-all-design.com/business-
analyst-designer-method/
Take Aways
~There’s no such thing as a requirement
~It’s all decisions
~It’s all design
~Prioritization is really important
~…and really hard
~Incremental delivery saves projects from doom
~Feature splitting is more important than you
think
~Consciously consider options
~Especially manual workarounds or “do nothing”
Maximise the amount of work not done
Discussion
www.its-all-design.com
tony.heap@its-all-design.com
Recommended