Eduardo Guerra
2010/6/10, Stefan Roock <stefan...@it-agile.de>:
--
Enviado do meu celular
Excellent idea.
--
Best,
Marc
"Change requires small steps."
:-)
Brandon
P.S. I haven't, but it's an interesting topic.
> The practice of using Metaphor in software is hard and yet we've never taken
> steps to make it easier.
> I think a catalog of metaphors could help people, particularly metaphors
> that have been successfully used on software projects.
> Would folks be interested in creating such a catalog?
i would definitely be interested in _having_ such a catalog available... so yes.
maybe we should use a wiki tool or something other than just email to
brainstorm/ collect?
i recently had a great jazz keynote experience at xp2010, and wrote a
blog post about it which in essence is about jazz (or music
performance) as a metaphor.
http://skaug.no/ingvald/2010/06/kanban-agile-jazz.html
note: that post is "theoretical" - i haven't tried to use the music
performance metaphor in any context...
> Perhaps we could begin by informally sharing successful metaphor stories on
> this list.
here's a small contribution...
a co-worker and i had some success communicating about technical debt
(and later work in progress) vs throughput by using a metaphor of a
container where water comes streaming in on one side near the top, and
out at the other side near the bottom, and there is silt in the
container.
the technical debt and work in progress is the silt, and the more
there is of silt (WIP/debt) the less water (deployed work, income...)
comes out of the container.
ref context: this metaphor is quite simple, but was useful in
initiating increased understanding by non-developers in the company
about the state of the code and dev process (ref tech debt and a long
backlog).
it related to sales and management experiencing low(er) throughput,
but didn't go further (f.ex. on company vision and other business
needs). so the scope was mostly the code and dev process from backlog
to deployment.
regards,
ingvald
here's a small contribution...
a co-worker and i had some success communicating about technical debt
(and later work in progress) vs throughput by using a metaphor of a
container where water comes streaming in on one side near the top, and
out at the other side near the bottom, and there is silt in the
container.
the technical debt and work in progress is the silt, and the more
there is of silt (WIP/debt) the less water (deployed work, income...)
comes out of the container.
Who should use that Catalog? Maybe ordinary users, business people, IT
professionals, IT students...?
How that Catalog must be handled by ordinary users?
How that Catalog must be handled by business people?
How that Catalog must be handled by IT professionals?
How that Catalog must be handled by IT students?
What would be that Catalog's central purpose?
The answers depend on the nature/kind of software metaphor we are talking
about. Are the chosen metaphors related to problem domain, solution
domain, or both?
For those metaphors related only to problem domain, the Catalog could
present tools for transforming problems: mathematicians use tools like
variable changes and function transforms (e.g Laplace, Fourier) to make
difficult problems easier to solve. It's similar to mapping concepts from
one domain into other, only to make things more manageable. Mathematicians
used to transform the problems (based on experience, catalogs, handbooks)
before starting the solution efforts. Students learn this kind of tools to
prove the correctness of their (more elegant) solutions. The public of the
proofs includes other students/professional mathematicians.
For those metaphors related only to solution domain (as in a design
pattern): "every new convenience for the user had to be paid for by the
implementation, either in the form of increased trouble during
translation, or during execution or during both" (Dijkstra, see [1]).
For those metaphors related to high-level, common understanding of the
problem/solution pair, we have to bring ideas from other fields of
knowledge such as sociology, psychology: "A boundary object is a concept
in sociology to describe information used in different ways by different
communities. They are plastic, interpreted differently across communities
but with enough immutable content to maintain integrity." (Wikipedia, see
[2]). "Beck should have boldly called it Allegory: an extended metaphor in
which a story is told to illustrate an important attribute of the subject,
or even a Parable!" (Kruchten, see [3]).
[1] http://userweb.cs.utexas.edu/users/EWD/transcriptions/EWD01xx/EWD117.html
[2] http://en.wikipedia.org/wiki/Boundary_object
[3]
http://pkruchten.wordpress.com/2009/07/21/metaphors-in-software-architecture/
Kindest regards,
@edmundoandrade