« 2006年11月23日 | 2006年12月7日の投稿 |
2006年12月14日 » |
プログラミングの問題(by C++設計者のStroustrup)
http://www.techreview.com/InfoTech/17831/
をラフに訳してみる。(未完)
どうして、ほとんどのプログラムは「よくない」のでしょううね?
いいソフトウェアもあります、火星探査ローバー、Google、人ゲノムプロジェクト、などなど、クオリティ・ソフトウェアです!でも、現実世界にある平均的なプログラムをみてみると、泣きたくなる。本当の問題は、ソフトウェアというものがまだまだ永遠につづく改良の繰り返しの創発段階にあること、動くソフトウェアをつくることに向けて、トライアル・エラーをしながら、ちっちゃな奇跡を起こしながら進んでいること。
ソフトウェア開発者は、「不安定な要素を組み合わせて、それなりに安定したシステムを作る」という困難なアートに熟達してきたい。ここで問題は、でも、それをどうやってやったか、をうまく説明できない。安定したシステムは「徐々に進化してここまでたどりついた」ということがほとんど。私個人的には、システムがいつ動くのか、どうして動くのか、がちゃんとわかる方がよいと思う。
良い方法論が役に立つ、良い仕様化技術が役に立つ、良いプログラミング言語が役に立つ、良いテスト技術が役に立つ、良いOSが役に立つ、良いミドルウェアが役に立つ、良い問題領域の理解が役に立つ、データ構造とアルゴリズムが役に立つ、…などなど、アカデミックな誇大表現が多いことが問題。型理論やモデルベース開発、フォーマルメソッドなどは、間違いなくある領域では大きく貢献できる。しかし、大規模なプロジェクトではうまく行かない。
つづく。
継続可能なソフトウェア(sustainable software)
というキーワードで、現在のソフトウェアを取り巻く技術や考え方を統合したいと思っています。以下に、メモ。
何がソフトウェアの品質の中心となるか。
・保守性(EoM)=テスト可能性(EoT)+変更容易性(EoC)
http://blogs.itmedia.co.jp/hiranabe/2005/08/post_353b.html
このための技術がオブジェクト指向(部品再利用やコード再利用ではない)、という位置づけ。テストしやすい設計、リファクタリングしやすい設計にすること。そのために、言語要素として継承・カプセル化・ポリモフィズムを使う。さらに原則として、DMP(問題領域概念とのダイレクトマッピング)、SRP(問題領域の変更を閉じ込める)などを使う。また、シンプルで愚直な設計をよしとする。
また、プロセスとしてはアジャイルなものを使うことで、「ゴールデンパスを一回通したら、すぐにメンテナンスフェーズに入って継続的再設計する」。
また、ビジネスモデルとしては、SaaS的な考え方が親和性が高く、純平さんの「サービスウェア理論」が関連する。
http://junpeisouma.blog77.fc2.com/blog-entry-11.html
また、倉貫さんの「ディフェンシブな開発・オフェンシブな開発」も関連するだろう。
http://d.hatena.ne.jp/kuranuki/20060116/p1
さらに、こうなると再利用すべきものは「知識」にあり、属人性とコミュニケーションをどう扱うか、という問題が中心となる。これは、「人」や「チーム」の中に蓄積される暗黙知をどうマネジメントするか、という問題であり、PF(プロジェクトファシリテーション)的なチームビルディング手法がますます重要になると思うし、TPSのような「現場カイゼン」と「人づくり」が大切になるだろう。
http://www.objectclub.jp/community/pf
現在のやり方のままでは、この業界は「継続可能」とはならない。3K問題ふくめ、自分の学校の後輩が「ソフトウェア開発業界」に就職したい、と相談されても、「ぜひこい」と言えない自分がいる。「創造的で楽しい業界だから」ではなく、「体力と気合いるから覚悟してこい」と言っている。優秀なエンジニアたちの目から光が消えていくのを見るのは辛い。
誇れる業界にするために、3Kから3Tへ変えていこう。
3K=帰れない、きりがない、給料安い
3T=楽しい、定時で帰れる、高い給料
らしいです(^_^)。↑この出典わかるかた、教えてください。
【イベント概要】
日 時:2006年12月20日(水) 10:00~17:00 (懇親会17:30~19:30)
場 所:国立オリンピック記念青少年総合センター http://nyc.niye.go.jp/
内 容:講演、ワークショップ
参加費:講演会3000円、懇親会4000円(いずれも事前振込み)
詳細は⇒http://www.ObjectClub.jp/event/2006christmas/
ぼくも午後に基調講演をさせていただきます。テーマは、
「世界の変化はあなたから~ソーシャル・チェンジとコミュニティの役割」
です。このソフトウェア開発業界を、3K(きりがない、帰れない、給料安い)から、3T(楽しい、定時で帰れる、高い給料)に変えるために、ぼくたちができることはなんだろう。変わらないのは誰が悪いの? 愚痴になりがちな自分の周りの問題を、ポジティブに捉える方法と、コミュニティの役割について、語らせて頂きます。
みなさんにお願いです。現場にいて、あまり外の世界(コミュニティ)を知らない友人をぜひ誘ってきてください。みなさんの周りに変化を広げるために、あなたの他にもう一人、勇気を上げたい人に教えてあげてくださいね!
今年は前半がPFトラックと技術トラック、XFDトラックの、3トラック構成。その後、みんなで一緒に基調講演とおなじみのライトニングトークスです。
◆PFトラック
10:00 --> 11:00
「PMが上手にTDDと付き合う方法」 岡島 幸男
「XPプロジェクトから卒業するメンバーを笑顔で見送るための心構え(仮)」 伊藤 浩一
11:15 --> 12:15
「TRICHORDチームプラクティス大集合 Xmas編(仮)」 懸田 剛
「アジャイルプロジェクトのはじめ方(仮)」木下 史彦
13:30 --> 14:30
「見える化は改善の道具」天野 勝
◆技術トラック
10:00 --> 11:00
「ソフトウェア治具 ~自作ツールのススメ~(仮)」安井 力
「描いてみようかマインドマップ」水越 明哉
11:15 --> 12:15
「クは駆動のク~Developer TestingとBDD~」角谷 信太郎
「明日から使える今どきのWEBデザイン」岸田 健一郎
13:30 --> 14:30
「コンピュータよもやま話」 徳井 進
◆XFDトラック
10:00 --> 14:30 芦沢 嘉典氏
◆この後は、みんなでいっしょに!
14:45 --> 15:30 基調講演 平鍋 健児
15:45 --> 16:45 ライトニングトークス
16:45 --> 17:00 終了挨拶
17:30 --> 19:30 懇親会
今年は、「全部中の人でやってみよう」という試みです。そのため、参加費を下げられました。オブジェクト倶楽部をはじめたときの初心に戻り、あまり「派手さ」や「かっちり感」を追わずに、アットホームな雰囲気で再スタートしたいと思っています。ぜひ、ご参加を。
« 2006年11月23日 | 2006年12月7日の投稿 |
2006年12月14日 » |