仕様の間違いは誰が被る?

コメントは受け付けていません

投稿日:2008年05月21日 作成者:yasunaka

良くある話なのですが、仕様が間違っていることに気付くことがありますよね。そんなときって、どうしますか?

影響の大きいもの、小さいものさまざまですが、仕様の間違いは結構良くある話だと思います。そんなとき、普通は「これ、間違っていませんか?」と確認します。で、間違っていたことが判明した時点で仕様変更とする。これが普通の流れです。

でも問題なのはその修正を行うためには開発工数が膨らんでしまう場合です。まるでマーフィーの法則のように、仕様の間違いが見つかると、ほぼ必ずといっていいほど工数が膨らみます。減る方向になることはほとんどありません。

間違いのまま実装してしまえば、必ずシステムは何らかのトラブルを起こすことになります。だからやっぱり修正するしかありません。じゃあその工数の増加分はだれが被るのでしょうか?

1つには発注者という考え方があります。もしその間違った仕様を考え付いたのが発注者であれば、多少ロジカルにその増加分について契約内容を検討してもらう、ということができるかもしれません。でももしその仕様を書いたところが開発も請け負っている場合には、発注元が重要な情報を提示し忘れていたために発生したということでもない限り、開発している側が被らざるを得ないかもしれません。この場合は自分のミスを自分で尻拭いするということなので、仕方がないでしょう。

ではもし、仕様を書いたところと開発を請け負っているところが異なる場合にはどうなるのでしょうか? 発注者がおそらく前フェーズで仕様書を検収しているので、仕様を書いた側に責任を転嫁するのは難しい場合があります。でも発注者はシステムの素人であるが故、仕様を作ってもらっているのですから、発注者が完璧なチェックして検収時にそのような仕様ミスを見つけるのは難しいのではないでしょうか?

工事進行基準が浸透してくると、仕様を固めるフェーズと開発(製造)フェースを分離して別契約にすることが増えてくると思いますが、その際それぞれを別会社に発注することもあると思います。仕様ミスによる工数の増大を誰が被るべきなのか、契約時にはっきりさせておく必要があると思います。

タグ システム

工事進行基準とアジャイル

コメントは受け付けていません

投稿日:2008年05月20日 作成者:yasunaka

株式会社チェンジビジョンの平鍋さんのブログAn Agile Wayに「要求は変化する。Boehm は間違っていた、と DeMarco が暴いた。」というYourdon のブログというエントリーが昨日載っています。

ソフトウェアの修正コスト曲線にみんな洗脳させられていて、要求を最初に決めてしまわないと指数関数のように変更のコストが膨らむと思いこんでしまって、それがウォーターフォールを強固なものにしてしまい、アジャイルというやり方に気付くのに時間がかかってしまった、という話です。

そして結びの一文が良いです。

— 引用 —
ソフトウェア開発の先輩たちが、みんなウォーターフォールを悔い改めようとしている。。。ぼくらも、いまの産業構造の中で「契約がこうだからできない」ということを言わずに、原則論から考えて、構造自体を変えて行くことをしないか?
— 引用終わり —

システムはつかわれてなんぼ、のモノです。使いやすいものを提供する、そのためには変化を受け入れていく。これが自然な姿だと思います。

しかし一方で来年度から始まるソフトウェアの受注開発での工事進行基準においては、契約前の要件のFIXが求められています。要件をFIXするまでは開発をするな、と。これは上記のような観点とはある意味、真逆の方向を強制しています。

ただし工事進行基準も仕様変更を認めていないわけではなく、変化に合わせて仕様変更を重ねていく、というやり方はできるのかもしれません。おそらく米国ではすでに工事進行基準になっているはずなので、アジャイル開発ではどうやっているのか、調査してみたいですね。


システムトラブルで会社が傾く時代

コメントは受け付けていません

投稿日:2008年05月19日 作成者:yasunaka

5/17に「ぴあが90─100人の希望退職者を募集、社員数の3分の1」というニュースが流れていました。なんと「チケットシステムの不具合を主因とした業績悪化を受け、人件費の圧縮を目指す」となっています。

調べてみると、今年の年初に新システムに切り替えたのだけど、それがトラブル続きで予定していたチケット販売が消化できず、業績が傾いたということらしいです。切り替えてからトラブルが頻発しているところを見ると、明らかにテスト不足だったのではないでしょうか?

今までもシステムトラブルがニュースで報じられることは多々ありましたが、システムトラブルが原因で会社が傾いたという話はまだあまり聞いていませんでした。ぴあの場合、チケットの発券業務が一番の稼ぎ頭の業務で、そこがトラブってしまってはどうしようにもないのでしょう。

私は以前、証券会社の発注系システムを担当していたことがあったのですが、この手のシステムはトラブルが非常に「こわい」です。ぴあのチケットシステムというのもある意味、発注系の一種であり、トラブルが発生すると手痛い打撃を受けます。

トラブルが発生したときのリスクを金額換算すれば、どれだけテストをしておくべきかがはっきりします。シビアなシステムでは開発費を削るなんてそもそもとんでもないことで、多少金をかけてでもきちんとやる必要があり、またきちんとそれが実行できる所に任せないと、結局は大損をしてしまうリスクが高い、ということです。ぴあのケースでもそういう感覚が経営陣に求められたのではないでしょうか?

タグ システム

crossnote APIのリリース

コメントは受け付けていません

投稿日:2008年05月16日 作成者:yasunaka

本日、crossnoteをver 1.1.6にバージョンアップします。今回のリリースの目玉は 「crossnote API」です。いま流行りのSOAによるAPIです。どのようにこれを使うのか、ご説明しましょう。

テーブル定義をcrossnoteの表を用いて書くと、テーブル定義の変更をしたときにプロジェクトメンバに対して、どのカラムの何をどう変えた、ということをきちんと伝えることができるようになります。テーブル定義の変更がきちんと連絡されず、思わぬところでバグが出てしまった、という経験をお持ちの方は多いと思いますが、crossnoteの表でテーブル定義の管理を行えば、そのような心配をかなり減らすことができます。

しかし一方で、今までのcrossnoteではcrossnoteの表で作ったテーブル定義から自動的にDDLを作成するといったことができませんでした。いちいちExcelにコピーして、Excel側でマクロでDDLに変換するというのはいまいちです。

そこでcrossnote APIの出番です。crossnote APIではcrossnoteにコミットされているドキュメントの表の値を直接取り出すことができるようになりました。crossnote APIはSOAPベースのWeb APIで、今回提供するJavaのライブラリーを使うことで、ドキュメントの表の値を取り出して、それを元にJavaプログラムで加工して取り出すようなことが簡単にできるようになります。

この機能を用いれば、上記の用にcrossnoteの表でテーブル定義を行い、それをJavaプログラムで加工してDDLに変換するといったことができるようになりました。サンプルコードもご提供しますので、後はそれを参考にすれば、たとえばcrossnoteで作成したメッセージ定義書から自動的にプロパティファイルを作成する、なんてものも簡単にできます。

しかもこのAPIでは、Excelからも同じようにデータを取り出せるようになっています。例えば複数のプロジェクトでそれぞれが進捗管理のExcelシートを抱えているのだけど、毎週報告の度にそれを1つのExcelシートにコピー&ペーストを繰り返して転記するのが大変だ、のような場合に、このcrossnote APIを使えば自動的にそれらのExcelシートの必要部分を取り出して1つにまとめる、といったプログラムも簡単に作れるようになります。

crossnote API、ぜひお試しください。

なお今まで頻繁にバージョンアップを重ねてきましたが、機能もだいぶ揃い、かつ安定度も増してきましたので、今回のリリース以降はバージョンアップの間隔を延ばす予定です。

タグ crossnote

工事進行基準のレポートを書いています

コメントは受け付けていません

投稿日:2008年05月14日 作成者:yasunaka

工事進行基準について勉強中、という話を以前書きましたが、自分なりに理解できたことをレポートにまとめて書いているところです。会計士の方の視点からまとめたものはいくつかあるのですが、現場のプロジェクトを回す立場や、その上の経営者の立場の人にとっての資料はまだ少ないように思えます。そこで、そういった人たちの疑問に少しでもこたえられるようなレポートにしていきたいと考えています。

出来上がりはもうちょっとかかりそうですが、なんとか今月中にはまとめたいと思っています。

もう少ししたら、配布に関する告知をしますので、欲しい方は今しばらくお待ちください。またこんなことが疑問だ、ということがありましたらぜひコメントを頂けると幸いです。よろしくお願いいたします。

タグ 雑談

システム統合

コメントは受け付けていません

投稿日:2008年05月13日 作成者:yasunaka

昨日三菱東京UFJ銀行のシステム統合で障害が発生したというニュースが流れていました。今回の統合作業は世界の金融界でも異例の規模で行われる超巨大プロジェクトで、今日配信されている産経新聞からのニュースによると、「システム統合の投資費用は総額3300億円。昨夏のピーク時には国内のシステム技術者の約2割に当たる6000人が携わり」とあります。

国内のシステム技術者の2割が6000人? ってことは、国内のシステム技術者の数って全部で3万人ってことになるけど、JISAや経産省の統計の値と比較してもどこからそんな値がでてくるんだ? という突っ込みは、この際止めておきます  😕

しかし6000人費やそうが、1年間統合スケジュールを伸ばして万全を期そうが、やっぱり障害は起こるのかもしれません。しかも今回のトラブルは外部システムとの接続で発生したとのこと。難しい面も多いと思います。

マスコミは当然はやし立て、金融庁も行政処分云々という話をしていますが、これだけ大きなプロジェクトがまったくのミスなしに完了させるのは、少し不謹慎ですが、そもそも達成が無理な領域に入ってきているようにも見えます。

いっそのこと、完璧を期すために外部システムと合わせてすべてのシナリオのテストを自動的に行えるような環境を作ってテストすべきかもしれませんね。テスト用データセンターやテスト用銀行支店、テスト用ATM、テスト用他銀行などを丸ごとすべて作ってテスト用の世界を作り上げ、…
なんてことをやったら、いったいいくら金がかかるんでしょうか?

ちょっとぐらいトラぶっても大丈夫なようにできたら楽なんですけどね。

タグ システム

メールの信頼性

コメントは受け付けていません

投稿日:2008年05月12日 作成者:yasunaka

最近、いろいろな意味でビジネスインフラとしてのメールに疑問を感じることが多いです。

今日、社員の人がインターネットで注文した商品がまだ届いていないという話をしていました。楽天の店で注文をしたのですが、楽天からはすぐオーダー確認のメールが来たのだけど、店の方からはなかなか来なくて、確認のメールを送ったのだけど、それもまだ返答がない。仕方がないので電話したのですが、先方曰く、メールには返答した、商品も発送済みなのでもうすぐ届くと思う、ということでした。

先方の話が嘘でないとすれば、先方が返したメールが届かなかったことになります。その社員の人は個人のメールでやり取りしていたのですが、そのメールを受け取るまでにいくつかのスパムフィルタを介しているので、それが原因かもしれない、と話していました。でも本当のところはよくわかりません。

ちょっと別な話をすると、ビジネス上のセールス活動においても、メールはいまいち信頼性がないというか、意味が薄い媒体になってきていると思います。ちょっと前まではメルマガが流行っていた時期もありますが、今はあまりにもその類のものが多くなりすぎて、見てもらえなくなっているように思えます。

これだけ普及したインフラだけに、この状況は惜しいと思います。誰にでもコストをかけずに気軽に送れるがために、逆に信頼性の低い通信手段になり下がってしまったというわけです。

そろそろインターネット・メールとは別に、送信コストがかかる代わりに確実に相手に読んでもらえる「ビジネス・メール」の世界が出現してきてもいいように思うのですが、無理なんでしょうか?

タグ システム

Enterprise 2.0の9倍問題

コメントは受け付けていません

投稿日:2008年05月09日 作成者:yasunaka

ZD Net Japanのちょっと前の記事で、勝者と敗者を明確にするところに真の価値がある – Enterprise 2.0 SUMMITレポートというのを読みました。Enterprise 2.0という言葉は、ここで質問に答えているハーバードビジネススクール准教授のAndrew McAfee氏が提唱した言葉だったんですね。

ちょっと注目したのが、McAfee氏が「9X Problem」と呼んでいるものです。簡単に言うと、既にあるツールと新しいツールを比較する場合、使い慣れたものは3倍良く評価され、新しいものは3分の1の価値でしか評価しれもらえないので、既にあるツールを新しいツールで置き換えるには9倍以上いいものでないと受け入れてもらえないよ、ということらしいです。

9倍ねぇ。ボタンが9倍でかいとか、文字が9倍でかいというのならすぐわかるのですが、「良さ」が9倍というのは実際なんのことか、よくわかりません。ただ言わんとしていることは、革新的に良くならないと、ツールの移行は進まない、ということなのですね。

McAfee氏によると、Enterprise 2.0とは「企業内や企業間、あるいはパートナーや顧客との間で自由にソーシャルソフトウェアプラットフォームを活用する」ことらしいのですが、ここで言うソーシャルソフトウェアプラットフォームとはあるグループ内でコミュニケーションや情報共有を行うためのソフトウェアのことです。

一般にコミュニケーションや情報共有をする際には文章や図などを書いて、それをみんなに読んでもらう、という形式が一般的です。メールもWikiも掲示板も、結局のところ「何かを書いて、みんなに見てもらう」ということをシステム上で実現しているのに過ぎません。

9倍ルールで革新的に良くなろうとした場合、そもそもこの基本的な「何かを書いて、みんなに見てもらう」という部分を変えない限り、なかなか難しい気がします。この基本路線が同じである限り、目先を変えたところで「同類」とみなされてしまうのではないでしょうか?

「何かを書いて、みんなに見てもらう」という部分から離れて、システムにしかできない新しいコミュニケーションのあり方を実現したときに、初めて革新的なコミュニケーション手段が生まれると考えています。

# それがcrossnoteでありますよーに。 😎

タグ 雑談

JavaOne 2008

コメントは受け付けていません

投稿日:2008年05月08日 作成者:yasunaka

最近きちんと技術情報をウオッチできていなくて、JavaOneが始まっていたのに気付きませんでした。なんてこった。

でもなんというか、Javaってだいぶコモディティー化した技術になってきていて、悪く言えば新鮮さに欠けてきているように思えます。実際ITMediaのNewsには今時点ではJavaOneのニュースが1つも入っていません。@IT側は1つ入っていますけど。

ニュースの内容もJava FXがメインなのでしょうか? AIRやSilverlightについで第3のRIA構築ツールとしての登場ですが、なかなか両者に対するアドバンテージを得るのは難しいのではないかと思えます。というか、どれも勝者にならなかったりして…

Java FXの話を聞くと、JSFを思い出します。あれほど騒いだのに、今現在JSFで開発されているという話はごく少数です。(結局ほとんどがStrutsベース) まだまだ開発途上なので、これから増える可能性は否定できませんが、ちょっと期待はずれの部分があったのは確かです。

Java FXが同じ運命をたどらないと良いのですが、どうなのでしょうかね?

タグ 雑談

MS vs Yahoo!

コメントは受け付けていません

投稿日:2008年05月07日 作成者:yasunaka

5月3日にMicrosoftがYahoo!に対する買収提案を取り下げた、というニュースが流れていました。やっぱり根底にあるのは、Yahoo!としてはMicrosoftに飲み込まれてしまうのがいやだったのではないかと私は勝手に推測してしまいました。

会社は誰のもの?という問いかけに対して、「株主のもの」という教科書的な答えだけで考えるとMicrosoftの提案に乗って巨額の利益を得たほうがよかったのかもしれません。でも会社は営利組織であっても、単に「金儲けだけのための存在」ではありません。社員や創業者たちの特別な思いが詰まったものでもあり、さらにはさまざまな社会的責任がある器でもあります。

新しいIT企業はみな、何らかの形でMicrosoftを目標にしているのではないでしょうか? ITの業界でもっとも成功した企業であるだけに、Microsoftを抜くことを究極の目標に掲げて励んでいる会社も結構あるのではないでしょうか?

Yahoo!もネット企業の雄として、Microsoftを目標に掲げてきた部分があるのではないでしょうか? そうやって頑張ってきている社員達がいる中で、いきなり飲み込まれしまう、というのも割り切れない思いがあるのではないかと、私は勝手に推測しています。

タグ crossnote