420 likes | 431 Views
There’s No Such Thing as a Requirement. Tony 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
E N D
There’s No Such Thing as a Requirement Tony 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
Business Change To-be As-is 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 • Charge customers more • Pay suppliers less • Open more supermarkets • Expand into convenience stores • Go online • Do nothing
CEO • How can I deliver • a better return on investments? • Options / components • Charge customers more • Pay suppliers less • Open more supermarkets • Expand into convenience stores • Go online • Do nothing
Head of Online • How do I deliver • Online grocery shopping? • Options / components • Online platform (web) • Online platform (mobile) • Picking and packing capability • Home delivery capability • Click & collect capability • Customer service capability • Do nothing
Head of Online • How do I deliver • Online grocery shopping? • Options / components • Online platform (web) • Online platform (mobile) • Picking and packing capability • Home delivery capability • Click & collect capability • Customer service capability • Do nothing
Business Analyst • How do I deliver • Online platform (web) • Options / components • Register • Log in • Browse products (not logged in) • Browse products (logged in) • Add product to trolley • Add product to wish list • …and so on • Do nothing
Business Analyst • How do I deliver • Online platform (web) • Options / components • Register • Log in • Browse products (not logged in) • Browse products (logged in) • Add product to trolley • Add product to wish list • …and so on • Do nothing
BA – Next Level of Detail • How do I deliver • Register • Options / components • Capture customer name • Capture customer date of birth • Capture customer password • Password is at least 8 characters • Password contains non-alpha characters • Fingerprint authentication • …and so on • Do nothing
BA – Next Level of Detail • How do I deliver • Register • Options / components • Capture customer name • Capture customer date of birth • Capture customer password • Password is at least 8 characters • Password contains non-alpha characters • Fingerprint authentication • …and so on • Do nothing
UX Designer • How do I deliver • Password is at least 8 characters • Options / components • Display error after user submits • Display warning before user submits • Disable submit button until user enters 8 chars • Do nothing
UX Designer • How do I deliver • Password is at least 8 characters • Options / components • Display error after user submits • Display warning before user submits • Disable submit button until user enters 8 chars • Do nothing
Developer • How do I deliver • Display warning before user submits • Options / components • Update the DOM with the warning text • Have a hidden DIV and make it visible/invisible using CSS • …others? • Do nothing
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)
The Waterfall Cargo Ship M M M M M M M M M M M M M M M HMS Waterfall
Things to Know About Prioritization • Prioritization is really important • 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 somevalue • 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 • Deliver business value early • 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 • 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
Business AnalystDesigner 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