You are on page 1of 6

Three Levels of Learning

Learning new skills


Following: one procedure that works, at
Agile Software Development least this thing works
Detaching:when does it break down? learn
limits of procedure, adapt it, when is it
Alistair Cockburn appropriate? Survey paper.
Addison Wesley Fluent:irrelevant whether following a
particular technique, knowledge has become
integrated.

The Three Levels and


Three Levels of Methodology
Methodology
Methodology: a series of related methods Level 2/3: The Pragmatic Programmer:
and techniques (Miriam-Webster) identifies techniques that a practitioner uses.
Level 1: processes, techniques and A useful library of ideas but the beginner
standards in detail. Detailed templates in finds it lacking specific rules.
RUP servel level 1 audience. Big Avoid level mixup! It confuses.
methodologies of Accenture (anderson
Consulting).

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

Software and Rock Climbing Software and Rock Climbing


Best comparison partner Team
Cooperative and goal seeking Individuals with talent
How well they climbed together
Skill sensitive
How much they enjoyed themselves
Reach the top? Training
Load bearing Tools
Climbers must support their weight. Software Resource-limited: before nightfall or the
must run. weather changes.

A Game of Invention and


Software and Rock Climbing
Communication
Plan Software development: group game which
Improvised is goal seeking, finite and cooperative
Team: sponsor, manager, usage specialists,
designers, testers and writers
Next game: maintenance, build an entirely
different system

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

Engineering What is doing engineering


People mostly use engineering to create a In my experience: involves creating a trade-
sense of guilt for not having done enough of off solution in the face of conflicting
something, without being clear of what that demands.
something is. Also applies to software development.
Dictionary: The application of science and
mathematics by which the properties of
matter and the sources of energy in nature
are made useful to man (Websters Dic.).

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.

Look up previous solutions Fits marginally


The other part of doing engineering This only fits marginally the current state of
Civil engineers are not supposed to invent software development
new structures. We are still in the stage where there is
competition between designs.
Take soil samples and use the code books to
look for the simplest structure that handles the Technologies are changing fast that few
required load over the given distance building code books exist
on the soil at hand. Today there are more variations between
Centuries of tabulation of known solutions systems than there are commonalities.

Return Software and Model Building


Return to consider engineering as thinking Ivar Jacobson: software development is
and making trade-offs. model building
Leads to inappropriate project decisions

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.

What is Programmers as Communications


software development? Specialists
Software Development is a resource- Game of communication: different light on
limited) cooperative game of invention and programmers
communication. Stereotyped as noncommunicative individuals
The primary goal of the game is to deliver who like to sit in darkened rooms
useful, working software. High acceptance of programming in pairs
The secondary goal of the game is to set up for Programmers thought they would not like it but
the next game. The next game may be to alter they like it! (Extreme Programming)
or replace the system or to create a neighboring
system.
Not many people have articulated this before

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).

Gaming Faster Analogy


We should not expect orders of magnitude Two other fields of thought expression
improvement in program production. Writing novels
As much as programming languages may Writing laws: Lawyers wont get exponentially
improve, programminvg will still be limited faster at creating contracts and laws!
by our ability to think through the problem
and the solution.

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.

You might also like