Much of the work is creating successful software is managing the critical "human relationships" between stakeholders and team members. This presents practices and tools for eliciting requirements and strengthening ongoing communication during development.
Originally this was an Extended Session at the IEEE/ACM IT Professional Conference held at the 38th Annual Trenton Computer Festival, Saturday 2013-03-16.
2. Which is the most difficult
language to work in?
C++
Python
Perl
Objective C
None of the above
3. Which is the most difficult
language to work in?
C++
Python
Perl
Objective C
None of the above
4. Which is the most difficult
language to work in?
… English …
… or whatever else is the dominant language used to
communicate in your workplace (e.g., Hindi, Hebrew, French,
Spanish, Tagalog, etc.)
5. What I will talk about isn’t very
technical …
… but it isn’t very easy
14. Talking to Users
See exactly what users are actually doing …
“Job Shadowing”
Find out what users want …
Card Sorting … and other methods
Find out what people are thinking …
“Survey” … and other methods
Create designs that fit how users actually do thing
User-Centered Designs
19. Low Medium High
1
2
3
4
5
6
7
Spell Check* (22)
Undo* (33)
Quick Save (23)
Match tree and
pane labels (15)
Drop Down
Prompts* (4)
Toggle Set Leader
Display *(20)
Fix Graphics
Preview* (31)
Distinct Error
messages (7)
Preview Reading
Items (25)
Spell Check* (22) Spell Check* (22)
Undo* (33)
Toggle Set Leader
Display *(20)
Fix Graphics
Preview* (31)
Show
Augmentation (1)
Remap Error Msgs
(6)
Remove Stray
XML Chars* (29)
Item Text
Search* (27)
RTE Resizing**
(14)
Redesign Upload
Link (16)
Branch only of
XML Tree (22)
Remove Stray
XML Chars* (29)
Item Text
Search* (27)
Drop Down
Prompts* (27)
U
s
e
r
R
e
q
u
e
s
t
s
Implementation Cost
A. “High Value, Low Cost” B. “High Value, Medium Cost”
C. “Low Value, High Cost”
27. Create more customer feedback channels
“Client Council”
Locate all Team members close to each other
“Colocation”
Meet weekly all stakeholders
Multiple Face-to-Face weekly meetings
Teams Talking to Each Other
36. How to change the process
Change the development models from Waterfall to
more Participative Decision-making
Get more stakeholders involved in decision-making
Collect “User Stories” … and document what they say
Bring Stakeholders together more frequently
Revise requirements … continually
48. Wrap Up
Human communication helps create great software
Development Teams must speak with Users
Development Teams must speak among themselves
New software development models (agile; Lean UX)
may help promote better communication and
decision-making
49.
50. If I can help …
“I help make computer systems easier for
people to use”
Richard D. Herring
rdherring5@yahoo.com