ソフトウェア開発はなぜ難しいのか の商品レビュー
大槻さんの著書。コンパクトによくまとまってると思う。初谷さんがThink Stitchでやりたいこともこのあたりに根ざしてるのかなー、と個人的に勝手に納得した部分もあった。 各章、脚注が多くて、且つ、章の最後にまとめられている体裁なのがかなり惜しい。これ、基本的に読みにくいと思...
大槻さんの著書。コンパクトによくまとまってると思う。初谷さんがThink Stitchでやりたいこともこのあたりに根ざしてるのかなー、と個人的に勝手に納得した部分もあった。 各章、脚注が多くて、且つ、章の最後にまとめられている体裁なのがかなり惜しい。これ、基本的に読みにくいと思う。大槻さんほどの記述力があれば、そもそも脚注は殆ど無くして本文に自然に入れ込むコトができるはずだけに却って気になった。
Posted by
ソフトウエアエンジニアリングは、《実世界》《コンピュータ世界》《人間世界》という、複雑に絡み合う3世界に接しているために難しいものである。ソフトウエアのソフトウエアであるが故の難しさは、「複雑性」「同調性」「可変性」「不可視性」の4点。1970年代から2000年代まで、10年ごと...
ソフトウエアエンジニアリングは、《実世界》《コンピュータ世界》《人間世界》という、複雑に絡み合う3世界に接しているために難しいものである。ソフトウエアのソフトウエアであるが故の難しさは、「複雑性」「同調性」「可変性」「不可視性」の4点。1970年代から2000年代まで、10年ごとにこれら4点の本質的困難に対処してきた。 さてソフトウエアづくりの基本は、「抽象化」「自動化」「モジュール化」だ。しかし、「ソフトウエアに関する世界観は、多様、生命的、不可視的なものへパラダイムシフトして(p.171)」いる。「新しいパラダイムでも本質的困難は普遍的であり、これをあるがままに受け入れる姿勢が求められている(p.178)」というのが結論であるため、困難からは抜け出せないのだろう。 〜面白かった言葉〜 ・ソフトウエアは社会制度や人間の行動に順応させなくてはならない。(76ページ) ・「モデル化」というのは、(略)言語という色眼鏡をかけて見えたものを記述するということです。(165ページ)
Posted by
「人月の神話」をベースに、建設事業などとは異なりソフトウェア開発において特徴的に見られる本質的困難性を紐解き、その解決策を探った本。 本書は、前半の100頁を、人月の神話において提示された本質的困難性の解説に費やす。すなわち、複雑性、同調性、可変性、不可視性である。次に、続く5...
「人月の神話」をベースに、建設事業などとは異なりソフトウェア開発において特徴的に見られる本質的困難性を紐解き、その解決策を探った本。 本書は、前半の100頁を、人月の神話において提示された本質的困難性の解説に費やす。すなわち、複雑性、同調性、可変性、不可視性である。次に、続く50頁で、ソフトウェア工学がこれら4つの性質と如何に対峙してきたかを、ウォーター・フォールや、V字モデル、アジャイルなどの説明を交えながら議論する。 まぁ、ここまでは正直、解決策を議論するための単なるおさらいに過ぎないので、ソフトウェア工学の教科書を2~3冊でも読んだことのある人間にとっては、何の新規性もない部分である。 本書の付加価値は、「なるほどソフトウェアって難しいね。で、じゃあどうすりゃあいいんだろうね?」の部分、すなわち残りの30頁、第4章「これからのソフトウェアづくり」にあるわけである。 そこで著者が提示した回答が: 「抽象化」、「自動化」、「モジュール化」 である! バァーーーーーン! わお!全然思いもよらなかったし、僕の知る限り、これらを実践している人間はほとんどいませんよ!本当にありがとうございました! なわけないでしょうよ。はい、壮大にずっこけました。既知で当たり前のことを綺麗に構造化・理論家して哲学的に記述したところで、何ら付加価値など発生しないことに気付いてほしい。 存在意義が行方不明につき、☆1つ。
Posted by
- ネタバレ
※このレビューにはネタバレを含みます
フォトリーディングNo.75 目的:なぜ難しいかを把握する トリガーワード:ソフトウェアエンジニアリング、開発、人月、プログラム、プロジェクト、契約、本質、複雑性、工数、生産性、同調性、可視化、可変性、開発プロセス、抽象度、抽象化、自動化、モジュール化、実体、実現、確認、困難 質問: ①なぜ難しいのか? ②見慣れないトリガは? ~20120719ポストレビューここまで~ ~20120720アクティベーションここから~ 質問に対するまとめ: ①ソフトウェア自体の難しさ(構成の依存、外部との関係、ビジネス環境や技術進歩への対応、複雑な概念の集積)、要求の高まり、分業によるオーバーヘッド、稼働後の新たな課題、ユーザと開発者の距離 ②ソフトウェアの複雑性:仕様、設計、コード全てが大きい事自体が問題。複雑な実世界への接続。 同調性:周辺装置や環境への同調。人が生み出す概念への同調。 雑感:抱えている問題を意識しておきたい。本文で登場する「人月の神話」も要チェック。
Posted by
本書は、ブルックスの『人月の神話』を下敷きにして、ソフトウェア開発の難しさと克服の歴史、今後への提言が書かれているものです。 今後への提言としては、「抽象化」、「自動化」、「モジュール化」の観点で地道に進めていくようにとのことでした(やっぱりそれしかないのかなという答えではあ...
本書は、ブルックスの『人月の神話』を下敷きにして、ソフトウェア開発の難しさと克服の歴史、今後への提言が書かれているものです。 今後への提言としては、「抽象化」、「自動化」、「モジュール化」の観点で地道に進めていくようにとのことでした(やっぱりそれしかないのかなという答えではありますが……)。 そして、「抽象化」について残りのページが割かれているのですが、 まず抽象化の第一の観点は、 ・捨象(withdrawing)、削除(removing)する行為 ・複雑な対象(complex object)のいくつかの性質(properties)を捨て去り、特定の性質に目を向ける行為 第二の観点は、 ・具体的な実体(instances)から共通の性質(common properties)を抽出することによって、一般概念(general concepts)に定式化(formulating)するプロセス ・特定の事例(specific examples)から共通の性質(common features)を抽出することによって形づけられる一般的な概念(general concept) と、「抽象化」の定義をしたあとに、 例えば、みかんをそこにいる人々に等分するという場合に、各人の個数をxと置いて、 みかんの個数 = 人数 × x という方程式を立てます。このとき、みかんの重さとか色といった情報は捨象されます。さて、この得られた方程式を解くことは容易です。等式の両辺を同じ数で割ってxの値を具体的に求めることができるでしょう。得られた値は、実際に配布してみて余りがないかで、確認することもできます。 と説明し、抽象化(それに伴うモデル化)が役に立つことを示しています。 と、このように、全体的にソフトウェア開発の専門家でなくても分かるようにまとめられています。また、ソフトウェアの専門家に向けては注という形で補足が充実していますので詳しい人も面白く読み進めることができると思います。 # たとえば、ブルックスが、IBMのOS/360の開発を率いていたことは有名ですが、OS/360プロジェクトの途中でノースカロライナ大学へ移ってしまったなんて知りませんでした!!(『人月の神話』に書いてありましたっけ???) さらに驚いたのは、その混迷のプロジェクトを引き継いだのが、CMMを構築した、あのワッツ・ハンフリーであったそうです。面白い関係ですね。
Posted by
ソフトウェア開発の世界に入った人は、誰もが一度は「なんでこんなに開発はうまくいかないのだろう」という思いに打ちひしがれると思います。もちろん私もその一人。 まだ開発の経験が浅い方が、「なんでうまくいかないのか」という疑問にかられたとき、本書はその手掛かりになると思います。読むに...
ソフトウェア開発の世界に入った人は、誰もが一度は「なんでこんなに開発はうまくいかないのだろう」という思いに打ちひしがれると思います。もちろん私もその一人。 まだ開発の経験が浅い方が、「なんでうまくいかないのか」という疑問にかられたとき、本書はその手掛かりになると思います。読むに当たっては専門知識も要さないので、ソフト開発に携わる側だけでなく、いわゆる「ユーザ企業」といわれる側の方が読むのにも適しているかと思います。 なお本書は、著名な「人月の神話」(フレデリック・ブルックス著)をもとに書かれたものであり、より深く知りたい方は、そちらも合わせて読まれるとよいと思います。
Posted by
久々に感動する本に出会った。そこらの開発ノウハウ本と違い、ソフトウェア開発の本質について鋭い考察がされていてとても興味深い。これを読んだからといって何ができるようになるかといわれれば難しいが、「ソフトウェア開発とは何たるや」という疑問に答えてくれる一冊。
Posted by
ソフトウェア開発の本質的な難しさを「人月の神話」をベースに簡潔にまとめてある。 抽象化により現実の問題をできるだけシンプルに解決することがソフトウェア開発の最重要ポイント。 ソースコードよりも知識が汎用性が高く価値がある。
Posted by
ブルックスの「人月の神話」を踏まえ、ソフトウェアエンジニアリングの歴史を網羅し、そのれぞれの問題点を踏まえ、それらについて解説した本。 ブルックスの著作を読み終わっており、ソフトウェアエンジニアリングについての知識を持っているなら第4章から読み進めてもかまわないかもしれない。 最...
ブルックスの「人月の神話」を踏まえ、ソフトウェアエンジニアリングの歴史を網羅し、そのれぞれの問題点を踏まえ、それらについて解説した本。 ブルックスの著作を読み終わっており、ソフトウェアエンジニアリングについての知識を持っているなら第4章から読み進めてもかまわないかもしれない。 最後の最後で『新しいパラダイムでも本質的困難は普遍的であり、これをあるがままに受け入れる姿勢が求められている。』と身も蓋もなく救いの無い文で終わっているが、これはおそらく人間がソフトウェア開発を続けている限り逃げ切れないものなんだろうと思う。
Posted by
ソフトウェア開発はなぜ難しいのか ~「人月の神話」を超えて ソフトウェア開発以前にこの本が難しく書いてあるような・・・。そんな哲学っぽく書かなくても・・・。 http://bit.ly/5jvozB
Posted by
- 1