• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Software development as a game

 
Rancher
Posts: 1449
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Cockburn recently had an article in Software Development magazine (I think it is an excerpt from the giveaway book) that uses the metaphor of software development being a game. As I recall he says the two main goals are to 1) win the game (successfully develop and deploy software) and 2) get yourself in position to play again (do some more development).
I'll see if the article is on the SD website and post a link if it is.
Any thoughts on this analogy/metaphor?
John
 
John Wetherbie
Rancher
Posts: 1449
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Oops. Someone already posted the article.
John
 
Author
Posts: 6055
8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I think a more interesting question is whether game theory or system dynamics applies to software development. I only know some of the basics of game theory, but I certainly see some of the lessons applying (and recently helped to teach one of those lessons to some kids at MIT).
Interesting historical note: the founder of system dynamics, Jay Forrester (MIT '45), invented random-access magnetic-core memory, left the computer field because he felt that all the significant innovations had already been made.

--Mark
 
Ranch Hand
Posts: 356
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Well game theory is a model for some physical process ... and definitely some of the things suggested in the article is true ...
 
John Wetherbie
Rancher
Posts: 1449
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I would think you could apply game theory to software development. People apply it to study/model economics, poly sci/politics, military strategy and I think s/w development has similarities to these fields if for no other reason than you have people interacting.
One of the most interesting (?) things I have found about the software industry is the view from outside vs. what actually happens (in most cases). When you talk with people they think we all sit in dark rooms by ourselves just coding away. In most of the jobs I have had, working with the other people/groups/organizations has taken more time (well, it sure seems like it ) than writing and testing the software. So it seems credible that game theory might be a reasonable tool.
Now I'll have to read up on game theory...
John
 
Ranch Hand
Posts: 445
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I like the game and goal-achieving metaphor . So it requires people to be cooperative and communcate each other. The goal is the motivation. Also the game requires creativity, since every game differs. The rules of game are your requirements.
[ February 21, 2002: Message edited by: Doug Wang ]
 
Ranch Hand
Posts: 106
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
in a game, there are winners and ... loosers
what side do you choose ?
 
Sheriff
Posts: 17644
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Guillaume Compagnon:
in a game, there are winners and ... loosers


aside, software development does not fall into this category of games. As Alistair explains in his book, software development is a cooperative, goal-seeking game where "people work either to win together or to continue the game as long as they consider it worth playing." "Losing" in this game means not meeting the goals, which means nobody wins...
Junilu
[ February 21, 2002: Message edited by: Junilu Lacar ]
 
Junilu Lacar
Sheriff
Posts: 17644
300
Mac Android IntelliJ IDE Eclipse IDE Spring Debian Java Ubuntu Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Doug Wang:
I like the game and goal-achieving metaphor...The rules of game are your requirements.


I have read the first two chapters of the preview book. I am still trying to digest and reflect on most of what I read--and this is going to take a while since the first few chapters are more abstract--but Alistair seems to make a distinction between a metaphor and what he calls a "comparison partner".
My impression is that Alistair does not see "cooperative and goal-seeking game" so much as a metaphor but as something else. Right now, that "something else" as I understand it is another way of "seeing" what software development really is (vs. what it is like if we take it as a metaphor).
Why make the distinction between metaphor and "comparison partner"?
Junilu
 
Author
Posts: 43
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
The reason to distinguish between a metaphor and a comparison partner is to affect how people use the two.

With a metaphor, one pretends the one *is* the other, and all the mental links about the one are applied to the other in a mapping. With a comparison partner, the two are both elements of something else, and so have parallels.
Software *is* a cooperative game - or, as someone here wrote, when you put on glasses colored with the "cooperative game" filters, the actions on project shine through. In that sense, it might be a metaphor. In any case, it gives us a vocabularly.
Rock climbing is not a metaphor for software development. Or at least, if it were, one would talk about, "What stage of the climb are we in? Are our anchors secure? How much light is there? Are the belays in place?" etc. Which doesn't do much for me as a programmer.
Alistair
 
Don't get me started about those stupid light bulbs.
reply
    Bookmark Topic Watch Topic
  • New Topic