Professional Documents
Culture Documents
A Cooperative Game of
Shu-Ha-Ri
Invention and Communication
Three levels are known in other skill areas: A fruitful way to think about software
Aikido (self defense technique) development.
Shu: learn. Build technical foundation for Games used by mathematicians and
the art. Single instructor. corporate strategiests.
Ha: detach. Understand meaning and Kinds of games: zero-sum, positional,
purpose; not just repetitive practice. competitive, cooperative, finite,
Ri: transcend. Practitioner; original thoughts
1
Software Development Infinite Games
Group game Infinite games: organizations, corporations
Non-zero-sum: multiple winners and losers. and countries, a persons profession.
Better not viewed as a positional game: Do well in one game to be well positioned
state is recorded. for the next one.
Cooperative
Goal-seeking
Finite
2
Cooperative Game of Invention
Emotions, wishes and thoughts
and Communication
Measure of quality as a team: how well they The task facing the developers:
cooperate and communicate during game. They are working on a problem they dont fully
understand and that lives in emotions, wishes and
What are the moves of the game: thoughts and that changes as they proceed.
There is nothing in the game but peoples ideas They need to understand.
and the communication of those ideas to their Problem space.
Imagine some mechanism in a viable technology space.
colleages (including the sponsor) and to the
Express in an executable language which lacks many features
computer. of expression to a system that is unforgiving of mistakes.
What is
Software and Engineering
software development?
Software Development is a resource- Considering software
limited) cooperative game of invention and development as a game with
communication. moves is profitable.
The primary goal of the game is to deliver Gives us a way to make meaningful
useful, working software. decisions on a project.
The secondary goal of the game is to set up for In contrast: speaking of software
the next game. The next game may be to alter development as engineering or
or replace the system or to create a neighboring model building does not help.
system.
Not many people have articulated this before
3
Confusing act and outcome More like Engineering?
Outcome: The factory, which is run while When people say: Make software
specific people watch carefully for development more like engineering they
variations in quantity and quality of the often mean, Make it more like running a
items being manufactured. plant, with statistical quality control.
Act: ill-defined creative process the But: running the plant is not the act of doing
industrial engineer goes through to invent engineering.
the manufacturing plant.
4
Interesting part not in models But successful project teams say
If software development were model The interesting part of what we want to
building, then the valid measure of the express doesnt get captured in those
quality of the software or of the models. The interesting part is what we say
development process would be the quality to each other while drawing on the board.
of the models (fidelity, completeness) We dont have time to create fancy or
complete models
Paying attention to the models interfered
with developing the software
Modeling as team
Sufficiency
communication
The work products of the team should be Can be too much or too little.
measured for sufficiency with respect to How much modeling to do? Subject of this
communicating with the target group. book.
It does not matter if incomplete, incorrect
syntax, if they communicate sufficiently
to the recipients.
5
Game of invention Universities
So far not as a game of communication Can reverse the general characteristics by
Interest of programmers to discuss creating software development curricula
programming matters gets in the way of that contain more communication-intensive
them discussing business matters with courses
sponsors, users and business experts. Attracts different students (University of
Aalborg, Denmark).
Diminishing Returns
Because a software development project is
resource limited, spending extra to make an
intermediate work product better than it
needs to be for its purpose is wasteful.
Work products of every sort are sufficiently
good as soon as they permit the next move.