カテゴリー「system engineering」の30件の記事

2009/10/23

ノンコアvsコンテキスト

昨日に引き続いて、もう一つ最近気になる用語。コア/ノンコア切り分けて後者はパッケージ製品(COTS: Commercial Off-The-Shelf)使って標準化押し付けでいいんじゃね、という言い方で、コアに対してノンコアって言ってるんだけど、ここで言う「コア」という用語の元々の話は、コアビジネス(誰が言い出した・理論化した用語?)⇒コアコンピタンス(ハメル&プラハラード)⇒コアvsコンテキスト(ムーア)という経営学の文脈から来ているはずなので、現代においてここは正しくノンコアでなくコンテキストと言うべき、と。

・コアビジネス:現時点で(正確には過去の或る時点から現時点までの期間において)相対的に大きな利益を上げている事業領域
・コアコンピタンス:利益を上げる源泉となっているもの(事業遂行上の能力capabilityなど)
・コア:利益を上げる源泉となっているものはそもそも他社と差別化されているべきだが、そのような差別化要素となるもの

コアコンピタンス(ハメル&プラハラード)とコア(ムーア)の区別は微妙だが、まあこんなところなのだろう。ムーアのコア概念は動的である点が特徴で、何でそうなっているかというと、企業の競争力を持続するにはどうしたらいいかという問題意識が強いからだと思われる。@ITの用語辞典がよくまとまっていて役に立つ。
コアコンピタンス - @IT情報マネジメント用語事典

ただし、経営や組織にとってコンピタンスが支配的になりすぎた場合、イノベーションを阻害されるコアリジディティ(硬直性)の危険があるという指摘がある。

というところからムーアのコア議論に繋がる。

ついでに、定義からして、或る一定の時点・期間においてはコアコンピタンス=コアであり得る、というのは栗原潔ブログの次のエントリに詳しい。
コアとコア・コンピタンスについてさらに:栗原潔のテクノロジー時評Ver2:ITmedia オルタナティブ・ブログ

続きを読む "ノンコアvsコンテキスト"

| | コメント (0)

2009/10/22

「超上流」クソワロタ

訪れる人もまばらな弊ブログにおいて1日平均10アクセス近くと、何の間違いかGoogle先生に気に入られたため(その言葉で検索すると無駄に上位にヒットする。実際その検索で来る人が多い)やたら人気のある2年前に書いたFTEについてのエントリー同様、IT業界における仕事の愚痴シリーズ。

上流下流というのは仕事の流れの話で、IT業界だと一般に、業務要件定義や分析・設計とかのシステム開発の初めの方にやる作業を上流工程/フェーズ、コーディングやテストなどの作業を下流工程/フェーズ、と呼ぶ。大体詳細設計辺りが分かれ目かなあ。大枠決めるのが上流、それに従って粛々と作業するのが下流、みたいな。

続きを読む "「超上流」クソワロタ"

| | コメント (0) | トラックバック (0)

2009/03/27

「高速道路料金の引下げ」の恩恵にトレーラー引いた普通車が中型車扱いのため与れない件

いわゆる1000円乗り放題の施策が明日から始まって、シーズン終わり間近の雪山行に早速活用しようと思うのだが、でも対象車両が普通車以下ということなので、春からのモーターサイクルへの遊び移行に当たって色々悩ましい。というか、悩んでもどうしようもないのだが。

続きを読む "「高速道路料金の引下げ」の恩恵にトレーラー引いた普通車が中型車扱いのため与れない件"

| | コメント (2) | トラックバック (0)

2009/02/13

SAPジャパンのパートナー選びがださい件について

はてブレベルの小ネタではあるが、100文字では書き切れないので。
SAPジャパンと豆蔵、SOA分野で協業--パッケージと独自開発のSOAによる統合を目指す - 企業情 - ZDNet Japan
↑これを読んで思い出したのが、↓こういう話。
SAPの統合基幹業務ソフトがJ2EE対応に,cFrameworkも動作:ITpro

続きを読む "SAPジャパンのパートナー選びがださい件について"

| | コメント (0) | トラックバック (0)

2007/11/01

FTE

以下完全に仕事の愚痴。FTEに関する確固たる定義や高度な議論ではないのであしからず。

FTEとはFull Time Equivalent(s)の略。作業工数などの算出のために使う概念あるいは単位。詳しくはWikipedia(英語版。日本語版には記事が無い)や@ITを参照。

続きを読む "FTE"

| | コメント (0) | トラックバック (0)

2007/05/31

SOAフォーラム2007の続き

この前書いた標記の件、製本された紙の資料は配らなかったけど、PDFをネットで配っていて、参加者じゃなくても個人情報登録すれば(日経BPパスポートの会員は一から入力しなくてもいい)落とせるみたい。
SOAフォーラム 2007 講演資料データ ダウンロード・サービス

PDFはPDFで検索容易性など考えると配布してくれるのはありがたいのだが、当日は紙の資料にメモなど取りながら講演聴きたいわけで、サービスレベル低下には変わりないと思う。

なおガートナーの資料は別サイト(このURLは違うかも…)。ここでも別に個人情報登録が要る。うざい。
今回IBMだけは講演資料配っていない。

そのIBMだけど、実はとあるルートから入手して今回の資料見てみたが、そういえば三井倉庫の事例をいまだに使っていた。1年前のSOAフォーラムのIBM(IBCS)セッションでも確か同じ事例を紹介していたのだった。事例の詳細については2005/11のIBM Service Oriented Development Conference - Japanてイベントのこの資料(PDF)に詳しい。1年半も同じネタを使い回すとは、IBMほどの会社が、なんて事例の少ない。まあそんなもんだろうけど。それより、三井倉庫でもどこでもいいから、本当に再利用が出来たのか、出来たとしたらどの程度の数なのか、とかそろそろ定量的な報告を出して欲しいものだ。

| | コメント (0) | トラックバック (0)

2007/05/27

SOAフォーラム2007

金曜やってた日経BP主催のセミナー。なにげに20062006秋に続いて3回連続参加。

総評としては期待外れというかそもそも期待値低いので予測通りというか。
ぼくは午前のセッションだけで帰ったので午後のは分からないけど、タイトルと概要から判断するに、セミナーの売り文句「実装段階を迎えた」に関わらず、相変わらず現実の、特にフルスコープの実装事例はほぼ無いのだろう。
が、客は非常に多くて午前のセッションはほぼ満員だったことから、このトピックに関心が非常に集まっていることは確か。

続きを読む "SOAフォーラム2007"

| | コメント (2) | トラックバック (0)

2007/02/06

サーバ設定は難しい

最近起こったよくないことの一つに、LinuxマシンのHDDが飛んだ(つか、fsckの途中でCtrl+cしちゃったのが悪いので、むしろ「飛ばした」のだが)、というのがあり、最低限自分のドメインのメールだけでも復旧させようと再インストールと設定をしこしことしていたのだけど、何故か上手く行かずにここ数日ずっとはまっていたのだった。

現象としては、イントラネットではsmtpが通る(telnet hoge 25でアクセス出来る)のに、外からは通らない(ポートチェック【外部からポート開放確認】というのを使って調べた)ため、自ドメイン宛てのメールが配送されない、というもの。外には送れる。ルータはちゃんとポート開けている(し、以前は使えていた)ので、Linuxの設定がおかしいのだとは分かっていたのだけど、どこがおかしいのかさっぱり見当付かなかった。MTA(Postfix)とかxinetdとかの設定を色々見てみたり、/etc/hostsとかの基本設定を見直したり/etc/sysconfig/networkファイルとか/etc/sysconfig/network-scripts/ifcfg-eth*とかをチェックしたり、等々。

で、結局原因は、/etc/sysconfig/networkファイルの「GATEWAY」エントリではeth0につながったルータのアドレスが指定されていたのだけど、他方、何故かrouteコマンドで出て来るデフォルトゲートウェイがeth1のアドレスが指定されていて、hostsファイルとかにはeth0のアドレスを記述していたので矛盾を来たしてこのホスト宛てのインターネットからのパケットが届かなくなっていた、ということらしい。
なので、routeコマンドでデフォルトゲートウェイを入れ替えて無事解決。ついでにnetworkファイルに「GATEWAYDEV」の記述も足したので、再起動後もこの設定が有効になるはず。

-当初のrouteコマンドの結果


Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
192.168.11.0 * 255.255.255.0 U 0 0 0 eth1
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 192.168.11.1 0.0.0.0 UG 0 0 0 eth1

-ルーティング変更コマンド


route del default gw 192.168.11.1
route add default gw 192.168.0.1

-更新した/etc/sysconfig/networkファイル


NETWORKING=yes
HOSTNAME=hoge.la-gaya-scienza.org
GATEWAY=192.168.0.1
GATEWAYDEV=eth0

なおOSはRed Hat Linux 8。

そもそも大したスキルも無いのにNIC2枚差しでインターネット用(eth0)とイントラネット用(eth1)にしていたのが全ての元凶か。そもそも、その2枚目のNICのドライバが標準では入ってなくて、インストールと設定で一苦労していたりしたのだけど…
ともあれこの1週間くらいの懸案が無事解決したので記念としてメモ。
というわけで実はこの1週間ほどressenti-man@la-gaya-scienza.orgへのメールは送信元に返っちゃっていたはずではあるが、誰も送ってなどいないと思われるので特に問題は無いだろう(サーバ管理者としては失格だなあ)。

| | コメント (0) | トラックバック (0)

2006/10/24

何故SOAか?

散々SOAの悪口を書いてきたので、何でSOAにそんなに粘着するのか書いてみる。
SOAはこれまでのソフトウェアエンジニアリングのいいとこ取りである、言い換えると、これまでソフトウェアエンジニアリングの世界であるべき姿とされてきたことを全てまとめたものである、と認識している。
SOAに粘着することによるぼくのメリットとしては、それにかこつけてソフトウェアエンジニアリングの正道を堂々と説けるところにある。

続きを読む "何故SOAか?"

| | コメント (0) | トラックバック (0)

2006/10/04

SOAのROI

もう一つメモ。さっきのエントリーで参照したBEAの記事からリンクされていた同じくBEAについての記事。

ITmedia エンタープライズ:アジア太平洋地域でビジョンと戦略を語るBEA (2/2)


しかし、バイス氏は、「SOAには忍耐が必要」と話し、SOAに対して安易な幻想を抱くことにクギを刺すことも忘れなかった。

 「SOAは1つの大きなプロジェクトではなく、複数の、しかも比較的小さなプロジェクトを繰り返すことによってROIが達成される。3年のレンジで考えなければならない」(バイス氏)

正しいことを言っているとは思うのだけど、顧客をロックインするためのベンダーの釣り文句にしか聞こえない。
3年というのも楽観的な話で、基幹システムの再構築を3回くらいやらないと投資と釣り合う利益は出ないのではないか。

| | コメント (0) | トラックバック (0)

ESBでビジネスプロセス管理

これも最近流行りらしいけど、ニュース見て気になったので、簡単にメモ。

ITmedia エンタープライズ:BPMのパイオニア、Fuegoの資産を受け継ぐBEA (3/4)


 IBM、Oracle、Tibco、SAPといった競合他社は、あくまでもデータモデルからスタートしています。われわれのようにプロセスからではありません。EAIのベンダーというのは、そこでインテグレーションを話題とします。しかし、下からスタートするということは、それだけコードをたくさん書かなければいけないということです。

 また、ほとんどのBPM製品は、ビジネスアナリストの関与からスタートするのではなく、開発者からスタートします。そして、コードを書いてアプリケーションを作成します。あくまでもWebサービスのためであって、ヒューマンインタラクションのためのものではありません。

一点目は現在市場に出ているESB製品の殆どはEAIと変わらないという話。データ層あるいはそれを扱うアプリケーション層、要はITの世界からの発想で、ビジネス層からではない。この指摘は正しい。
二点目はビジネス側が主導でシステムを設計するのか、それとも開発者つまりIT側か、という話。ビジネス側の関与が必要で、そこから始めるべきなのは確かにそうなのだが、往々にしてビジネス側が作るモデル(「ヒューマンインタラクションのためのもの」)は正規化されていないものであろう。それをBPM製品などに載せるためには、IT側による加工(別にシステム工学が分かる「ビジネスアナリスト」がやってもいいけど)が必要になるはず。つまり、最終的にシステム化するためにデータ層やアプリケーション層まで落とし込むとすると、ビジネス層でも正規化されたモデルが必要になる。でないと下位層のモデルが正規化出来ないわけだが、正規化されていない下位層のモデルは全く無意味。でもアプリケーションやデータのことを全く知らない「ビジネスアナリスト」が本当に「正規化された」ととりあえずここでぼくが呼称しているようなモデルを本当に作れるのかどうか、疑問だな。

| | コメント (0) | トラックバック (0)

小さなサービスの組み合わせというSOAの発想は失敗する運命にある、のかも

SOAにおけるサービスは一義的にはビジネス層、そしてSOAはIT界の話なので当然二義的にアプリケーション層のものを指している(ついでに、某I社はデータサービスという概念を提唱して来ているようだ)。
だが、昔からサービスという考え方はテクノロジー層で存在し、それに基づく実装が活用されてきた。Windowsでは「サービス」だし、Unixでは「デーモン」と呼ばれるのがテクノロジー層におけるサービスの物理的な実装の例だ。これらはOSあるいはそれに近い基盤ソフトウェアの例だが、ネットワークや(OSの上で動く)アプリケーションプログラムについても同様の実装が存在する(各種のライブラリとか)。…ということを改めて思い起こさせられた興味深いエントリ↓
404 Blog Not Found:仕事をできる人作れる人


しかし、Gancarzの読みが浅かったところが一つだけある。

小さなプログラムを連携させて大きな仕事を片付けることが出来る人が限られている、ということ。


Gancarzというのは上記リンクで挙げられている『Unixという考えかた』の著者だが、この著作の中でGancarzは、Unixの根本的な考えかた・発想法(=philosophy。これは「哲学」という意味ではなく、もっとカジュアルに使われている)を、「小さなプログラム」あるいは小さなサービス群の提供とそれらの組み合わせによる活用を図る点にあるとしている。
これはシステム的な思考法が出来、かつUnixなりの与えられたシステムに習熟する時間が十分あるひとたちにとっては、強力で柔軟なソリューションを提供する。しかし、世の中有能でそれなりに暇があるひとばかりでなく、UnixでなくWindows、コマンドラインベースプログラムでなくGUIプログラムが優勢なのが現状だ。

続きを読む "小さなサービスの組み合わせというSOAの発想は失敗する運命にある、のかも"

| | コメント (0) | トラックバック (0)

SOAに関する諸々の誤解・混乱 #3

「ESBでシステム間インターフェースの問題は簡単に解決する」というノリに反対してみる。

暫く前に流行ったEAIと最近流行っているESBの違いは何か。実質的には何も違わない、というのがぼくの結論だ。BPMなどとの連携(特にBPMNなどの標準を使ったそれ)が違いとして挙げられるかも知れないが、VitriaはBPM的なところから出てきたし、他のベンダーもBPM製品を数年前からラインアップに加えているはずなので、とりあえず無視出来る。

さて、EAIとESBが違うとしたら、ESBではWebサービスが標準になった、つまり、
・システム間インターフェースの通信プロトコルがSOAPに統一され、
・インターフェースでやり取りされるファイル形式がXMLになった、
という点だけだろう。これらはいずれもEA4階層モデルのテクノロジー層に属するものだ。そのようなテクノロジー層に属するものが標準化されても、アプリケーション層やデータ層でやらなければならないことは全く変わらないのは論ずるまでもない。
…で終わってしまてもつまらないので、これらの標準化によってテクノロジー層にもたらされる恩恵がどの程度のものか、またそれがアプリケーション層やデータ層に本当にインパクトが無いのか、言い換えると、テクノロジー層での恩恵は他の層へも派生しないのか、若干論じてみる。

続きを読む "SOAに関する諸々の誤解・混乱 #3"

| | コメント (0) | トラックバック (0)

2006/10/03

バグという言葉について

ITProの佐野裕のサーバ管理者日記 : バグという言葉についてに触発されて。
元記事は「バグ」という言葉のユーザー側における誤用についての話みたいだけど、ぼくがずっと気になっているのは、システム開発側での誤用というか、安易な利用。つまり、ごく基本的な、単体レベルのテストで発見し除去し得るような、単純なコーディングミスをも「バグ」と呼ぶ使い方。

続きを読む "バグという言葉について"

| | コメント (0) | トラックバック (0)

2006/09/26

『コンピューターは経営に役立っているのか』

タイトルの問いに対する答えは大抵の場合に「No」なのだけど、ともあれこれは本のタイトル。3、4年前にたまたまブックオフ100円で買ったものだけど、刮目に値する名著。30年前の著作だが、今も古びぬパンチラインの連続。

邦訳(1977年)
Yahoo!ブックス - コンピューターは経営に役立っているのか / オリヴァ・ワイト/著 吉谷竜一/訳
原書(1972年)
Amazon.co.jp: Executive's New Computer: 洋書: Oliver W Wight

とりあえず裏表紙の「システムを成功させる六つのカギ」からして完璧。


(1) システムをあまり技巧化するな。
(2) コンピューターの適用分野、方向が健全かどうか確認せよ。
(3) システム開発は、それを使用する人々が……自分自身のシステムをつくり出すことなのだ、ということを忘れるな。
(4) システムは……人々の仕事を助けるためのものだ、ということを銘記して設計せよ。
(5) システム導入の際はパイロットプログラムを使え……。
(6) 真に重要な事柄は社内で設計せよ……。

パンチライン炸裂っぷりを幾つか引用しようと思ったけど、ヤメ。とりあえずこれで公開しておこう。あとでなんか書くかも。

| | コメント (0) | トラックバック (0)

2006/09/21

SOAに関する諸々の誤解・混乱 #2

意外と早く第二弾。
さて、今回は「SOA=オブジェクト指向分析(設計開発)」というテーゼ、あるいは(一部における)オブジェクト指向マンセーな風潮に反論というか、それほど「論」ではないので感情的に反対してみたい。

そもそも大半の「業務システム」にオブジェクト指向設計・開発は必要ない。ここで業務システムとは会計とか販売管理とか生産管理とかの実行系システムを指す。業務系のサブカテゴリーとして他に「分析系」あるいは「情報系」と呼ばれるようなものがあり、本当はそれらをまとめて「業務系」と呼ぶけど以下では主に「業務実行系」を念頭に話を進める。
なお「業務系」と同じレベルの別の分類として「組込系」がある。また、業務系システムのインフラを提供するミドルウェアなどそれ自体に対して、また別の分類を用意するべきだろうと思う。これを「(業務)基盤系」と呼ぶことにする。
これらの分類はこの場での思い付きであり世間一般でこういう定義が採用されているかはキニシナイ方向で。

さて、何故<大半の「業務システム」にオブジェクト指向設計・開発は必要ない>のか? それは業務システムが単純な帳簿処理に還元出来るからである。つまり、業務システムは全て次のような流れのバリエーションである。まず、個々の業務処理のタイミングで帳票が発行あるいは更新される。さらに、適当なタイミング(日次とか月次)で個別の帳票がサマリーされ元帳に転記される。これら帳票、元帳はトランザクションデータであり、トランザクションデータで使われる各種の分類はマスターデータとして定義される。
業務システム自体はこのように単純なもので、どんなに複雑な業務プロセスであろうと、システム化するためには適宜分析し単純な原子的な要素にまで落とし込まなければならない。またこの原子的な業務プロセス要素同士の組み合わせも、それ自体としては単純なもののはずである、適切に分析設計されている限り。
このような業務システムの分析設計のために、オブジェクト指向が出て来る必要は無い。さきほど描出した業務システムが実現するべき原子的なプロセスは、データとそれに対する操作からなっており、そこではデータと操作は分離されているし分離されるべきである。このような要素を的確に処理するためには、30年前の構造化分析設計手法で十分であり、そちらの方がより相応しい。構造化分析設計手法はデータとそれに対する操作とを括り出しDFDにまとめるもの、とここでは単純に定義する。それに対してオブジェクト指向分析設計手法の特徴はデータと振る舞いつまりデータに対する操作とがオブジェクトとしてカプセル化されている点であるが、そのような分析設計手法を上記のような特性の業務システムあるいはそれが対象とする問題領域に適用するメリットは全く無い。
あるいは、データに対する操作もとりあえずは無視して(というのはいずれにせよデータに対する操作はCRUD、Create・Refer・Update・Deleteのいずれかしかないのだから)、データのみに着目しシステムの分析設計を進める手法を取ってもいいかもしれない。これがいわゆるDOA、データ中心アプローチになる。

それではオブジェクト指向分析設計はどこに適用されるべきか。それは前述の基盤系システムであろうと考えられる。なお基盤系システムにはStrutsなどのWebアプリケーションフレームワークなども含んでいる。
業務系システムを何も考えずにそのまま実装してもいいのだが、そうすると同じようなコードの重複などの無駄が生じる。これを処理するためのものがオブジェクト指向による分析設計だとぼくは思っている。つまり、オブジェクト指向は業務とは関係無い、システムの世界に閉じたものである。効率的に柔軟かつ堅牢なシステムを作るための仕組みがオブジェクト指向分析設計で、したがって業務に対するその利益・貢献は間接的なものに留まる。
業務の分析設計は構造化手法あるいはDOAを用いて行い、その後システムの分析設計実装をオブジェクト指向で行えばよい。ただ、個別の業務システムで行うべき「システムの分析設計」の作業はそれほど多くないはずだ。というのは、(オブジェクト指向の利点を生かした)ミドルウェアやアプリケーションフレームワークによって、個別の業務システムで行うべき開発作業は、業務の設計の結果を単純にそれらの上でパラメーターの出し入れする程度の作業をするだけになっている(はずだ)から。
ついでにオブジェクト指向を習得しないとIT業界で生き残れないかのように煽られていたりするけど、基盤系に行くコアでディープな人材以外の、業務系に関わる大多数の人間は手続き型の実装がちゃんと出来ればそれでいいはず。「コアでディープな人材」というのは基盤系の実装に関わるようなひとたちと、それらを適切に組み合わせて個別業務システムの(あるいは幾つかの業務システムに共通する)アーキテクチャーを作るようなひとたちだ。後者は「ITアーキテクト」と呼ばれている職種と一部重なる(その職種がカバーする範囲が論者によって異なるし、そもそもいずれの場合でも範囲が広大なので当然重なるわけだが)。

更に脱線すると、オブジェクト指向分析設計が業務の人間にとって分かり難いのは当たり前で、そもそも業務の人間はそんなもの分かる必要は無いのだ。UMLを使って業務の人間とお喋りしたいですぅ、と言っているひとたちが居るが、UMLに定義されたダイアグラムのうち殆どは業務の人間にとって付加価値を生まない。概念データモデルをクラス図を使って描くくらいだが、その程度は別にPowerPointでやってもいい程度の話だろう。あとは業務プロセスを記述する際にアクティビティ図が使えるが、これも別に他の記法で全然構わないし、素のアクティビティ図は使い物にならない(スイムレーンが無かったり。あるんだっけ?)。

実はこういう立論は全く独創的なものではない。上にDOAの話が出ているが、その提唱者の椿さんが既にオブジェクト指向が興隆してきたとき(1997年)に書いていること(これとかこれ)の方がこんなたわごとよりちゃんとまとまっているし、オブジェクト指向ブームが一段落した2003年には雑誌で「オブジェクト指向の補完でDOAに再び脚光!」という特集が組まれていたりしたようだ(この特集にも寄稿しているDUOシステムズのこのコラムも参照)。ぼくもこの頃(2004年前半かな)上で書いてきたようなことを考えたのだが。

最後に、なんでこんなことを書いているかというと、きっかけはこの記事。
開発標準導入の阻害要因 - @IT情報マネジメント
以下カッコ(「」)内はこの記事からの引用。
さて、タイトル通り、開発標準の話なんだけど、ウォーターフォール=構造化手法=官僚主義でプロジェクト回らない=悪、と考えている節が見えて、カチンと来た。たしかに

[メインフレームやオフコン向けのウォーターフォール型の開発標準が]悪いというつもりは、毛頭ありません。また、「ウォータフォール型だからメインフレームやオフコン向け」という理論的な関係はありません

と書いてはいるんだけど、わざわざそんなことを言挙げしているのが嫌らしいというかなんというか。過敏な反応なのかもしれないけど。
とりあえず言いたいのは、構造化手法に基づく開発標準があったとして、それを全て捨て去って完全にオブジェクト指向手法の開発標準に取り替える必要は全く無い、ということ。開発標準と言っても色々だけど、業務のブループリントから始まるシステム開発の全工程をカバーするものだとすると、オブジェクト指向言語の採用などによって更新しなければならないのは開発標準全体の5%も無い。ついでにイテラティブ・インクリメンタルな開発プロセスに変えたとしても、開発標準自体、正確にはそこで規定された文書類自体には殆どインパクトは無いはず。どんな開発プロセスを適用したとしても最低限標準として作らなければならないものは作らなければならない。

この記事の意図自体についてもう一点コメントすると、「開発標準導入の最大の障害」はROIが測れない、つまり、初期投資を正当化する効果を設定するのがそもそも難しいし、無理矢理設定すると有効でないどころか有害なものになり得るというのはこういう二昔前のPMO的な開発作業標準化も一昔前のEAにおける標準化も全て同じで、そうだよねー、と最近開発標準にも関わっているEA担当のぼくとしてはうなずける話。
ただ、それに対して「ビジネスに関するあらゆる業務には、その競争力を高めるための改革・改善が必要」であり、システム開発も「ビジネスに関する業務」に当たるとされているようだが、それは違うのではないか。大方の業務側の人間の認識では、システム開発をコストと見なされしたがってそれを行うシステム関連部署はコストセンターと捉えている。「ビジネスに関する業務」は、あまりに粗すぎる表現であり、これは正確にはビジネスを実際に行う業務とビジネスをサポートする業務とに分けられるべきだ。システム開発を始めとするシステム関連部署の業務は後者に当たる。ビジネスをサポートする業務は「ビジネス上重要な業務、ライバルと激しい競争を繰り広げるような業務、あるいはそれらに深く関連する業務」のいずれにも当たらない。これらはビジネスを実際に行う業務になり、したがって、システム開発は重要で競争が激しいから改革・改善が必要である、とは言えない。改革・改善は必要だけど、それは重要で激しい競争に晒されているビジネスを実際に行う業務を邪魔しないように、納期通り一定の品質のシステムを決められた予算内でビジネスに提供するためだ。微妙な違いだけど、この立場の違いは重要だと思う。一部のOO厨はどうもそれが分かっていないようで、変な全能感を持っているようでキモス。あるいはソフトハウスのひとは自分たちがシステム業界で激しい競争に晒されていて、システム開発がビジネスだからこういう書き方になるのかな。

| | コメント (0) | トラックバック (0)

2006/09/19

SOAに関する諸々の誤解・混乱 #1

転職活動のための思考整理で、SOAに関して考えていることをまとめようとしているけど上手くまとまらないので、見掛けた記事を参照して個別に論点を炙り出していくことにしようかと思う。#2以降があるかどうか分からない。

トラックバック先の記事「東葛人的視点 : 「SOAは長くシステムを使い続けたい企業には薦められない」という話」、そこで触れられている「SOAは長くシステムを使い続けたい企業には薦められない」というテーゼを立てている「ある大手ITサービス会社の社長」の問題点は、SOAの概念的な部分と物理的な実装の話とを明確に分けられていないことにある。以下引用括弧内の文言はトラックバック先のもの。
データモデリングのメタモデルを借用して、概念モデル、論理モデル、物理モデル、という分類を採用し、SOAに関する議論の諸レベルを規定してみる。

・概念モデル:ビジネスを効率的にサポートする情報技術というコンセプトに基づく、情報技術をビジネスに対するサービス単位・駆動で設計・構築・運用すること、「SOA的な発想」
・論理モデル:Webサービスの各種標準、BPM関連の各種標準、SOA対応システムを構築するための各種方法論(IBMのSOMAなど)
・物理モデル:ESBツール、Webサービスの各種標準をサポートするツール、BPM関連の各種標準をサポートするツール

上のような形でとりあえずレベルを設定出来ると思う。概念モデルと論理モデルの分け方が微妙な気がするのだけど、まあ措いておく。
現在SOAについて「まだ先端領域の技術であり、十分に成熟しておらず、検証も進んでいない」のは論理モデルと物理モデルに限られる。概念モデルのレベルでSOAについて語られていることは、全く目新しいものではなく、完全に枯れたものだと思う(し、そういう論調も見られる、TO DO:あとで参照リンクを張る。かも)。
SOA導入プロジェクトがよく失敗する(とトラックバック先では見なされているようなのだが)要因は、論理モデル・物理モデルの未成熟さによるものかどうか、という問いが次に来る。ぼくの感触では「否」だ。そもそも概念モデルのレベルでの設計が間違っているあるいは問題を抱えているために失敗するSOA導入プロジェクトが大半だろうと思う。そのような組織体では恐らくSOA関連プロジェクトだけでなく、通常のシステム開発プロジェクトもデスマーチばかりでろくな成功を収めていないだろうと推察される。
いまいち落ちがついていないけど、とりあえずこんなところで。

| | コメント (0) | トラックバック (0)

2006/09/11

トゥーワンて会社をネタにバザールモデルに基づく組織経営を考えてみる

仕事さぼっているときに見つけた面白い記事。
「リストラ組」が起こしたメガネ革命――第5回:「ノルマなしの経営」を支えるIT活用?ビジネス-トップ対談「逆境を勝ち抜く経営」(by ITジャーナリスト 上村孝樹):IT-PLUS

公開する費用がものすごく安いのがITですから。

我々は、情報公開ができるから、ものすごい競争力が持てるんです。公開する会社だからこそ、なんです。公開しない会社がITでどこまで合理化できるのだろうかというと、それは疑問です。

凝ったアクセス権を設定したがる秘密主義の会社とは全然違う。こういうことを言えるエライひとが居る会社は羨ましい。前に仕事で、アメリカの、日本の組織で部長に当たる立場の人間が、情報公開の仕組みに難癖付けていたことを思い出す。その仕組みはイントラネットに集めたアプリやデータなどのシステム情報を公開するものなのだが、彼曰くそもそも何で公開しなければならないのかが分からない、と。公開することで共通の知識基盤が出来るだけでも大きなメリットのはずだが、そういう発想は全く無いらしい。また協力会社などにも見えてしまうのが不安みたいだが、その公開された情報で何か出来るやつは、それ以前に何かやっているはず。ネットワークやサーバの設定なども、設計が適切に行われID管理などの運用がちゃんとされていれば、何の問題もないはず。どのサーバがどのIPだって分かっても、それだけで侵入できるわけではないし、侵入するスキルのあるやつなら公開される以前にどこかで穴を見つけて潜り込むだろう。

こういう議論はフリーソフトウェア/オープンソース以降の常識だと思うのだが、まだまだ旧来の、知識・情報の秘密主義に基づくセキュリティモデルに固執するひとが多いらしい。それで物事が回ればいいけど、大抵の場合は、ちゃんとした知識・情報の管理体制も作れず、また官僚主義に活動を邪魔されることで関係する人的リソースのモチベーションも下がって行き結果的に知識・情報が適切に蓄積されず、組織の能力や活力が低下して行くものだろう。

で、トゥーワンに戻ると、このような経営が成り立っているのはインタビューを受けている平本さんて人の存在に拠るものだろう。平本さんの特色は多分次のようなものだと読み取れる:
・現場レベルの仕事の実力が図抜けている
・経営のスキルがある、つまり組織としてどのような価値基準を設定しそれをどのように人事評価指標に落とし込むかが分かっている

その経営スキルに基づいて設定した基本経営原理が:
・上の地位(社長の方向)に行かなくても好待遇であり得る
・社長はただのお飾りで、余計なことはしない
という、トップダウンでなく、フラットな組織。フラットとはいえ大抵はそのフラットさをトップが規定するのだけど、この会社の社長は名目だけで、組織を規定する決定権は無い。その権利は、少なくとも組織規定の提案を行う権利は、社員誰にでもあるということになっている。これはやはり限りなくLinuxの開発などに見られる経営モデルに近い。社長というのはただの役割で、特別に大きな権利を持っているわけではない。
それで本当に組織が回るのか、っていうのは最終的には個人の才覚に行き着くものだと思われる。平本さん然り、Linus Torvalds然り。そのようなやり方で組織が回るような公正な場を設計出来る個人の能力が、結局は原初に存在しなければならないのではないか。

一つ分からないのは、じゃあもっと大きい、複雑な組織ではどうなるのか、ということ。メガネのような比較的単純な製品であれば開発、生産、販売などの全体を一人で把握することも出来るだろうけど、もっと複雑な製品(例えば自動車とか)の場合はどうなるんだろう? 組織を適当な単位に分割するのか? だとすると個別最適のダメ組織になるような。分からないな。。。

それから、話変わって別のところではトゥーワンはPOS使っていない、と。リアルタイムで経営指標が取れるっていうのがPOSのメリットとして喧伝されるところだけど、平本さんはそれよりも「社員の不正管理」こそがPOSの導入目的だとしているのが面白い。その説の妥当性はともかく、一般論の各種指標のリアルタイム把握論に話を戻して、もしもPOSで取っているような指標がリアルタイムで取る必要が無く月次なりで十分で、なおかつ集計などの情報処理の手間が人手でこなせる程度なのであれば、人手でやるという選択は一つの見識だろう。スピードの価値と手作業の工数・費用削減効果がIT化のメリットだけど、これらがIT導入のコストに見合わないのであれば無理にIT化する必要は全く無い。この点も分かっていない(としか思えない)人が多い(それに対してこの平本さんはITの本質を分かっているように思える)。

このIT導入に関する原則は、コストとメリットの単純な話のはずだけど、IT化の価値を闇雲に持ち上げて正常な議論や判断を行わせないようにしようというやり方が何故か変わらず跋扈し続けている。糞ベンダーや糞マスコミは氏ね。って感じだなあ。

| | コメント (0) | トラックバック (0)

2006/08/31

メモ

情シス部と委託先企業との役割分担は? - @IT情報マネジメントUISSとITSSが並んでいて便利。ついでに、記事内容も、ユーザ企業からSIベンダーに転職しようかと考えている自分の、戦略構築にちょっと役立つかも。

| | コメント (0) | トラックバック (0)

2004/10/29

outsource

業界通によれば、例えば日本IBMにフルアウトソーシングした日産自動車は、CIOが代わってからアウトソーシングの一部を他社に切り替え、最終的にインソーシングに戻るとみられている。
JPモルガン、IBMアウトソース解約の波紋見直し論高まる一方で喧噪は日本だけ? : IT Pro 乱反射 んー、情報通。しかし、
「引き取ったIT要員を持て余す日本IBMにとり、インソーシングへの切り替えは歓迎すべきもの。喜んで要員を返すだろう」(コンサルティング幹部)。
そううまく行くのかなー。とりあえず日本では共同で会社作ったようだけど、日本IBM100%出資みたいだから、始末は日本IBMが付けなければならないのでは。

| | コメント (0) | トラックバック (0)

2004/05/19

システム開発に必要なスキル

この連載はかなりヒット記事を飛ばしているのだけど、今回もイイ。
@IT:外資系コンサルタントのつぶやき 第23回 - プログラミングスキルをもっと評価すべき

第5回 技術スキルだけでは食えないなど、技術力の評価については度々話題に出ていたわけだけど、今回は「すべき」というように一歩踏み込んで現状に警鐘を鳴らしている。

今回再度書かれているように、ITコンサル系(旧会計系コンサル系)だけでなく、大手SIもダメだし、中小もろくなところはない。

大手は、コンサルもSIも「より上流へ」が当たり前で、殆ど実装の現場の仕事は手掛けないし、手掛けたとしても上手くこなせない。上流が得意なら当然しっかり管理出来るかと思いきや、実装の勘所が分かっていないんだから無理が出てしまうのが道理。管理のお題目だけでは本当の管理は出来ない、管理対象(この場合はプログラミングやテストやOS・MW・NW設定等々)の肝を抑えていないとね。どこかで無理が出るっていうののいい例が、一昔前のオウム関連会社が防衛庁のシステム開発に関わっていたというのではないかな。

で、他方の中小は、転職サイトを見るに派遣に近い怪しいところばかりだし、そうでなくビジネス的に上手くやれている(ように見える)ところも内情は実はぼろぼろというのもありがちというかそういうところばかりじゃないかな。ぼくの勤務先がまさにそれ。同業の同じようなポジションのところもいい話は聞かないし。

恐らく、本当の技術力を持った人はどこにも一定の割合しか居ない。すなわち、どこにも殆ど居ない(大手SIだとひょっとしたら研究所やそれに類する組織に或る程度まとまって居るかもしれないけど)。ITコンサルで適性があるもしくは学生時代からプログラミングやっていてずば抜けた能力を示すひとと、大手SIの開発部門で業務をリードしつつ技術にも深い知識を持っているひとと、中小の叩き上げで本当に分かっているひととの比率は、ほぼ同じで、100人に一人とかそんなもんだろうな、というのが、ITコンサルから100人規模のベンチャーに移っての実感。

などとつらつら考えるに、この業界、根本的に間違っているなー、としか思えない。直接見聞きたことあるのは月当たり100人までが1年程度投入される規模の開発だけど、このレベルならせいぜい20人が2年掛けて作った方が絶対上手く行く。少数精鋭で、本当に出来る人を1~2人アーキテクトとして抱え、あとはそこそこのプログラミングスキルと業務理解力のあるひと、って感じかな。これで見た目のコストは半分以下、影のコスト(バグ、モチベーションの低下による諸々の問題)も激減でハッピーな開発が出来る。はず。スピード経営とかで開発期間が短くなっているって言ったって、どうせROIの計算とか市場環境の調査分析とか厳密にした上で納期決めているわけではないんだから、期間倍になったってクリティカルな影響を与える事例なんて殆ど無いはず。

「本当の技術力を持った人は殆ど居ない」と書いたけど、10人以下とかの規模の組織なら居るかも知れない。でもそういうところは一次請けとして開発を請け負えないし、じゃあ請け負えるようになるために規模を拡大すると、数十人規模の中小のところや大手と同じ弊害を負うようになってしまう。プロジェクト管理能力とプログラミングスキルとそれらを組織的に結び付けること、というのは非常に難しくて、殆ど不可能なんじゃないかと思ってしまう。

それはともかく、目下の課題は、じゃあどこに転職すればいいのか、って話なんだが・・・
鬱。

| | コメント (0) | トラックバック (0)

2004/04/17

com.sun.java.swing

どうやらver.1.1時代のSwingパッケージがcom.sun.java.swing.*だったらしい。
で、1.2でパッケージ変わるに当たってSunから変換ツールが提供されたりした、とか。
へぇ~。

| | コメント (1) | トラックバック (0)

2004/04/16

UMLモデリングツールその2

そういえばこんなのもありました。
テクノロジックアートがUMLツール新版を出荷,無償版も提供 : IT Pro ニュース

発売元のページ
つか、製品これしか持ってないのか。テクノロジックアートと言えば、翻訳の質がたまにどうしようもなく低かったりするアレだね。「監訳」で名前売るのはいいんだけど、それではむしろ評判落ちるだけだと思うんだけどね。

| | コメント (0) | トラックバック (0)

UMLモデリングツール

前の投稿のUMLクラス図は、無料ソフト(RMS言うところのフリーソフトとは異なる)のJudeで作ったもの。
Visio(バージョンは2000かな)で書こうと四苦八苦したのだが、どう考えても無い線とかあるので、色々ツールを探したのでした。

そんなときやはり頼りになる@IT。@IT:UMLモデリングツール、使いやすさの鍵とは?で9種類のツールを比較検討している。つか、前になんとなく読んだのを覚えていて探したのだが。

あと、コンポーネントスクエアのUML特集でも11種類のツールを比較している(比較ページを見るには無料登録が必要)。

そこに、昔なつかしシェアウェア方式の1st Modellerというのがあったけど、いまいち食指が動かなかったのは、既にJudeで満足していたということ以上に、作者のページ見て。なんか分からないが、つかはっきり言うと波風が立つのだが、微妙な雰囲気が漂っているような。WWWで個人レベルでも大きな信頼なりを勝ち得るようになったわけだけど、いまいちなのはどこまで行ってもいまいちだよねー、と。

いや、まだ全然使ってみてないから分からないんだけど。

| | コメント (0) | トラックバック (0)

Swingをもう少し

同じようなファイルエクスプローラで、別のチュートリアルがあった。こちらは単純なTreeの理解促進のためのもの。
Understanding the TreeModel
これはUMLクラス図とか、変な絵が付いたシーケンス図(シーケンス記述?)とかがあって分かり易そう。

それにしても、これも前回の(Creating TreeTables in Swing)も、落としてきたコード(Zipファイルのやつ)そのままだとコンパイル出来ない。com.sun.java.swingとかいうパッケージが残ってるんだけど、Swingが正規に出荷される以前のものなのかな。

で、TreeTableは図が無くて理解が厳しかったので、クラス図を書いてみた。まだいまいちのような気がするけど、あとで画像うp>(クリックすると別窓ででかい画像に行きます)
images/treetable_class_diagram

| | コメント (0) | トラックバック (0)

@ITは相変わらずそこそこ参考になる記事を提供してくれますな

最近2回目がうpされた「連載:プロジェクトマネジメントスキル 実践養成講座」の一回目を読み返してたらストライクど真ん中。

プロジェクトによっては、最初からスコープが流動的だったり、スケジュールが確定していなかったりすることがある。筆者の経験上、そのような場合は包み隠さず情報を公開した方がよい結果を生むことが多い。「ここまでは決まっているが、ここから先は決まっていない。最悪の場合、こういう事態に発展するケースが考えられる」というように、メンバーとリスクを共有して初めて、プロジェクトに一体感が生まれるのではないだろうか。

これと同じことをほぼそのまま今の会社の上の香具師に言ったら、あんたそれをXXチームの真中で言ってみなさいよ!、とか怒鳴られた( ゚Д゚)ポカーン
そういう態度がXXチームの現状を招いたのではないかとか考えられないんだろうね。すごいなー、この会社。

| | コメント (1) | トラックバック (0)

2004/04/13

ソート

こういうのもちゃんと身に付けないとねー。

いろいろなソートアルゴリズム
Javaでの実装。

sort (整列)
Cでの実装。

C言語
C言語自体の概説だけど、ソートアルゴリズムが図解説明されていていいかも。

なんでこんなことやっているかというと、師匠に教わったCreating TreeTables in Swingの便利なツリーテーブルのサンプルコードで、ファイル・ディレクトリ名のソートをわざわざマージソート実装してやっていて、興味を持ったのでした。
今はjava.util.Arraysでそのサンプルでやっているのとは同等のことが出来るので、自分で書かなくていいのだが、ただこのサンプルで付いてきたMergeSortクラスの利点は、大小比較のところを自分で実装出来るというところ。なので、自分でディレクトリを先に持ってくるような仕様に変えてみたりしたのでした。

こんな感じ。元のは最後のreturn文のみ(あと、MergeSortに渡すObject[]を、String[]からFile[]に変えてある)。
---
public int compareElementsAt(int a, int b) {
boolean isDirectoryA = ((File)toSort[a]).isDirectory();
boolean isDirectoryB = ((File)toSort[b]).isDirectory();

if (isDirectoryA && ! isDirectoryB) {
return -1;

} else if (!isDirectoryA && isDirectoryB) {
return 1;

//両方ディレクトリもしくは両方ファイル
} else {
return (((File)toSort[a]).getName()).compareTo(((File)toSort[b]).getName());
}
}
---

で、さらに突っ込んでアルゴリズムを理解しようとしたのだが、コードだけではむずいっすね。腐った脳味噌にはきつかった。
という次第。

| | コメント (0) | トラックバック (0)

2004/02/19

スコット・アンブラー

メモ。
アジャル・モデリング(AM)ホームページ
オージス総研のオブジェクトの広場の一角。オージス総研で訳した本絡みのページってことになってますな。
スコット・アンブラーさんへのよもやまインタビューもチェックしとけ。

スコット・アンブラーと言えば、頑健なJavaプログラムの書き方(Writing Robust Java Code)の著者として記憶にあって実装寄りのひとかと思っていたんだけど、上掲の本みたいなのや、Enterprise Unified Process (EUP)という概念を提示したりしており、非常に興味深い活動をしている。

| | コメント (0) | トラックバック (0)

2003/12/24

転職

ITエンジニアの転職現場から 第16回
Case1は分からないけど(40前後のひとの転職事情や給与水準知らないので)、Case2はどう考えてもウソだろう。専門卒を取る外資系ITコンサルなんてあるの? あってもコンサル部隊ではないでしょ。
コンピュータ専門学校卒のうだつの上がらないエンジニアでもいいから、何とかコマを揃えたい人材紹介会社の策謀でしょうか。でも、使えない人材に沢山来られても対応が面倒なだけのような気がするけどな。いまいち人材紹介のビジネスモデルが分からない。
いや、ビジネスモデルは分かるけど、活動の方針とかかな、分からないのは。玉石混交数打ちゃ当たる方式なんでしょうか。打つ前にそれなりに選抜はするのだろうけど。

| | コメント (0) | トラックバック (0)

2003/12/12

まあ、頑張れ

コンポーネント再利用のリアリティ
何のリアリティもない話ですが。
つか、27%て。何をどう計ったのよ? 提灯記事必死だなw

| | コメント (0) | トラックバック (0)