Egoless programming: Difference between revisions

Content deleted Content added
Citation bot (talk | contribs)
Alter: url. URLs might have been anonymized. Add: s2cid, isbn. | Use this bot. Report bugs. | Suggested by Abductive | Category:Software development process | #UCB_Category 3/120
Stevej098 (talk | contribs)
 
(7 intermediate revisions by 6 users not shown)
Line 1:
{{Short description|Computer development technique}}
'''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 seminal1971 book of 1971, ''The Psychology of Computer Programming''.<ref>{{cite book | url=https://books.google.com/books?id=76dIAAAAMAAJ | title=The Psychology of Computer Programming | publisher=Van Nostrand Reinhold | year=1971 | last=Weinberg | first=Gerald M.| isbn=9780442207649 }}</ref>
 
==Peer reviews of code==
Line 8 ⟶ 9:
 
==Strengths==
* Works best for complex tasks. ('difficult' used in <ref name="mantei1981"/>)
* Open communication channels allow information to flow freely to team members
* Greater conformity that helps in consistent documentation
Line 14 ⟶ 15:
 
==Weaknesses==
* Projects take a longer time to complete.<ref name="mantei1981">{{cite journal | url=http://sunnyday.mit.edu/16.355/mantei-teams.pdf | title=The Effect of Programming Team Structures on Programming Tasks | last=Mantei | journal=Communications of the ACM |date=March 1981 | volume=24 | issue=3 | pages=106–113 | first=Marilyn | doi=10.1145/358568.358571| s2cid=207907944 }}</ref>
* Projects experience a higher failure rate due to the decentralized nature of and volume of communication between members of the team.<ref name="mantei1981">{{cite journal | url=http://sunnyday.mit.edu/16.355/mantei-teams.pdf | title=The Effect of Programming Team Structures on Programming Tasks | last=Mantei | journal=Communications of the ACM |date=March 1981 | volume=24 | issue=3 | pages=106–113 | first=Marilyn | doi=10.1145/358568.358571| s2cid=207907944 }}</ref>
* Risky shift phenomenon{{snd}} Programmers attempt riskier solutions to solve a software problem.<ref name="mantei1981">{{cite journal | url=http://sunnyday.mit.edu/16.355/mantei-teams.pdf | title=The Effect of Programming Team Structures on Programming Tasks | last=Mantei | journal=Communications of the ACM |date=March 1981 | volume=24 | issue=3 | pages=106–113 | first=Marilyn | doi=10.1145/358568.358571| s2cid=207907944 }}</ref>
* Simple tasks are made more difficult by open communication channels.{{Clarify|date=February 2020}}{{citation needed|date=June 2014}}
 
 
Note: The single paper cited <ref name="mantei1981"/> for 'Strengths & Weaknesses' is from 1981 and says in its conclusions:
 
<blockquote>Most of the research on group problem-solving behavior was conducted in a laboratory setting with students and tasks of short duration.</blockquote>
 
<blockquote>None of these task/structure recommendations have been tested in a software development environment.</blockquote>
 
==Rival concepts==