エゴレス・プログラミングとは、個人的な要素を最小限に抑えることで品質を向上させるコンピュータプログラミングのスタイルです。提案されている協調的な手法は、 Wikipediaなどの他の共同事業で使用されている手法と類似しています
歴史
この概念は、 1971年にジェラルド・M・ワインバーグが著書『コンピュータプログラミングの心理学』で初めて提唱しました。[1]
コードのピアレビュー
品質を確保するため、他のプログラマーによるコードレビューが行われます。エゴレス・プログラミングの概念では、このようなレビューは個人的な感情を脇に置き、友好的で協調的な方法で行われるべきであると強調されています。 構造化ウォークスルーは、このような正式なレビューを行う方法の一つです。[2]
強み
- 複雑なタスクに最適です。([3]で「困難」が使用されています)
- オープンなコミュニケーションチャネルにより、チームメンバーに情報が自由に流れる
- 一貫性のある文書化に役立つ、より高い適合性
- チームメンバーの仕事への満足度は高まります。[3]
弱点
- プロジェクトの完了に時間がかかります。[3]
- チームメンバー間のコミュニケーションの分散性と量により、プロジェクトの失敗率が高くなります。[3]
- リスキーシフト現象 - プログラマーはソフトウェアの問題を解決するために、よりリスクの高い解決策を試みる。[3]
- オープンなコミュニケーションチャネルによって、単純なタスクがより困難になります。[説明が必要] [引用が必要]
注: 「強みと弱み」について
引用されている唯一の論文[3]は1981年のものであり、その結論では次のように述べている。
グループによる問題解決行動に関する研究のほとんどは、学生を対象にした実験室環境で短期間の課題として実施されました。
これらのタスク/構造の推奨事項は、いずれもソフトウェア開発環境でテストされていません。
競合する概念
無我プログラミングは、階層や地位の制約を明確に最小限に抑え、アイデアや改善の自由な交換を可能にします。これは、チームがより規律ある方法で作業できるように、チーム内の専門性とリーダーシップを強調するチーフプログラマーチームの概念とは対照的です。 [4]
参照
参考文献
- ^ ワインバーグ、ジェラルド・M. (1971). コンピュータプログラミングの心理学. ヴァン・ノストランド・ラインホールド. ISBN 9780442207649。
- ^ Wiegers, Karl Eugene (2001). ソフトウェアにおけるピアレビュー:実践ガイド. Addison-Wesley. p. 14. ISBN 978-0-201-73485-0。
- ^ abcdef Mantei, Marilyn (1981年3月). 「プログラミングチーム構造がプログラミングタスクに与える影響」(PDF) . Communications of the ACM . 24 (3): 106– 113. doi :10.1145/358568.358571. S2CID 207907944.
- ^ グラブ、ペニー; タカン、アームストロング A. (2003)、「ソフトウェアメンテナンス:概念と実践」、ワールドサイエンティフィック、ISBN 978-981-238-426-3
外部リンク
- エゴレス・プログラミングの十戒