When writing code, a programmer does not have to worry that the computer may suddenly decide that the next instruction is not worth its time. However, when designing a social procedure in which individual agents are performing each instruction, such a situation could arise. A successful piece of social software, i.e., procedures involving the interactions between multiple agents, will ensure that each agent can and will perform each action assigned to it. This implies that someone designing social software should keep in mind not only the flow of information in a multi-agent setting but also game-theoretic considerations such as trying to find a mutually preferred outcome. Though game theory is a highly technical subject with no special attention to sports, an example of a social procedure designed to help make a sporting system more fair is the Major League Baseball Draft whereby the teams which performed the worst in the last season get the first choice of players for the new season.
 Though game theory is a highly technical subject with no special attention to sports, an example of a social procedure designed to help make a sporting system more fair is the Major League Baseball Draft whereby the teams which performed the worst in the last season get the first choice of players for the new season.
D
When writing code, a programmer does not have to worry that the computer may suddenly decide that the next instruction is not worth its time. However, when designing a social procedure in which individual agents are performing each instruction, such a situation could arise. A successful piece of social software, i.e., procedures involving the interactions between multiple agents, will ensure that each agent can and will perform each action assigned to it. This implies that someone designing social software should keep in mind not only the flow of information in a multi-agent setting but also game-theoretic considerations such as trying to find a mutually preferred outcome.