ソフトウェア開発にまつわる10個の神話【第1回】
エンジニアをいくら増やしても「納期遅れ」を回避できないのはなぜ?
さまざまな“神話”が存在するソフトウェア開発業界。人員の増加とテストの扱い方における、生産性の向上に関する神話の真実を解き明かす。
ソフトウェア開発業界には、誤解に基づく“神話”があふれている。それらを否定するのは難しいことではない。にもかかわらず企業の経営層や産業教育に携わる教育者、そしてソフトウェア開発チーム自体にさえも、神話は根強く残っている。ソフトウェア開発業界に関する、よく知られた神話を紹介する。
神話1「開発の遅延はエンジニアを増やせば解消する」
「ソフトウェア開発プロジェクトに人員を加えると、生産性が瞬く間に向上する」――。これはソフトウェア開発によくある神話だ。
新しいエンジニアがチームに加わると、最初はたいてい1人当たりの生産性が低下する。新人をプロジェクトに順応させるために、他のエンジニアが開発に集中する時間が奪われてしまうからだ。さらに新人が一人前になるには時間が掛かる。
ソフトウェア開発では、大規模なチームよりも小規模なチームの方が、生産性や適力、敏しょう性を保ちやすい傾向にある。「スクラム」提唱者であるケン・シュウェーバー氏とジェフ・サザーランド氏による、スクラムのガイドライン「Scrum Guide」は、チームのメンバーを10人以内にすることを推奨する。スクラムは、メンバーに役割やタスクを割り振り、メンバー同士の連携を取りながらプロジェクトを進めるソフトウェア開発手法だ。
「遅れているソフトウェア開発プロジェクトに人員を加えても、プロジェクトがさらに遅れるだけにしかならない」という「ブルックスの法則」がある。ソフトウェア開発チームの人員が増えるほど、それに応じた見返りが得にくくなる。
神話2「TDDは時間の無駄だ」
ソースコードを書く前に、前もってテストコード(テスト用プログラムのソースコード)を書くべし――。こうした考えに沿ったソフトウェア開発手法が「テスト駆動型動開発」(TDD:Test Driven Development)だ。
よくあるソフトウェア神話に「TDDは時間の無駄だ」がある。これは事実ではない。
エンジニアはソフトウェアのソースコードを書く前に、そのソフトウェアがどのように動作するのかを考える必要がある。外部ソフトウェアとの連携方法も考慮しなければならない。TDDはテストコードにより、これらの動作を網羅的に検証することを求める。
TDDを採用するかどうかにかかわらず、最終的にはテストコードを書く必要がある。そのことを考えれば、ソースコードが完成してからテストコードを書くよりも、ソースコードがどう動くのかを考えながらテストコードを書く方が、時間の節約になると考えられる。
次回は、3つ目と4つ目の神話を紹介する。
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
Copyright © ITmedia, Inc. All Rights Reserved.
TechTarget発 エンジニア虎の巻
米国TechTargetの豊富な記事の中から、開発のノウハウや技術知識など、ITエンジニアの問題解決に役立つ情報を厳選してお届けします。
この記事の著者
関連記事
こんなメディアも見られています
TechTargetジャパンに関連する情報をお探しであれば、こちらのメディアもお役に立てるかもしれません。
ベンダーコンテンツ PR
From Informa TechTarget
SpecialPR
アクセスランキング
-
1
「Excel至上主義」の終わらせ方 丸2日の手作業地獄から情シスと現場を救うには
-
2
取手市がVDIと決別した理由 更改費用「4倍超」を約1.7倍に圧縮
-
3
「Microsoft 365のセキュリティ運用」に関するアンケート
-
4
急増する「AIはこう言ってる」マン 判断を狂わせる「AI忖度」を防ぐには?
-
5
221人調査で分かった「情シス最大のストレス」は?
-
6
「Salesforceのテスト自動化ツール」に関するアンケート
-
7
「データストレージの活用方法」に関するアンケート
-
8
「AI時代の統合基盤・エンタープライズAI管理」に関するアンケート
-
9
AIで人を減らした企業がもう心変わり 「AIブーメラン現象」の実態
-
10
自宅のWi-Fiが「遅い」「途切れる」本当の原因は? Dellが推奨する鉄則
ホワイトペーパーランキング PR
-
1
年収2000万「クラウドセキュリティのプロ」になれる資格とは
-
2
セキュリティソフトをすり抜ける標的型攻撃メール、不審メールの見破り方とは?
-
3
Windows Updateの通信集中で回線が逼迫、ネットワーク刷新事例に学ぶ解決策
-
4
財務を戦略的組織へ進化させるAI活用術、4つの主要な障壁と解消方法
-
5
「NAS」「SAN」「DAS」は何が違う? いまさら聞けないストレージの基礎
-
6
“あのファイル転送”で暗躍するノーウェアランサム
-
7
標的型攻撃メールを見破るには? サンプル文面を例に傾向を解説
-
8
商用利用の安全性を確保し大量のコンテンツを高速で生成する、AI活用の秘訣
-
9
マンガで解説、1日で生成AI環境を構築できるワークショップの中身とは?
-
10
Dark AIが台頭する時代の新発想、「より高度なAIで対抗する」具体的方法とは?
TechTargetジャパン SNS
インフォメーション
注目情報をチェック
TechTargetジャパンをフォロー