The concept was first propounded by Gerald M. Weinberg in his 1971 book, The Psychology of Computer Programming.1
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
Note: The single paper cited 8 for 'Strengths & Weaknesses' is from 1981 and says in its conclusions:
Most of the research on group problem-solving behavior was conducted in a laboratory setting with students and tasks of short duration.
None of these task/structure recommendations have been tested in a software development environment.
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.9
Weinberg, Gerald M. (1971). The Psychology of Computer Programming. Van Nostrand Reinhold. ISBN 9780442207649. 9780442207649 ↩
Wiegers, Karl Eugene (2001). Peer Reviews in Software: A Practical Guide. Addison-Wesley. p. 14. ISBN 978-0-201-73485-0. 978-0-201-73485-0 ↩
Mantei, Marilyn (March 1981). "The Effect of Programming Team Structures on Programming Tasks" (PDF). Communications of the ACM. 24 (3): 106–113. doi:10.1145/358568.358571. S2CID 207907944. http://sunnyday.mit.edu/16.355/mantei-teams.pdf ↩
Grubb, Penny; Takang, Armstrong A. (2003), Software maintenance: concepts and practice, World Scientific, ISBN 978-981-238-426-3 978-981-238-426-3 ↩