ソフトウェア開発55の真実と10の嘘
- 2009/04/06
- 06:28
ソフトウエア開発 55の真実と10のウソ (2004/04/08) ロバート・L・グラス山浦 恒央 商品詳細を見る |
■感想
ソフトウェアを一から開発するときにその技法、技術について自分がどれだけ知っているか、知らないことがどれだけあるかを学びたくて購入。
通読してみると、ソフトウェア開発について、PMから要求仕様書作成や、コーディング、テスト、運用までライフサイクル全体にわたっての問題、定説などを開設してくれている。全体を問うして認識させられたのは、プロジェクトマネジメントなどの技法では、メジャラブルな情報で管理するというのが基本でそれは間違いないと著者も述べているが、実際にはプログラム、ツールの複雑性の濃度、生成物の分野の複雑度、人の能力の違いなどにより均一的な管理を前提としたマネジメントは難しいと述べられている気がする。また、本書の中にはそれに対する根拠も数多く提示されている感がある。おもしろかったのはインスペクションに対する評価だ。開発工程の中でウェイトを置くべきものというイメージはなかったが、本書を通して価値を再認識できた。
ソフトウェアを開発する上で識者たちが培った忘れがちな暗黙知にあたる内容を明文化してくれている書籍だと思う。
■ブログ書く際に参考させていただいたサイト
システムエンジニアの晴耕雨読
うきゃうきゃひらく
■思うこと
本棚とどいて組み立て完了
棚にしまいこんでいた本をいつでも眺められる状態になりました。部屋はせまくなりましたが、非常に有益な有益な決断ができたと思っています。
しっくりとくる本の並びを考え中・・・
■MM画像
■ランキング
←押していただけるとやる気が出たりする勝手な人です
ソフトウェア開発55の真実と10の嘘
プロジェクト管理
大事なのはツールよりも人員
アプローチが難しい
優秀なプログラマは掘り出しもの
給与よりも働く
生産性の効率が高い
遅れているプロジェクトに人を投入するともっと遅れる
ブルックスの法則
人の追加には教育の時間がかかる
反論
実際問題としてこれは無視される
事実として管理できる
プログラミングは濃度の濃い思考作業である
環境を整えることのウェイトが大きい
プログラムの技術革新は起きたこともないしこれからも起きない
桁違いの改善は望めない
革命的な効果は実績がない
銀の弾丸は現れない
ツール、技法の導入
効果的な場合
気長に待てる
時間がかかってもいい場合
自由にオブジェクト指向を使うには
表面上3か月
実際には2年かかる
SW技術者はツールが好きだが、実際に使いこなす人は少ない
成熟曲線
すぐに新しいツールは結果を出さない
最小標準セット
開発者には有用
プロジェクトの失敗
見積もりミスが原因
LOC
LinesOfCost
見積もるのが難しい
FP法
見見積もりの基準で客観性がない
FPのスコープ
見積もり
要求仕様が固まる前に見積もる必要がある
■対策は見積もりをPDCAすること
適切な見積もりになっていない
上層部、営業が見積もる
マネージャーが見積もるべき
適切なタイミングで見積もるのが難しい
ガントチャート以外の管理方法
生成物に対する品質管理
問題別でのプロジェクト管理
リスク別での管理
結果の再分析、比較
■違う角度になるのでありでは
開発者と管理者の断絶
成功したかどうかの基準が違う
プログラマは管理者よりも早く問題に気づく
共有する姿勢が必要
実現可能性はいつもYESになる
楽観主義が裏目に出る
再利用
小さいもの
50年前から実施済み
大きいもの
今なお未解決
有用性
再利用可能なものをつくるのは3倍難しい
同一ドメイン
可能性は高まる
大規模な応用分野にまたがる再利用は難しい
ことなるドメインを横断するような再利用は失敗する可能性が高い
3の法則
再利用可能なモジュールは通常のモジュールの3倍難しい
再利用可能なモジュールをテストするときは通常の3倍テストすること
デザインパターン
再利用に対する一つの手段
設計の抽象度が高くなる
プログラマ好みになる
複雑度
25%増加する
解法の複雑度は100%上がる
銀の弾丸はない
ライフサイクル
プロジェクト打ち切りの理由
仕様の凍結ができない
動く標的を捉えるのは難しい
仕様不良
開発初期の発見
コストが一番安い
仕様不良の回避方法
一貫性のチェック
仕様のレビュー
テスト項目設計
モデリング
シミュレーション
プロトタイピング
実際に適用するのは難しい
仕様の抜け
発見も修正も難しい
問題の複雑性の原因
仕様のトレーサビリティ
仕様の追跡性
ライフサイクルの中では保障が必要な項目
ベストの解法
決して一つではない
局所的、大局的な視点が必要
十分解を探すべき
COBOL
非常に悪い言語
ほかの言語よりまし
不良除去
単体テスト
実装の倍の時間がかかる
テスト
パスガバレージアナライザ
自動化ツール
100%は無理
テストのアプローチ
仕様書ベースのテスト
構造ベースのテスト
モジュールベースのテスト
統計ベースのテスト
無作為摘出テスト
リスクベースのテスト
バグは起きる
コーディングの抜け
特定の組み合わせが原因
自動化のために
何をどうするか決める
各テストが代表する同値クラスの数
実行結果の収集
インフラストラクチャの整備
評価プロセスを決める
妥協が必要
デバック用のコーディング
原因追究に対して有用
インスペクション
コードレベルでのチェック
不良の90%は除去できる
テストの代わりにはならない
■局所的、大局的の視点のずれ
レビュー
目的
プログラムの中身のチェック
設計上の決定が正しいか
将来問題にならないかのチェックを行う
プログラマのレビューではない
保守
ソフトのライフサイクル中のコストの60%が費やされる
旧式のハードウェアはだんだん消えるが旧式のソフトウェアは毎晩出荷される
保守の60%は機能拡張
バグは17%
解法であり問題でない
開発との違い
生成されているものに対する理解が必要
仕様書、設計書などを読んで
プログラムを理解する作業
最新の開発方式の利用
保守の手間を増やす
品質
属性の集合である
属性に対する客観的な視点の合計
ユーザーの満足度
仕様の実現性+スケジュール+適正なコスト+高品質の製品
バグの種類
誰もが共通に作るバグがある
バグは固まって存在する
前バグの80%は2%のモジュールから見つかる
不良除去
重大なバグを抑える目的
処理効率
コーディングよりも設計が反映する
プログラムの大きさと処理時間
トレードオフ
新事実プロジェクト管理
計測できないモノでも管理できる
プログラムからエゴをとるのは不可能
ただし
努力すれば少なくできる
自我はエンジンであるため
万能薬は存在しない
使えるケースは絞られてしまう
多様性を認めること
サイズ
適応分野
重要度
新規性
新事実ライフサイクル
多くのレビューでもバグは枯れない
バグの深度は人の数とは無関係
インスペクションの人数とバグの発見率は比例しない
新事実教育
読む力→書く力
への流れが通常
障害
ベストなコードが存在しない
META
著者
ロバートLグラス
翻訳
山浦恒央
出版社
日経BP
プロジェクト管理
大事なのはツールよりも人員
アプローチが難しい
優秀なプログラマは掘り出しもの
給与よりも働く
生産性の効率が高い
遅れているプロジェクトに人を投入するともっと遅れる
ブルックスの法則
人の追加には教育の時間がかかる
反論
実際問題としてこれは無視される
事実として管理できる
プログラミングは濃度の濃い思考作業である
環境を整えることのウェイトが大きい
プログラムの技術革新は起きたこともないしこれからも起きない
桁違いの改善は望めない
革命的な効果は実績がない
銀の弾丸は現れない
ツール、技法の導入
効果的な場合
気長に待てる
時間がかかってもいい場合
自由にオブジェクト指向を使うには
表面上3か月
実際には2年かかる
SW技術者はツールが好きだが、実際に使いこなす人は少ない
成熟曲線
すぐに新しいツールは結果を出さない
最小標準セット
開発者には有用
プロジェクトの失敗
見積もりミスが原因
LOC
LinesOfCost
見積もるのが難しい
FP法
見見積もりの基準で客観性がない
FPのスコープ
見積もり
要求仕様が固まる前に見積もる必要がある
■対策は見積もりをPDCAすること
適切な見積もりになっていない
上層部、営業が見積もる
マネージャーが見積もるべき
適切なタイミングで見積もるのが難しい
ガントチャート以外の管理方法
生成物に対する品質管理
問題別でのプロジェクト管理
リスク別での管理
結果の再分析、比較
■違う角度になるのでありでは
開発者と管理者の断絶
成功したかどうかの基準が違う
プログラマは管理者よりも早く問題に気づく
共有する姿勢が必要
実現可能性はいつもYESになる
楽観主義が裏目に出る
再利用
小さいもの
50年前から実施済み
大きいもの
今なお未解決
有用性
再利用可能なものをつくるのは3倍難しい
同一ドメイン
可能性は高まる
大規模な応用分野にまたがる再利用は難しい
ことなるドメインを横断するような再利用は失敗する可能性が高い
3の法則
再利用可能なモジュールは通常のモジュールの3倍難しい
再利用可能なモジュールをテストするときは通常の3倍テストすること
デザインパターン
再利用に対する一つの手段
設計の抽象度が高くなる
プログラマ好みになる
複雑度
25%増加する
解法の複雑度は100%上がる
銀の弾丸はない
ライフサイクル
プロジェクト打ち切りの理由
仕様の凍結ができない
動く標的を捉えるのは難しい
仕様不良
開発初期の発見
コストが一番安い
仕様不良の回避方法
一貫性のチェック
仕様のレビュー
テスト項目設計
モデリング
シミュレーション
プロトタイピング
実際に適用するのは難しい
仕様の抜け
発見も修正も難しい
問題の複雑性の原因
仕様のトレーサビリティ
仕様の追跡性
ライフサイクルの中では保障が必要な項目
ベストの解法
決して一つではない
局所的、大局的な視点が必要
十分解を探すべき
COBOL
非常に悪い言語
ほかの言語よりまし
不良除去
単体テスト
実装の倍の時間がかかる
テスト
パスガバレージアナライザ
自動化ツール
100%は無理
テストのアプローチ
仕様書ベースのテスト
構造ベースのテスト
モジュールベースのテスト
統計ベースのテスト
無作為摘出テスト
リスクベースのテスト
バグは起きる
コーディングの抜け
特定の組み合わせが原因
自動化のために
何をどうするか決める
各テストが代表する同値クラスの数
実行結果の収集
インフラストラクチャの整備
評価プロセスを決める
妥協が必要
デバック用のコーディング
原因追究に対して有用
インスペクション
コードレベルでのチェック
不良の90%は除去できる
テストの代わりにはならない
■局所的、大局的の視点のずれ
レビュー
目的
プログラムの中身のチェック
設計上の決定が正しいか
将来問題にならないかのチェックを行う
プログラマのレビューではない
保守
ソフトのライフサイクル中のコストの60%が費やされる
旧式のハードウェアはだんだん消えるが旧式のソフトウェアは毎晩出荷される
保守の60%は機能拡張
バグは17%
解法であり問題でない
開発との違い
生成されているものに対する理解が必要
仕様書、設計書などを読んで
プログラムを理解する作業
最新の開発方式の利用
保守の手間を増やす
品質
属性の集合である
属性に対する客観的な視点の合計
ユーザーの満足度
仕様の実現性+スケジュール+適正なコスト+高品質の製品
バグの種類
誰もが共通に作るバグがある
バグは固まって存在する
前バグの80%は2%のモジュールから見つかる
不良除去
重大なバグを抑える目的
処理効率
コーディングよりも設計が反映する
プログラムの大きさと処理時間
トレードオフ
新事実プロジェクト管理
計測できないモノでも管理できる
プログラムからエゴをとるのは不可能
ただし
努力すれば少なくできる
自我はエンジンであるため
万能薬は存在しない
使えるケースは絞られてしまう
多様性を認めること
サイズ
適応分野
重要度
新規性
新事実ライフサイクル
多くのレビューでもバグは枯れない
バグの深度は人の数とは無関係
インスペクションの人数とバグの発見率は比例しない
新事実教育
読む力→書く力
への流れが通常
障害
ベストなコードが存在しない
META
著者
ロバートLグラス
翻訳
山浦恒央
出版社
日経BP
- テーマ:読んだ本。
- ジャンル:本・雑誌
- カテゴリ:本>IT>上流工程
- CM:0
- TB:0
トラックバック
最近の記事
- 『人類を超えるAIは日本から生まれる』次のパラダイムシフト (03/17)
- 『みんなのPython 第3版』基礎の基礎 (04/30)
- 『ヒトはどうして死ぬのか』計画された死から生まれるもの (06/14)
- 『学問のすすめ』今にも通じる人間への啓蒙書 (06/12)
- 『宇宙に外側はあるか』知りえない領域が知り得る領域の後ろに広がる。 (06/07)
- 『デザインセンスを身につける』デザインを意識することが最初のステップ (06/05)
- 『人間的』あるべき姿を考えさせられる (06/01)
- 『エネルギー進化論』自然エネルギーのリアルを学ぶことが出来る (05/29)
- 『アメリカ型成功者の物語』土壌を作り、育ててこそ開花する (05/27)
- 『仕事をするのにオフィスはいらない』ノマド的であるという意味 (05/25)
- 『朝日新聞記者のネット活用術』メディアの進化を楽しめる人になれ! (05/23)
- 『P&G式伝える技術徹底する力』目的を定義することから始まる (05/21)
- 『「ひとり会議」の教科書』「自分らしさ」を書き換える (05/19)
- 『小さなチーム、大きな仕事』アイデアは不死身だ、アイデアは永遠だ。 (05/17)
- 『考えないヒント』神様にフェイントをかける (05/15)
- 『没落する文明』これからの日本人の力はなにか (05/13)
- 『リーダーは弱みを見せろ』自分の思考プログラムを分析して修正すること (05/12)
- ブログデザイン換えてみた (05/12)
- 『コンテキスト思考』感性で思考するためのフレームワーク (05/10)
- 『ざっくりわかる宇宙論』繰り返される現象がない限り時間は測れない (05/08)
最近のコメント
最近のトラックバック
- http://whilelimitless.com/limitless-pill/is-it-real/:http://whilelimitless.com/limitless-pill/is-it-real/ (12/31)
- http://www.valras-plage.net/beard-czar/:http://www.valras-plage.net/beard-czar/ (11/29)
- ポロと旅する&あさちゃん。スポーツ2:Google Readerが7月1日でサービス終了の件を前振りに、@yonda4 4022734418[朝日新聞記者のネット情報活用術 (朝日新書)] (03/15)
- 朝礼スピーチネタ辞典:シカゴのサンドイッチショップはビジネス上、強い信念を持っている (12/11)
- まっとめBLOG速報:まとめ【『学問のすすめ』今に】 (10/27)
- まっとめBLOG速報:まとめ【『ヒトはどうして死ぬ】 (10/27)
- : (08/10)
タグ
Amazon
GAO
GoogleAnalyticsObject