Wednesday, February 11, 2009

Metaphors between ANN and Scrum

Apparently there is no any relationship between a software development process (Scrum) and a computing process (ANN) at all. But I do find some interesting metaphors between ANN and Scrum.


ANN:::::::::::::::::::::::Scrum
Neural network--->Scrum team;
neuron---> team member;
weight---> teammate relationship;
Active function---> individual capability;
Problem space---> Product Backlog;
Solution Space---> executable software;
Learning iteration---> Sprint;
Learning Criteria---> Definition of Done;
Back-Propagation---> Retrospective;
Self learning---> Self management;
No analytic methodology---> No command-control;

What do you need to do in Scrum/ANN to get solutions?

design learning algorithm---> Customize the framework;
Design topology of the neural network---> Form the team;
Keep weights carefully---> Keep the team intact;
Define solution and problem space --->Define Product Backlog and Definition of Done;



Yes, there is no analytic methodology in ANN anymore. So does Scrum.

Don’t we try to solve the problems (software development) in sort of analytic ways in traditional process (e.g. waterflow process)? Moreover, we may take ANN as a heavily heavily simplified Scrum team (as it was supposed to be heavily simplified neural network). If we can think in this way we were probably closing to the fundamental of Scrum from different view point. And in return we may get some lessons or inspiration from ANN.

linchuan
----------------------------------------------------------
Hi Linchuan,

I am pretty impressed by your metaphor. It is very well explained and
crystal clear. I like it.
Maybe the parallel between ANN and SCRUM is made possible because both
are "empirical", as opposed to "theoretical" (traditional waterfall
process).
On this page, http://www.controlc haos.com/ old-site/ philsd.htm ,
Schwaber makes a distinction between the theoretical system
development method(the model can be predetermined in advance and
executed in a linear way) and the empirical one(where trial&error and
learning are part of the process that still delivers functional
products). From the later definition both SCRUM and ANN (with the
crucial importance of the learning phase) are empirical.
So your metaphor is, in my sense, also made possible because of the
theoretical/ empirical distinction.

Just my 2 fen! (in China we do not use "cents"...) ;)

Julien.
----------------------------------------------------------

yes. we can also make similar metaphor from different perspectives. ANN metaphor is an evidence of that empirical doesn't mean chaos in any sense. And further more, empirical can be proved mathematically, e.g. ANN. The inventors of Scrum also mentioned we can found theoretic supports from process dynamics... But ANN works fine for me (i do not have many knowledge on process dynamics). And i believe that sort of theories on chaotic and complex system should be the rock base of Scrum (or ANN or process dynamics ...). I'm not going to move too far on theory of Scrum (some body may). ANN metaphor can give us some guides or clues on how to use empirical method to solve problems.

Some software project managers, as far as i know, feel uncomfortable (or confused) with the new role in Scrum (ScrumMaster). Some said there is less job for PM or I do not know what i can do expect maintaining a few backlogs, apparently everyone can do that . As you can see in my metaphor, it is not true at all. There is a lot of things to do for a ScrumMaster or ScrumMster of Scrums (usually can refer to PM in traditional process). But you have to change the way you do it. And the new role is more challenge than PM in traditional project management practices rather than trivial for everyone.

Is it easy to design and implement a working ANN to solve a practice problem? Although ANN looks very simple.

linchuan
----------------------------------------------------------
Hi,

Interesting analogy. Is there any link between ANN and CAS
(Complexity Adaptive System), where inspection and adaptation come
from?

Though, i would NOT think of Scrum Master as Project Manager in
agile mode, rather, the traditional Project Management is
distributed into all Scrum roles - Product Owner (content, schedule
and budget), Team (self-managing) , and Scrum Master (removing
impediments) .

-Yi
----------------------------------------------------------
I strongly agree with you that ScrumMaster is NOT PM (job title). In practice, some PMs(hierarchy title) will take ScrumMaster role, especially ScrumMaster of Scrums.

So it is what i was trying to say with " a ScrumMaster or ScrumMster of Scrums (usually can refer to PM in traditional process)" .

linchuan

No comments:

Post a Comment