Agile Software Development
Автор: Alistair Cockburn /
CHAPTER 1. A Cooperative Game of Invention and Communication Software and Games
-
Часть 4
-
Neither is a valid conclusion. Modeling serves as part of the team communication. There can be both too much and too little modeling. Scrawling on napkins is sufficient at times; much more detail is needed at other times.
The Cooperative Game Principle
Software development is a (resource-limited) cooperative game of invention and communication. The primary goal of the game is to deliver useful, working software. The secondary goal, the residue of the game, is to set up for the next game. The next game may be to alter or replace the system or to create a neighboring system.
Programmers as Communications Specialists
Saying that "software development is a cooperative game of invention and communication" suddenly shines a very different light on the people in our field.
Programmers are typically stereotyped as non-communicative individuals who like to sit in darkened rooms alone with their computer screens.
It is not a true stereotype, though. Programmers just like to communicate about things they like to communicate about, usually the programs they are involved in. Programmers enjoy trading notes about XML-RPC or the difficulties in mapping object-oriented designs to relational databases. They just don't like joining in the chitchat about what this year's football teams are doing.
There has been a surprisingly high acceptance of programming in pairs, a technique in which two people sit together and co-write their program (Beck 1999). I say "surprising" because many programmers first predict that they won't be able to work that way and then find they actually prefer it, after trying it for a week or two (Cockburn, 2000).
Understanding how much modeling to do, and when, is the subject of this book. Thinking of software development as a cooperative game that has primary and secondary goals helps you develop insight about how elaborate a model to build or whether to build a model at all.
As far as the stereotype is true, it accents the "invention" portion of the cooperative game. Programming has, up until recently, been more focused as a game of invention than as a game of communication. The interest of programmers to discuss programming matters with each other gets in the way of them discussing business matters with sponsors, users, and business experts.
Backing this up, we can attribute part of the cause for this to our educational curricula. Imagine some people thumbing through the university's curriculum guide. They see two tracks: One calls for a lot of reading, writing, and speaking, and some programming. The other calls for less reading, writing, and speaking and more of working alone, building artifacts. We can easily imagine the verbally oriented people selecting the first curriculum and the less verbally oriented people selecting the second.
Historically, success in our profession came from being able to sit alone for long hours without talking to anyone, staring at papers or screens. Those who didn't like that mode of work simply left the field. Newer, and particularly the "agile" methodologies, emphasize communication more. Suddenly the people who elected to join a profession that did not require much interpersonal communication are being asked to become good at it.
Only the universities can reverse the general characteristics, by creating software-development curricula that contain more communication-intensive courses.
-
Навигация [ Часть 4. Глава 4. ]
Закладки
The surprising thing about human success modes is how nebulous…
After much coaching for six months, his programs still…
The chart shows the state of the user stories being worked…
For us as designers, it was possible to express both…
Walk around your place of work. Notice · The convection…
Using the planning game in this way, the sponsors can…
We see an example of needing these normalizing rituals…
That it is people who design software is terribly obvious.…
On a new project, I would use Crystal Orange as a base…
Types of Methodologies Rechtin (1997) categorizes methodologies…
1. Project name, job of person interviewed (the interviewee…
The complete discussion about when and where to apply concurrent…
It follows that on the Theory Building View, for the primary…
The industry is littered with projects whose sponsors…
The main question is, if you were funding this project, which…
Accepting program modifications demanded by changing external…
13. (FIRST TECHNIQUE). .. your sword now having bounced upward,…
Games are not just for children, although children also play…