Prev 2008.9 Next
S M T W T F S
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30        
 
スポンサード リンク
広告
Others
  • RSS1.0
  • RSS2.0
  • atom0.3
  • valid XHTML1.0
  • valid CSS2
  • Credit
Today: Yesterday: Total: Online:
  • BookMark
  • Category
  • Archives
  • Main
  • Search
  • Comment
  • TrackBack
  • Gallery
  • Login

カテゴリー システム開発August 31, 2008

[発掘]失敗するオブジェクト指向 ID:1220181475 このエントリーを含むはてなブックマーク


[連載]失敗するオブジェクト指向 - 「共通関数はベースクラスにあります。」
http://chikura.fprog.com/index.php?UID=1091679610

これ、4年ぐらい前に書いた記事なんですが、最近ふとブックマークされて、自分でも読み直してみたらやたらと面白かったんで(笑)、紹介します。:)

ちょっと細部で分かりにくいかなーとか、それ断言しすぎかもなーという所もありますが、全体としては今でも同じ考えです。まぁ、それだけ自分が成長してない証かもしれませんが。(^^;

要所要所でサンプルコードがあるともっと分かり易いんだろうなぁ…。

— posted by chikura @ 08:17PM | LinkMe | Comment (0) | TrackBack (0) |  top↑

カテゴリー お金August 18, 2008

学生に与えられた「夏休み」というコイン ID:1219038937 このエントリーを含むはてなブックマーク


私は、長い時間や大きな単位を個人レベルで「実感」するために、「小さなコイン」という比喩を自分に対して良く使う。

例えば、私は月の小遣いが2万円なのだが、これを「20枚の小さなコイン」として考えると、3000円のCDを買うと「3枚のコインを消費」となり、残り17枚として頭の中でそれが減っていく様子がイメージできる。これが千円札だと、なんとなく「まだたくさんある」ように思うのだが、コインを握り締めているイメージだと、「減ったな」と思えるのだ。このコイン数は10枚〜20枚ぐらいがちょうど良い。100枚とかになっても、その減り具合がイメージできないからだ。

まぁ、人によってはあまり実感が沸かないかもしれないが、とにかく自分にとってはこの「小さなコイン」の比喩はよく機能する。幼い頃に、10円玉を握り締めて駄菓子屋に行き、なるべくたくさん楽しもうと知恵を絞ったあの頃を思い出すからかもしれない。

この比喩は、お金よりも「時間」に対して使うとより鮮明になる。なんといってもその「時間コイン」は、期限が来ると強制的に決済されるからだ。目に見えないくせに、目に見えるお金よりよほど重要なのだ。

先日、夏休み中の高専の学生と話をしていて、学生達が「家に居てもやることないんで、高専に来てるんですけど、結局やることないんですよねー」と言っているのを聞いた。

これを聞いて「なんてもったいない!」と言うのは簡単だが、果たして自分が学生の頃、そんなに有意義に時間を過ごしていたかと言うと、正直な話彼らとそう大差なかった気がする。まぁ、私の場合はほとんどバイトをして過ごしていたので、何もせずにダラダラしているよりはましだったようにも思うが…。

それはともかく、一般的な学生は、高校と大学を合わせて7回の「夏休み」がある。高専生にとっては5回だ。小中学生ではまだ意識的に夏休みを過ごすのは難しいだろうが、高校生や大学生にとっては充分意識的に過ごすことが可能だろう。

社会人になってから誰もが思う「あー、俺、どうして学生の頃、夏休みの時間をあんなに無駄に過ごしてしまったんだろう」という後悔を、「小さなコイン」という比喩で考えてみると、例えば高専生は、たった5枚しかないコインを毎年のように自販機に突っ込んでコカ・コーラと交換してきたようなものだ。残るのはゲップぐらいだろう。

この「夏休み」というコインは、人生で5枚ないし7枚しか貰えない。もちろん社会人になった後も「退職」などのカードを切ることで擬似的にそれを得ることはできるだろうが、収入などのことを考える必要なく、自由に動ける時間はそう簡単には得られないだろう。

もしこれを読んでいる貴方が学生だったとしたら、貴方は既に何個目のコインを使ってしまった後だろうか? 残っているのは何枚ぐらい?

そのコインをどういう価値に変えるのか、実行するかしないかはともかくとして、ちょっと考えてみるのも一興かもしれない。せめてゲップ以外の、何か自分の中に残るものに変える事ができれば、今は小さい価値でも、今後の人生でそれは大きく育っていくに違いない。なにもしなければ一生ゼロだが、0.01だけでも価値に変えられれば、それが将来、×10000になるチャンスが来るかもしれない。

余談になるが、自分には今、「30代」というコインがあと数枚しか残っていない。もう何枚かは無駄にしてしまった気がする。それでも、その中の数枚はとても価値あるものに変える事に成功した(と、自分では思っている)。

私が思うに、人生はギャンブルだ。しかも後戻りができない。「小さなコイン」の比喩は、人生というギャンブルで賭け台に載せることができる「資産」をどれだけ自分が持っているかを明確にするのに役立つ。

コインを棚卸してみると、意外と自分が賭けることのできるものは多い。が、それと同時に、いかにこれまで無駄にしてきたコインが多かったかに気づく。この気づきはきっと若い時の方が良い。

別に賭けが失敗したっていいじゃないか。何もやらなければ結局失うものなんだから。
さあ、賭けよう、何でもいいからさ。

一番虚しいのは、いつかポケットの隅っこでくしゃくしゃになった「人生の期限切れクーポン」を見つけた時なんじゃないだろうか。

【追記】
ちなみに、この「時間コイン」を単純に「お金」に変えようとすると、おそらく君は「モモ」に登場する時間に追われるだけの人々になってしまうだろう。失われた時間(人生)は金で買うことはできない。なのに人々は時間(人生)を金に変えようとする。そして残り時間がわずかになった時に後悔するのだ。それは今の資本主義の根本的な矛盾なのだが、少なくとも学生時代ぐらいは、その仕組みに自らハマりこむ必要はないだろう。

— posted by chikura @ 02:55PM | LinkMe | Comment (4) | TrackBack (0) |  top↑

July 25, 2008

カテゴリー システム開発

受託開発は工程でなく機能で分けよ ID:1216994718 このエントリーを含むはてなブックマーク


 「日本のソフトウェア産業は滅んだ方がいい」を読んだ方から、「どうしてこの業界はこんな体質なのか?」というような質問を頂きました。

 ホント、なんでなんでしょうね…。いろいろな理由が言われていますが、最近私が思う点を1つ挙げたいと思います。

 これが究極の原因というわけではないと思うんですが、技術者側の大きな原因の一つとして、工程別に作業を分割して責任を分離する商慣習が挙げられると思います。大まかに言えば、設計と製造を分ける方法ですね。

 でも、もう誰でもわかってる事だと思うんですが、ソフトウェアの世界でいう「製造」ってのは、製造業の製造とは全然違うんですよ。「何も考えずにあとは組み立てるだけ」な状態になってない。言わば、日本の「設計」っていうのは全然設計が終わってない状態で責任ごと下に丸投げされているんです。酷いのになると要件定義にすらなってないこともあります。

 だから、見積もりがまったく意味を成さなくて作業が数倍に膨れ上がったり、要件がガラリと変わって作り直しになったりと酷いことが起きるんです。

 じゃあどうしたらいいのかというと、工程で分けるのではなく、機能で分割すればいいという意見があって、私も賛成です。あ、ここで言う機能というのは表面的な機能だけじゃなくて、本質的な機能のことです。オブジェクト指向分析/設計が分かる方なら、パッケージのことだと思って下さい。その単位で分割し、請け負った側はそれを設計から製造まで一貫して責任を持つ。もちろん、分割した機能を統合するまとめ役は必要でしょうけど。

 そうする事によって計画性も増すし、技術者が自分の仕事に責任を持てるようにもなると思うんですよね。

 ところがそれを妨げる大きな要因が一つあると思っていて、それは、「日本人は機能分割が苦手なんじゃないか」という事です。物事を分析し、構造化して考える事があまり得意じゃないんじゃないかと。理由は私も良く分かりませんが、印象としてあります。

 物事を曖昧にしがちな日本人の文化が背景にあるのかもしれません。

 日本人がよくやる「機能分割」は、ユーザーインタフェースからの視点でしかないことが多いように思います。「車を作ろう。じゃあ、ハンドルは君、ブレーキは君ね」でもどこにもエンジン担当者がいないのです。目に見える範囲だけでの分割・・・対象の分析が浅い証拠です。後になって、エンジンが必要である事に気づいて大混乱に陥ります。

 もしくは「業務分割」でしょうか。これはユーザインタフェースからの分割よりは幾分マシですが、業務間の共通部分をうまく抽出できないケースが多々あるように思います。

 本当に必要なのは、問題領域レベルで事象を分解し、構造を見出して再構築することです。要件という名の複雑に絡み合った糸を解いて、どの糸とどの糸が繋がっていて、どの糸が独立しているかをはっきりさせる作業ですね。多対多の関係を、極力1対1、又は1対多の関係に持っていくのです。

 それが出来ないまま適当に分割して発注すると、「全ての関係者が、全ての関係者と関係している」という超カオスな状態が出来上がります。何か一つ修正するのにいちいち多方面にお伺いを立てないといけないような状態ですね。

 このような、開発体制を作る前段階での入念な分析が、その後の変更を容易にするのだと思います。うまく体制をパッケージングしておけば、パッケージ内での変更は自由にできるんですよ。

 実はこの話って、そのままソフトウェアの再利用の話にも繋がるんですよね。この話はまたいずれ書きたいのですが、日本でパッケージが流行らない理由の一つでもあるんだろうな、と。

 日本はトップダウンでしか変われないと思うので、トップにソフトウェアの天才が彗星の如く現れて欲しいもんですね。ゴルフの練習でそれどころじゃないでしょうけど!

— posted by chikura @ 11:05PM | LinkMe | Comment (0) | TrackBack (0) |  top↑


カテゴリー システム開発

日本のソフトウェア産業は滅んだ方がいい ID:1216994394 このエントリーを含むはてなブックマーク


会社をやめることになった:ハムスター速報 2ろぐ
http://urasoku.blog106.fc2.com/blog-entry-455.html
社長「人が減ってもねそんなに売り上げがかわらないのよ
    さがってはいるが、正直な話一人やとうよりはいいんだよ」

もうだめだこの会社
矢島・小原さん・長尾さん
俺はもうこの会社にはいられないよ

先に離脱させてもらいます

俺「社長、私はこの会社を辞めます」
社長「そうか、じゃあ今やっている作業はおわらせてね」

とめてくれないんだなやっぱり

まぁ、よく聞く話の一つですけども、こういうスレが定期的に上がってくるんですよね、このソフトウェア業界というやつは。

先日も、以前お世話になった人から会社を辞める事になったというメールを頂きました。詳細は知りませんが、恐らく心を病んでの辞職のようです。かなり長く勤め上げたはずの会社からこんな風に使い捨てられるとは・・・。何度も言いますが、別段珍しい話じゃないんです、こんなのは。

日本のソフトウェア産業、つまり受託開発が中心の産業構造のことですが、一度滅んだ方がいいんです。こんなの残しておいても、どこにも幸せなんて見つかりません。不幸の連鎖を作り出すだけです。

引用したサイトでは、筆者が「会社が潰れると残った人に悪いので、労働基準局にチクるのはやめておく。」というようなことを書いていますが、放置すれば潰れるのは残った人達であり、会社は存続していくんです。

真面目にこの業界を良くしようとがんばってらっしゃる方には本当に申し訳ないんですけども。真面目で仕事ができる人ばかりが絞られ、使い捨てられていく現状はもううんざりなんですよ。

今、30代のプログラマーは、自分達が40代になった時の居場所ってあるんでしょうか。20代のプログラマーを大量に雇って彼らの上前をハネるのでしょうか。そうは言っても、もう20代はこの業界に入ってくれませんけど。

そうなると、今の30代は、40代に近づくにつれて給料に見合った生産性を上げられなくなり(体力が落ちますからね)、一部の管理職を残して辞めざるを得なくなるでしょう。

今の20代が30代になり、彼らだけがこの業界に残り、そして、後継者もいないままコストだけが上がり続け、ニーズから見放されてそのうち産業自体が消えるのではないでしょうか。

後に大量の屍を残して。

宙に浮いたニーズは、パッケージソフト(SaaS含む)という選択肢により埋められる事になりそうな気がします。そこに日本製のパッケージソフトの姿は果たしてあるのでしょうか。

— posted by chikura @ 10:59PM | LinkMe | Comment (3) | TrackBack (0) |  top↑

カテゴリー モバイルJuly 22, 2008

iPhoneでGPS写真共有 ID:1216700070 このエントリーを含むはてなブックマーク


このところ、iPhone/iPod touchアプリのことばかり考えている。
今日は、iPhoneのGPSやカメラをどう活用するか。

例えば「街角で写真を撮ると、同じ場所で写真を撮った人の写真が一緒に表示される」っていうサービスは、GPSケータイなどでも結構誰でも考えると思うんですが、結局、これまでのUIを前提にすると、いろいろ面倒すぎるんですよね。どうしても表示はHTMLになっちゃうので大量の写真を見るには閲覧性が悪いし。アップロードはメール経由になるだろうし。iアプリにすると、一挙にインストールのハードルが上がるし(だからiAppli Store早く作れと)。

でも、iPhoneなら、専用アプリという形でそれをパッケージングできるはず。
アプリ立ち上げると、その時点で近くの写真のサムネイルがズラリと。パラパラとフリップして閲覧。その場で写真を追加することもできる。その場所の中での人気の一枚、なんてのも出るので、ちょっと頑張って撮ってみたり。

ちょっとした「電脳メガネ」みたいな。iPhoneを電脳メガネと捉えると面白いアイデアが浮かぶかも。

ちょっと調べると、こんなのがあった。
http://www.panoramio.com/

このサービスとかも、iPhone対応するか、既にされているんじゃないかな?

やはり肝となるのは、マルチタッチUIと「専用アプリ」という形式。
あのUIを前提とすることで、これまでいまいち使い勝手が悪くヒットしなかったアイデアが息を吹き返すという事があるように思う。

docomoも既にタッチスクリーンとiアプリ持ってるんだから、もっと使いやすくチューンナップして欲しいところです。頑張れ、模倣+改善は日本の得意分野っしょ!

— posted by chikura @ 01:14PM | LinkMe | Comment (2) | TrackBack (0) |  top↑

あわせて読みたい