Programmation sans ego
# Programmation sans ego

La programmation sans ego (Egoless programming) est un style de programmation des ordinateurs dans lequel les facteurs personnels sont minimisés, de façon à améliorer la qualité. Les méthodes de coopération suggérées sont semblables à celles utilisés dans d'autres projets collectifs, comme Wikipédia.

## Origine

Gerald Weinberg a proposé le premier ce concept dans son livre The Psychology of Computer Programming.

## Revues de code

Pour vérifier la qualité, le code est passé en revue par d'autres programmeurs. Le concept de programmation sans ego insiste sur le fait que ces revues soient faites dans un esprit amical, collégial, en laissant de côté les sentiments personnels. Une lecture structurée est un moyen de faire de telles revues.

## Forces

* Fonctionne mieux pour les tâches complexes.
* Des canaux de communication ouverts permettent aux informations de circuler librement entre les membres de l'équipe.
* Une plus grande conformité qui contribue à une documentation cohérente.
* Les membres de l'équipe sont plus satisfaits de leur travail.

## Faiblesses

* Les projets sont plus longs à réaliser.
* Les projets connaissent un taux d'échec plus élevé en raison de la nature décentralisée et du volume de la communication entre les membres de l'équipe.
* Phénomène de changement risqué - Les programmeurs tentent des solutions plus risquées pour résoudre un problème logiciel.
* Les tâches simples sont rendues plus difficiles par des canaux de communication ouverts.

## Concepts rivaux

La programmation sans égo minimise explicitement les contraintes de hiérarchie et de statut afin de permettre le libre échange d'idées et d'améliorations. On peut l'opposer au concept d'équipe de programmeurs en chef qui met l'accent sur la spécialisation et la direction des équipes afin qu'elles travaillent de manière plus disciplinée.

