Egoless programming explained

Egoless programming is a style of computer programming in which personal factors are minimized so that quality may be improved. The cooperative methods suggested are similar to those used by other collective ventures such as Wikipedia.

History

The concept was first propounded by Gerald M. Weinberg in his seminal book of 1971, The Psychology of Computer Programming.[1]

Peer reviews of code

To ensure quality, reviews of code by other programmers are made. The concept of egoless programming emphasises that such reviews should be made in a friendly, collegial way in which personal feelings are put aside. Structured walkthroughs are one way of making such a formal review.[2]

Strengths

Weaknesses

Rival concepts

Egoless programming explicitly minimizes constraints of hierarchy and status so as to enable the free exchange of ideas and improvements. It may be contrasted with the chief programmer team concept which emphasises specialisation and leadership in teams so that they work in a more disciplined way.

See also

External links

Notes and References

  1. Book: Weinberg, Gerald M.. The Psychology of Computer Programming . Van Nostrand Reinhold . 1971 . 9780442207649 .
  2. Book: Wiegers, Karl Eugene. Peer Reviews in Software: A Practical Guide . Addison-Wesley . 2001 . 14 . 978-0-201-73485-0 .
  3. The Effect of Programming Team Structures on Programming Tasks . Mantei . Communications of the ACM . March 1981 . 24 . 3 . 106–113 . Marilyn . 10.1145/358568.358571. 207907944 .
  4. The Effect of Programming Team Structures on Programming Tasks . Mantei . Communications of the ACM . March 1981 . 24 . 3 . 106–113 . Marilyn . 10.1145/358568.358571. 207907944 .
  5. The Effect of Programming Team Structures on Programming Tasks . Mantei . Communications of the ACM . March 1981 . 24 . 3 . 106–113 . Marilyn . 10.1145/358568.358571. 207907944 .