なんてこったい。

いろいろメモ(個人の主観が多分に含まれています。ストレス発散用かな?)

過去の投稿日別表示

[ リスト | 詳細 ]

2010年1月4日

←2010年1月3日 | 2010年1月5日→

全1ページ

[1]

オブジェクト指向は是か非か(その2)

前回の記事では、是か非かについては一切書いていない事をあらためて読み返して気づきまして、急遽その2を書くことにしました。
是か非かと問われると、是だと私は答えます。
でも、大中小のソフトハウス(殆どのソフトハウス)では、非なのです。
それはただでさえ多い残業,休日出勤,持ち帰り作業というとても余裕が無い環境で働いている事が原因だと考えます。
要するに、オブジェクト指向なんて考える余裕も無いし、初期コストが従来より多少かかったり、何よりアジャイル的な手法で開発していくために何時終了するのかが今までの工程管理に適わないからというのが理由だと考えます。

Smalltalkで開発している人の話を聞くと、客先の方にヒアリングしながらメモ代わりにコードをジェネレータで掃き出して、「こんな感じですけどどうでしょう」的に仕事を進めておられるという話しを聞きました。
これはSmalltalkだからこそ出来る技なんです(コードビルダーと一体化した環境)が、そういうラピッドプロトタイピングを行なうという事は、工程管理する上で不向きなんですよね。
ある程度のものを客先で作って動きを見てもらいながら作成してしまい、社に戻り再分析,再設計,ビルド,デバッグを繰り返しながら品質と不要なモノのそぎ落とし不足分の足し込み行なっていくというスパイラルをするわけです。
なので、仮に一週間のある人の作業を毎日同じ時間に状況を聞くと、常に「再設計中です」とか「再ビルド中です」なんて笑えない報告をされてしまう事になります。
そういった進捗状況を上司が何と感じるかと思うと、「そんな事はとんでもない、今すぐコーディングしてデバッグしなさい」って事になるわけです。

近視眼的にみるとそんな光景になるのですが、やがて社内で作成したリポジトリ上には汎用的に使えるオブジェクトクラスがどんどん蓄積されており、それらを組み合わせれば、一日で請け負ったシステム開発が完了するって事もまんざら夢物語ではありません。
しっかりとした物事とか事象について分析された、実装されたものが増えれば増えるほど、再利用されていくのです。
再利用したオブジェクトクラスを継承して作成したオブジェクトクラスもまた抽象的であれば、そいつも他のプロジェクトで再利用する事が出来ます。

初期コストはかかるものの、その後には簡単にペイ出来るだけのメリットがある事についてまで許容する環境であれば、是非とも導入すべきなんです。
というよりその様な開発形態でトータルなコストダウンをしないと、中国・インドあたりにどんどん仕事が流れていきます。

もう既に中国・インドへの外注委託化が進みつつあったり合弁企業が出来てたりして、国内で作成していたシステムがどんどん国外で生産されるようになり、SEは日本人が行なうというビジネスモデルが出来上がっているという現実もあります。
ですが、SEって何するの?って要するにエンドユーザに対する御用聞きなんですよね。(言葉は悪いですが)
ですが、ノートPC一台持ち込んでお話ししながらこんな感じで如何でしょうって具体的に折衝するのと、客先で打ち合わせした議事録からガリガリ提案書・仕様書を作成するっていう従来の方法でどちらが楽できるかって、明らかに前者の方がコストダウンしているんです。
海外発注してコストダウンするより、現場SEがオブジェクト指向により分析しながらプロトタイプをその場で作成した方が絶対的にコストが低くなるんです。

そのあたりが、トップ・取締役会・管理職・現場のそれぞれが、そういった仕事の仕方を想像できないって所が非常に歯がゆい所ですね。

という話だけは皆聞いてくれるんですが、実際実践させてくれるわけではありませんので、私自身実はこの業種自体に興味が無くなっているのも事実なんです。
うつも結局根本的にそういった限界を感じたからかもしれません。

オブジェクト指向は是か非かという問いに対する答えですけど、私は必須と思ってます。

なんてこったい。

閉じる コメント(4)

閉じる トラックバック(1)

オブジェクト指向は是か非か

いきなり変なタイトルつけちゃいましたが、オブジェクト指向って言葉、業界の方なら聞いた事があるかと思います。
でも現実的にはどんな大手のメーカーでもオブジェクト指向をベースに開発している所なんて極めてまれなんです。
何故なんでしょう。。。
ちなみに言語がオブジェクト指向だからって本当にオブジェクト指向で考えているかなんて、とてもじゃありませんが言語を使っているだけで、本当のオブジェクト指向をしているわけでは無いっていうのが実情なんです。

この前もSmalltalkの勉強会に行ってきましたが、流石に勉強会に来る方達だけあってオブジェクト指向で開発されておられる方々が多かったのですが、せっかく名古屋での勉強会にもかかわらず25名程しか集まってこないって言うのが現状。

名古屋でもソフト屋さんって結構あるはずなんですが、これだけの人数しか集まらないんです。
じゃあ何でオブジェクト指向がメジャーにならないのか?

答えは単純なんです。
どのシステムもオブジェクト指向をベースに分析・設計・PG・デバッグをしていないからなんです。
何故しないのか、何故一歩でも進もうと思わないのか、これは今のソフト開発自体の方法論を捨て去る事が出来ないから、もっと言うと上司が理解(勉強)していないという体質のせいだと感じます。
上司にしてみれば、自分が見積もった方法論で管理して赤字を出さない事が責務です。
言ってしまえば現状の方法論をくずしてまで開発をする気が無いのです。
かなり乱暴な言い方ですけど、それが現実。

職務を全うするためには、余計な事は考えず目の前の開発に勤しんで事が納品してしまえば正義なんです。
新しい手法とかは二の次で、もっと乱暴にいうと中途半端にオブジェクト指向という地雷を踏んでプロジェクトが窮地に陥るのが怖いんです。
上司が上司なら部下も旧態依然とした開発方法に則る事で、コードの一つ一つに対して考えなくともシステムは組み上がっているので、これ以上何が必要なの?という空気の中で開発しているわけで、その部下たちもやがて上司になり同じ手法で請け負ったシステムを部下たちに組ませる事の連鎖をしているだけなんです。
よくコンピュータ業界って先進的なイメージを持たれるのですが、それは上辺だけの事で構築する側からすると旧態依然とした方法論にどっぷりはまって開発しているにすぎないのです。

そんな中で少人数(一人かもしれません)が、オブジェクト指向で分析・設計・PG・デバッグを行ないたいと思っても、周りからの理解どころか、アウトローになってしまうのがおちなんです。

結局オブジェクト指向は、言語だけオブジェクト指向言語を使って開発した事をスキル票に載せて、オブジェクト指向出来ますみたいな「なんちゃってオブジェクト指向PG」だけ出来上がるという図式にしかなっていません。

このままじゃ、根付くどころか勘違いされたオブジェクト指向(実は構造化手法も同じ様な境遇なのですが)となってしまう事でしょう。

大手の会社ではちゃんとした工程管理をし、なんちゃって構造化手法を用いて設計・PG・デバッグといった流れでの開発が横行しています。
でも構造化手法って何?って問いに対して明確な答えを出せる人ってほんの一握りの人しかいません。
構造化の次にデータ中心的アプローチって考え方があり、オブジェクト指向というものが産まれたのですが、スパゲッティコーディング以来の開発手法について、本質を理解せず言われた事を言われたとおりに開発するスタイルが数十年間続いています。

そこには、ライン生産の手法以外立ち入る事の出来ない聖域という感じまで受ける程の高い高い壁がそびえ立っています。

20年前に受けたオブジェクト指向の講習会で講師が言っていた言葉を思い出します。
「オブジェクト指向を活かすも殺すもヘッドウェア次第」だと。。
ヘッドウェアって何って?、上司の勇気ある一歩の事ですよ。
但し、上司が一歩を踏み出そうとしても部下たちがそれなりの予習をしておかないといけない事は言うまでもありませんけどね。

でもよく考えて下さい、せっかく生産性の上がる方法論があるにもかかわず、それを使用せずコストダウンを叫ぶ経営者達、中間職,現場のSE・PG・デバッグ担当者達が全て意識改革しないと今後もずっと、旧態依然とした手法でしか開発する事が出来ない事。
それに対して順応していく新人さんたち、このままではこの業種に面白みも未来への期待も持つことは難しいでしょうね。

なんてこったいです。

閉じる コメント(0)

閉じる トラックバック(1)

全1ページ

[1]


.
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
31
  今日 全体
訪問者 1 13798
ブログリンク 0 7
コメント 0 289
トラックバック 0 7

かわじゅん
人気度

ヘルプ

Yahoo Image

開設日: 2005/6/12(日)


プライバシーポリシー -  利用規約 -  ガイドライン -  順守事項 -  ヘルプ・お問い合わせ

Copyright (C) 2012 Yahoo Japan Corporation. All Rights Reserved.