bringing software requirements to life by david walker (micro focus) - sep 2009
DESCRIPTION
Tired of numbing statistics that continue to cite requirements as the root of all software project failure? Despite the proliferation of requirements management technologies, requirements problems persist. And, as application development processes increase in complexity, the requirements problem continues to grow - it costs software delivery organizations more than ever before in terms of budget, time-to-market, business value and customer goodwill. You may think you're managing your requirements, but the burning question is: What if you're managing the wrong requirements? Requirements definition goes to the very core of application development - it is the underlying key to project success or failure, yet it is the single most neglected discipline within software development. What are the hidden costs associated with poor requirements? It's much worse than you think. Why traditional approaches to defining applications fail and will always fail. How simulation and prototyping are different from what you do now and why it's worth trying. Defining software requirements is a source of pain for most organizations - but for smart teams, it can be the area of greatest opportunity. Come on out and learn more!TRANSCRIPT
9/24/2009
1
Bringing Software Requirements to Life
David WalkerProduct Owner
[email protected]+1 401 267 8874
9/24/2009
2
bringing software requirements to life
means animating requirements to animate people
• gain a real understanding of the problem
• see why traditional approaches don‟t work
• become your inner educator
• break down the 4th wall
• tgim
9/24/2009
3
requirements problems are a subset of the systemic human
condition of poor communication
http://www.flickr.com/photos/nelsonlai/1258727102/
9/24/2009
4
http://fc07.deviantart.com/fs45/f/2009/112/c/7/Yggrasil__the_world_tree_by_AlphonseCapone.jpg
http://static.panoramio.com/photos/original/3272326.jpg
9/24/2009
5
http://www.greatlakesdigitalsalon.org/entries/CO/534-CO-1.jpg
9/24/2009
6
Babelcorp Inc.
Public Domain
9/24/2009
7
“[project success rates] are a low point in the last five study periods. This year‟s results
represent the highest failure rate in over a decade”
-Standish Group (5/09)
rework
9/24/2009
8
ConfidentialCopyright © 2007 Borland Software Corporation. 15
The Source of Software Defects
Requirements
41%
Others
7%
Data
6%
Interface
6%
Logic Design
28%
Environment
5%
Human
5%
Documentation
2%
Source: U.S. Air Force Project, F. Sheldon, 1992
“Reliability Measurement from Theory to Practice”
ConfidentialCopyright © 2007 Borland Software Corporation. 16
Source: Dean Leffingwell, James Martin
Rework typically accounts for
40% of total project cost
Original Project Cost
60%
Rework Cost40%
Cost of Rework
Why Manage Requirements?
Code1%
Other4% Design
13%Requirements82%
Rework Efforts
Requirements efforts account for
over 80% of rework effort
Size of Team Cost of Team Spending on Rework Potential RM Impact
100 $10,000,000 $4,000,000 $3,200,000
9/24/2009
9
ConfidentialCopyright © 2007 Borland Software Corporation. 17
Relative Cost of Fixing a Defect
0
10
20
30
40
50
60
70
Requirements Design Code Development
Testing
Acceptance
Testing
Operation
Rel
ativ
e C
ost
to
Co
rrec
t a
Def
ect
Source: Barry W. Boehm, Software Engineering Economics
http://www.flickr.com/photos/mzahra1/sets/72157606850556504/show/
9/24/2009
10
McKinsey & Co says…
“If a company is later to market with a new product by only six months, 33 percent of the gross
profit potential is lost”
9/24/2009
11
“Improving time to market by one month improves profits by 12
percent”
Standish says…
9/24/2009
12
• “If a company is later to market with a new product by only six months, 33 percent of the gross profit potential is lost”
http://devcentral.f5.com/weblogs/images/devcentral_f5_com/weblogs/Joe/WindowsLiveWriter/PowerShellABCsQisforQueues_919A/queue_2.jpg
9/24/2009
13
http://www.getacoach.co.nz/images/Oct4/wealth1.jpg
9/24/2009
14
Blame Chain SME #1
Blame Chain SME #2 Blame Chain SME #6
Blame Chain SME #5
Blame Chain SME #3
Blame Chain SME #4
Blame Chain SME #7
Everyone knows requirements must be serious and difficult and you must remain seated at all
times. No fun allowed.
9/24/2009
15
this is not easy…
and…it seems to be getting harder…
9/24/2009
16
(but it doesn‟t have to be “no fun”)
bringing software requirements to life
must be fun
9/24/2009
17
http://ciocollaborative.org/wp-content/uploads/Complexity650-300.jpg
9/24/2009
18
http://www.idiagram.com/CP/cpprocess.html
http://www.globizer.net/service/dat/maps/default/0/0.jpg
9/24/2009
19
technical complexity & software complexity
http://www.flickr.com/photos/nifmus/2385966735/sizes/o/
9/24/2009
20
http://www.flickr.com/photos/steevil/2755466776/sizes/o/
• Fatigue adj. (weariness, tiredness): temporary loss of strength and energy resulting from hard physical or mental work
• How many interesting excuses have you heard? Are they even making excuses any more?
• Maybe we‟ll do better if we DON‟T participate…could it be worse?
http://www.flickr.com/photos/1suisse/3476366880/sizes/l/
9/24/2009
21
bringing software requirements to life
must be engaging
• Fatigue adj. (weariness, tiredness): temporary loss of strength and energy resulting from hard physical or mental work
• How many interesting excuses have you heard? Are they even making excuses any more?
• Maybe we‟ll do better if we DON‟T participate…could it be worse?
• What prevents active engagement? Reflex and Momentum
http://www.flickr.com/photos/1suisse/3476366880/sizes/l/
9/24/2009
22
Reflex: It hurts when I do this…
http://www.freewebs.com/nervous-system/doityourself.htm
http://www.tkk.fi/Yksikot/Laiva/Kuvat/jahrevik.jpg
9/24/2009
23
45
Public Domain
9/24/2009
24
http://messingaboutinboats.typepad.com/sailing/images/2008/01/07/ugly_fish.jpg
What would you fix?
9/24/2009
25
http://farm3.static.flickr.com/2139/2276620170_f1f717a84f.jpg
http://www.immi.gov.au/living-in-australia/help-with-english/NIS/interpreter_symbol_text.jpg
9/24/2009
26
9/24/2009
27
noise
ambiguity
un-reconciled viewpoints
assumptions
ikiwisi
bringing software requirements to life
drives clearer communication
9/24/2009
28
http://www.immi.gov.au/living-in-australia/help-with-english/NIS/interpreter_symbol_text.jpg
http://www.annikeris.com/images/teacher_board.jpg
9/24/2009
29
"Teach me my most difficult concepts in my preferred style.Let me explore easy concepts in a different style.
Just don't teach me all the time in your preferred styleand think I'm not capable of learning."
A comment from Virleen M. Carlson, Center for Learning and Teaching, Cornell University
http://www.bruceeisner.com/myers_briggs_types.gif
9/24/2009
30
vakt
Net Geners Learn Differently
– 10,000 hours playing video games
– 20,000 hours on e-mail –chat – blog
– 20,000 hours watching TV
– 10,000 hours on cell phones, and
– under 5,000 hours reading
– fast paced, highly stimulating presentations
– increased interactivity with content & each other
– information that relates to the learner‟s world
– multiple options for obtaining knowledge.
Susan El-Shamy. Training for the new and emerging generations.
Quoted in http://scope.lidc.sfu.ca/mod/forum/discuss.php?d=521
By 21 years of age, They need:
9/24/2009
31
“Approximately 20 to 30 percent of the school-aged population remembers
what is heard; 40 percent recalls well visually the things that are seen or read; many must write or use their
fingers in some manipulative way to help them remember basic facts; other people cannot internalize
information or skills unless they use them in real-life activities…”
(Teaching Students to Read Through Their Individual Learning Styles, Marie Carbo, Rita Dunn, and Kenneth Dunn; Prentice-Hall, 1986, p.13.)
• lecture
5%
• reading
10%
• audio-visual
20%
• demonstration
30%
• discussion group
50%
• practice by doing
75%
• teaching others / immediate usage
90%
comprehension:average retention rate after 24 hours
http://www.saskschools.ca/curr_content/adapthandbook/learner/images/pyramid.gif
9/24/2009
32
Adult Learners
According to Malcolm Knowles, adult learners have other learning characteristics, including:
• a requirement to know how the knowledge is of direct benefit,
• a need to apply the knowledge through actual experience,
• ability to learn quickly when the training content is considered to be of use,
• a tendency to learn best when a problem-based approach is used,
• a need for independence, but not enough to cause discomfort (e.g., some trainees are uncomfortable with role playing).
bringing software requirements to life
must be interactive
9/24/2009
33
bringing software requirements to life
must present the illusion of realism
bringing software requirements to life
must be in tune with the way they learn
9/24/2009
34
You‟re learners too – how do YOU learn effectively ?
9/24/2009
35
If the only tool you have is a hammer, you tend to see every
problem as a nail.- Abraham Maslow
http://www.flickr.com/photos/deadeyebart/sets/72057594122748485/show/
9/24/2009
36
nullum gratuitum prandium
http://www.ethicurean.com/wp-content/uploads/2009/03/free-lunch.jpg
9/24/2009
37
Requirements Definition
9/24/2009
38
requirements <> definition
Requirements <> Definition
change the name - change the game
• be open to other alternatives
– interviewing
– JAD
– card sorting
– Ethnographic study
– survey
– prototyping / simulation
76
9/24/2009
39
jad
http://www.boxesandarrows.com/files/banda/card_sorting_a_definitive_guide/sampleSort.jpg
9/24/2009
40
http://www.sapdesignguild.org/resources/glossary_web/IMAGES/SV1.JPG
if you had to bet $1000 of your own money…
9/24/2009
41
http://mickmcquaid.com/paper-proto.jpg
9/24/2009
42
what is simulation?
9/24/2009
43
proven in other industries
secures executive attention
9/24/2009
44
prototypes ask questions before they answer them
9/24/2009
45
checklist
– don't take them too far
– need to be „real time‟ for collaboration
– need to get in front of as many eyes as possible
– needs to assist with management of feedback
– need to easily communicate downstream
– needs to integrate seamlessly into RDM
– needs to support non-software processes as well
– can't break the bank
89
http://www.flickr.com/photos/bart_/295339365/sizes/l/
9/24/2009
46
http://www.flickr.com/photos/defwheezer/18789500/sizes/o/
hello, world!
http://www.flickr.com/photos/slworking/3612764200/sizes/o/
9/24/2009
47
http://www.leadershipnow.com/leadingblog/images/process-explained.gif
Breaking the Fourth Wall
http://www.sanantonio.gov/convfac/images/highrezpics/lilastage.JPG
9/24/2009
48
What needs to change
• roundtrip the conversation
• get through - not just give out
• repair relationships
• be relevant – “own the problem”
• define the systems that people want to use
• Change is hard…
95
http://www.stevenmsmith.com/my-articles/article/the-satir-change-model.html
9/24/2009
49
Be a Trim Tab
With respects to Buckminster Fuller:
“Something hit me very hard once, thinking about what one little man could do. Think of the Queen Mary -- the whole ship goes by and then comes the rudder. And there's a tiny thing at the edge of the rudder called a trim tab.
It's a miniature rudder. Just moving the little trim tab builds a low pressure that pulls the rudder around. Takes almost no effort at all. So I said that the little individual can be a trim tab…”
“So I said, call me Trim Tab.”
http://cruiselinehistory.com/wp-content/uploads/2009/02/moittelcollectionmuseum001.jpg
9/24/2009
50
Visual Language
http://www.flickr.com/photos/visualthinkmap/2533934877/sizes/l/
9/24/2009
51
visual language
this poses an ethical question
can we ethically continue to create our content, in the same “old prose” way, creating 23 to 89% more difficulty for
readers, and hence, creating that much more suffering for them?
can we ethically not use visual language?
Robert E. Horn (paraphrased)
9/24/2009
52
can we ethically not use interactive approaches when defining
applications?
can we ethically not bring software requirements to life?
9/24/2009
53
Bringing Software Requirements to Life
David WalkerProduct Owner
[email protected]+1 401 267 8874