• Source: Egoless programming
  • 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 1971 book, The Psychology of Computer Programming.


    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.


    Strengths


    Works best for complex tasks.
    Open communication channels allow information to flow freely to team members
    Greater conformity that helps in consistent documentation
    Team members have greater job satisfaction.


    Weaknesses


    Projects take longer to complete.
    Projects experience a higher failure rate due to the decentralized nature of and volume of communication between members of the team.
    Risky shift phenomenon – Programmers attempt riskier solutions to solve a software problem.
    Simple tasks are made more difficult by open communication channels.


    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


    List of software development philosophies
    Software review
    Egolessness


    References




    External links


    The Ten Commandments of Egoless Programming

Kata Kunci Pencarian: