WORKING BETTER
IN SOME WAYS
THAN OTHERS
INTRODUCTION
People’s natural way of working
Work starts with something concrete and
tangible
Altering rather than starting from scratch.
The world carries its own
structure, so that specificity
always implies generality. That is
why stories can be so powerful in
conveying ideas, often more so
than articulation of the idea itself.
CONCRETE
Minds operate directly from concrete
examples.
Billiards
DEDUCTION
In performing deduction we,
i. Construct an internal model of the state of
affairs that the premises describe
ii. Formulate a brief description of the models
constructed.
iii. Search for alternate models of the premises
in which the conclusion is false.
Software design process
To compose plans:
i. Build a mental model of a proposed solution to the
problem
ii. Mentally execute the model to see if it does indeed
solve the problem, providing sample input to the
model to see if it produces correct output.
iii. When sufficient samples have passed the test,
assume the model to be a suitable design and
begin representation of the design.
User composites
Lazy user Detail Expert in Slow in
oriented short cuts learning
user
Interaction diagrams
Sequence diagram
Collaboration diagram
TANGIBLE
Beyond concrete is providing something
tangible, something to touch.
Mid 80’s – paper prototypes
During discovery phase of designing a
user interface, such “low fidelity”
prototypes are considered even more
effective than screens simulated.
Example
ROUGH ARCHITECTURE DRAWINGS
Informance
An interactive performance
A concrete, user intreactable mock up is
created
Everyone involed in development can see
the strong and weak points of the
proposed idea.
SOMETHING TO ALTER
Copying and altering work is the standard
mode of operation.
A person finds a previously done sample
and changes all particulars until the work
product becomes what he needs.
Designers rarely
start from scratch
Example
Airline companies traded frequent flier
applications in late 1990’s.
This application provides a competitive
advantage over other companies.
So, a company would recover development
costs by selling its frequent flyer application to its
competitor.
The buyer recognizes that the application could
not be quite correct but it would take less effort
to alter it than build it from scratch.
Implication
Is that, the work samples that a person
collects would like it to be relatively good,
having the structure and style they don’t
mind re using.
WATCHING AND LISTENING
Humans have the knack of learning by watching as well
as by doing.
Line-of-sight and line-of-hearing learning
Expert in Ear shot strategy
Pair programming is a technique that provides both the
above mentioned methods.
PP has been popularized largely through extreme
programming.
PP reports faster learning of programming techniques
and program domain.
It also ensures faster code production and lesser errors.
SUPPORTING CONCENTRATION
AND COMMUNICATION
Software development is both thinking
intensive and communication intensive.
FLOW
Every project team should find time to get
into flow and should protect these times.
Contd..
DeMarco and Lister suggest, designating
2 hours everyday as quiet time.
Turn off phones and ban all meetings at
this time.
XP recommends “cave and commons”
room layout.
CAVES AND COMMON
PRIVATE
SPACE
FOR WORK AREA
PERSONAL
NEEDS
Contd..
People produce their best work in
scenarios like this.
But some people do not like this set up as
it pries into their personal space.
Examples have been cited where some
workers rather quit than to work in a
shared workspace.
PERSONALITY MATCHED WORK
ASSINMENTS
For people to perform their best, it helps if
their job assignments are aligned with their
strong points.
Eg.s follow
The socially minded manager
The manager did not want to offend
anyone.
So, he could not make hard personal and
priority decisions that are most needed in
a manager.
He was in too high a post so he could not
be replaced. The project continued to
suffer.
The nonverbal team lead
If the team lead were a non-
communicating programmer,
Rather than coaching the novice
programmers on improving their
programming skills, he changed their code
when they were not around.
He was replaced with a manager who had
good communication skills.
Concrete thinking OO designer
He was not able to think abstract enough
to produce good OO designs.
But his attention to detail made him good
at defining requirements, where his careful
thinking and attention to detail paid off.
REWARDS THAT PRESERVE
JOY
Reward based on :
LOC sent to test department?
Low defect rates sent to test dept?
Function points delivered each month?
No. of lines reused form a corporate library?
LOC based
One person incorporated components
from the company’s reuse library.
But was given credit only for her own LOC.
As a result she received low evaluation.
Wrong rewards
Young children rewarded for drawing are
less likely to draw compared to children
who draw for the fun of it.
Employees who are praised for meeting
the manager’s expectations suffer a drop
in motivation.
Solution?
Pride in work
Pride in accomplishment
Pride in contribution
FEED BACK
People benefit from clear and frequent
feedback
Every 2 to 6 weeks, depending on the
project’s duration, the team gathers to
discuss what went well and what didn’t
and what to try out in the next period.
DRAWING ON SUCCESS MODES
The different success mode are,
Being good at looking around
Being able to learn
Being malleable
Taking pride in work
Taking pride in contributing
Being good citizens
Taking initiative
Good at looking around
That people are good at this is reflected in
the way they organize paper in their lives.
Sorting
Code maintenance
Technical lead
People learn
Novices don’t stay novices forever
Novices on one project become senior
designers a few projects later.
In long running projects, senior people leave and
juniors take up their positions who have now
become seniors.
They use their ability to look around and detect
what needs improvement , and then invent new
ways of working to try out in the next incement.
Malleable
People are remarkably able to act differently
given new motives and new information.
In a project, the manager wanted simple
solutions rather than difficult complicated ones.
The technique he used was “Peer pressure
Ritual”.
But, not everyone might be malleable enough to
adopt XP.
Contributing and taking initiative
Pride in contribution and work are core
contributors to a project’s success.
Being good at looking around and being
spontaneous helps bringing up initiative to get
the jobs being done every day to keep the
project in its peak form.
As the team gets better at pride at work,
communication, citizenship and initiative, the
process can become less formal, based more on
noticing what needs to be done.
Combining success modes
It is possible to construct a development
methodology just around the points
discussed so far.
E.g.
Heroes as ordinary people
In well-run projects, people in any job
description can notice when something is out of
order and act to correct it or notify someone who
can.
Although heroes who work overtime are needed.
But, ordinary people who work with a sense of
pride and community, when they notice
something wrong, pass information to someone
who can fix it or rather they themselves fix it for
others.
Contd..
E.g. – finding errors in PC board
Conclusion:
Everyone in a project is in a position to detect
a mistake
After a person detects a mistake, the cost of
getting the information to the right person
starts to drive the cost of the project.
Conclusion
Start noticing the strengths, weaknesses and
oddities of people around you.
Notice
How some fit their jobs and some don’t.
How some people are consistent while others aren’t
The presence of both list makers and those who
dislike lists
Some people taking unnecessary risks while others
don’t
What your boss says the next time you offer a
suggestion for improvement
Contd..
About the time you start to wonder how on
earth anything gets done in your company
with such a mixture of fit and misfit.
Notice:
The team work
The citizenship displayed by people,
The initiatives displayed spontaneously
Contd..
Collect a few good work samples
Enlist a few others also to do this and put these
collections online for everyone to copy them.
Reduce interruptions (At least for 2 hours)
Reduce the need for mechanisms that rely on
people’s weaknesses
Increse mechanisms that draw on the strengths
of people and let them use the talents better.