つつじ
投稿日:2007年04月17日 作成者:yasunaka
会社の近くで咲いていたつつじです。
投稿日:2007年04月17日 作成者:yasunaka
会社の近くで咲いていたつつじです。
投稿日:2007年04月17日 作成者:yasunaka
昨日の曖昧な仕様でプロジェクト・オーナーを1名決めて、その人が勘と度胸ですべての仕様を決めていく、というスタイルのほうが実は費用対効果が優れていることが多いと書いたのですが、これってちょっと誤解を招きやすい表現なので、もう少し説明します。
ここでいうプロジェクト・オーナーとは「ユーザ側の立場の代表」であり、「専門家」である必要があります。単に闇雲に仕様を決めてしまう人ということではなく、ユーザ側が何を欲しているのかが裏の裏までわかっていて、ユーザ側の意見を集約することのできる人、かつ実務にも詳しい人、ということになります。ちなみにユーザ側の立場の代表はユーザの団体・法人に所属していなければならないというわけではなく、本当にユーザ側の立場で思考できる人であれば良いのです。
このような人を設計・開発体制の中に入れ、権限を与えることができれば、おそらくもっとも効率が良くプロジェクトが進み、出来上がったプロダクトも現場のニーズにこたえたものになると思います。
こうやって指名されたプロジェクト・オーナーは権限もある代わりに非常に責任も重大です。この人の考え方次第でシステムがうまく稼動しなかったり、プロジェクトが頓挫するリスクもあります。プロジェクト・オーナーは説明責任を負いますし、かなり大変な仕事には間違いないのですが、特別なタイトルであり、成功報酬型にすることにより、非常に優秀な人にインセンティブを与えながら遂行してもらうことができるようになると思います。
アジャイルの手法の中にはこのようなプロジェクト・オーナーのような人(ユーザ側代表)にプロジェクトに入ってもらうということを薦めているものもあるようですが、まさにそれです。ただしできるだけ強い権限をその人に集中させるべきだと考えています。
日本の会社の中ではなかなかこのような体制に移行できるところはまだ少ないと思いますが、こういう体制でプロジェクトが進められる会社は非常に競争力の強い会社になると思います。
投稿日:2007年04月16日 作成者:yasunaka
今日は曖昧な仕様書というテーマです。システムで実現すべきことが書いてあるのが仕様書なわけですが、この仕様書が曖昧で何を実現するのかがはっきりしないものって、結構あります。特に厄介なのはシステム開発の最初の期間で、「じゃあ何をやろうか」というスタイルのシステム開発をする場合です。
この「じゃあ何をやろうか」というのはシステムの概要設計フェーズに含まれている場合も多いのですが、これは設計ではなく分析です。本来設計の前に終わらせるべきことなのですが、事を複雑にしているのは、分析の精度をある程度求めると、投資対効果の費用を算出するためにシステム概要の前提を立てる、つまり設計しておく必要がでてくるということです。これはまさにシステムの概要設計にほかなりません。つまりどういうインフラを用い、どういう運用で、どういう技術やパッケージを使い、おおよそのシステム構成はどうで、などといったことがわからないことには費用の算出ができないということです。
分析フェーズの費用算出においてある程度システムの概要に見込みを立ててしまうと、今度はそれがいろいろな意味でシステム概要設計の足かせとなってしまいます。じゃあそれで問題がでないようにしようとすると、結果として「曖昧な仕様書」が出来上がってくることになります。つまり問題を先送りするわけです。
プロジェクトの運用スタイルの中にはわざと決定を先送りするやり方もあるようですが、そうは言っても基本的な事項を先送りされてしまうと、その先の検討が進まない場合が良くあります。例えばちょっと極端ですが、アプリケーション方式でやるか、Web方式でやるか、なんてレベルのことも決まっていないと、システム構成も決められません。それが連鎖して何から何まで曖昧模糊とした状態からぬけだせなくなる、なんてことも起きます。
これって、良心的な、頭のいい人達が集まってやると余計にこの状態に拍車がかかる傾向があります。ちゃんとやろうとしすぎて物事が運ばなくなる状態です。しかもこうなってしまうと分析期間がかかりすぎ、それだけで莫大なコストがかかったりします。プロジェクトを進めるためには、規模にもよるのでしょうが、むしろ1名のプロジェクト・オーナを決めて、その人が勘と度胸ですべての仕様を決めていく(もちろん裏づけは取った上でですが)、というスタイルのほうが実は費用対効果が優れていることが多いのではないかと、経験上私は思います。
投稿日:2007年04月13日 作成者:yasunaka
これ、疲れたときにいいですよ。
update it, Inc.ではコーヒーとバナナが必需品です。
投稿日:2007年04月13日 作成者:yasunaka
少し前に紹介しましたが、日経新聞の今月の「私の履歴書」は鈴木敏文さん(セブン&アイ・ホールディングス会長)です。今朝の内容ではアメリカでセブン・イレブンを見つけてきて、それを日本で展開しようとするが、その当時の日本では大型店が地元の小型店で成り立つ商店街を駆逐するという構図が出来上がっていて、そんな小型店がうまくいくわけがないと社内外から大反対される、という話が書いてあります。
これに対して鈴木さんは果敢に挑んでいくわけですが、闇雲に挑戦しているのではなく、根本的な部分、本質的な部分でそれまでの常識(小型店より大型店が有利)の「ウソ」を見抜いている点がすごいんですね。その当時の業界関係者や学者は単に売り場面積の大小で判断していたのに対し、鈴木さんは小型店より大型店が有利という「常識」は、それまでの小型店の労働生産性が低く、かつ顧客都合を無視していたという前提で成り立っている話しだということ、そしてマーケットに変化が現れ、それまでの安い商品を並べれば売れるという時代ではなくなってきたということ、この2つの「事実」を捉えていたので、果敢に挑戦することができた、というわけです。(詳しくは今朝(4月13日)の日経新聞朝刊を見てください)
物事のブレークスルーって、この常識を疑う「非常識力」から生まれると思います。でもこれっていきなり沸いて出てくるようなものではなく、普段の考え方、考える姿勢の問題なのでしょうね。 例えば上記のようなコンビニエンスストアーを日本で展開するという話も、その当時の常識にどっぷり漬かっていた業界関係者ではなかなか出てこなかった発想だと思うのです。流れに流されるのではなく、常に「?」と考える姿勢を貫いていることが重要なのだと思います。
昨日のブログ「重複を削ろう」で無駄を削ってアジャイルにいこうという話を書きましたが、重要なのはやはりそれまでの常識を疑うという気持ちなのだと思います。今、当たり前のようにやっていることは本当に必要なものなのか、逆に本当は必要なのにも関わらずやっていないことはないのか、常に自分に問いかけていきたいと思います。
投稿日:2007年04月12日 作成者:yasunaka
会社の前のイチョウの木がだいぶ芽吹いてきました。
今日も気持ちがいい天気ですね。
投稿日:2007年04月12日 作成者:yasunaka
昨日の?設計書に書くべき範囲と絡むテーマなのですが、設計書って同じようなことの重複が多いですよね。例えばDOAにしろオブジェクト指向分析・設計にしろ、最初に概念モデルを作って、それから物理モデルを作って…ってように、同じ対象に対して2度モデリングをしています。これって目的が違うし、出来上がりのものも違うものなので、厳密には重複ではないのかもしれませんが、なにか似たようなものを作っていますよね。
で、そもそも先に作った概念モデルってなんなの? っていうのが今回の主題です。もしそれがシステムをデザインするためのものだったら意味がないんじゃないの?って思うんです。それが業務のモデリングだったら話はわかる。このシステムを導入したときに、あるべき業務をモデリングしたものが概念モデルだっていうんだったら書くべき内容がぜんぜん違うから存在意義があると思うんだけど、どうも本来はそういうものではないらしい。
で、似たような、さらにもっと詳しい物理モデルを後で作るんだけど、そうすると同じテーマで2つのバージョンのドキュメントが存在することになる。苦し紛れに概念モデルは最初の設計時に作って後はメンテナンスされないなんて説明がされたりするんだけど、それって重要な設計書類でないからメンテナンスできないだけじゃん、って思っちゃうんです。
別に設計者の頭の整理をするために勝手に概念モデルを作る作業をやめろとはいいません。が、重要でもないドキュメントは成果物ではない、単なる個人的なノートでしょ、ってのが言いたい。それなのにことさらそういったことの重要性を強調するプロセスを定義しちゃうもんだから、成果物として扱われ、無駄な作業が増えちゃうわけです。
最近あんまり聞かなくなった単語だけど、生粋のアジャイラー、安中です。
投稿日:2007年04月11日 作成者:yasunaka
システム開発には「なんたら設計書」というのが多く伴います。通常のウォーターフォールによる開発では業務要件定義書に始まり、システム要件定義書、システム概要設計書、システム基本設計書、外部仕様書、テスト仕様書etc…が作られますね。
大量のドキュメントを作成しながら、実際には現場ではあまり有効活用されていないケースも見受けられます。なぜでしょうか? そういう立場のプロジェクト・メンバーになったつもりで考えてみましょう。
1.量多すぎ。頭に入りきらない。
2.実際に作るとなると参考にならないことが多い。
一番の理由はおそらくこんなところではないでしょうか? こんな理由から上流工程のドキュメントは下流工程のプログラマーが読んでいないことが多いと思いますし、それが当たり前のように思われているところもあるかもしれません。実際のところ「自分のやる範囲の仕様書だけ見てればいいや」っていうプログラマーも多いかもしれません。
でもこれってもったいないですよね。ちゃんとみんなが「使う」「使える」ドキュメントを作るべきだと思いませんか?
じゃあなぜ、量が多くなりすぎるのか。 そして実際に作るとなると参考にならないことが多いのか。 それは設計書に余計なことを書きすぎているからではないでしょうか? 設計書に一般論や誰でもわかることなど書く必要はなく、そのシステムが「他と違うこと」「特別なこと」を書くべきなのではないでしょうか? 何がエッセンス(本質)かということをきちんと捉えて、そこにフォーカスしたドキュメントであれば、それは量は少ないけど中身がとっても濃いもの、読みやすくてためになるものになると思います。
設計書を納品物として納める場合、設計書に「厚み」が要求されることも多いと思いますが、本来逆で、「お、こんなに薄くまとめられたの? すごいね!」と、紙としての薄さと内容の濃さで勝負できるように変えていくべきだと私は思います。
投稿日:2007年04月10日 作成者:yasunaka
何の花でしょう?
今日は春めいていい天気です。
投稿日:2007年04月10日 作成者:yasunaka
最近なかなか手を付けられないでいるのですが、私はSwingUnitという、JavaのGUIアプリケーションのテストツールを個人的に作っています。(今のところ会社としての仕事ではありません) JavaにはSwingというGUI構築用のライブラリーがあり、Swingを使って組み立てられたアプリケーションを自動的にシナリオに沿って動作させる仕組みで、JUnitなどと組み合わせるとリグレッション・テストなどを自動化することが可能です。
SwingUnitの開発を始めたのは2004年の秋ごろです。その当時、オープンソースの開発や、さらにそれを使ったビジネスモデルの話を聞くたびに、面白そうと思い始め、じゃあ自分でもやってみようかと考えてはじめた次第です。ただ最初から公開する自信はなかったので、約半年間は手元で開発し、2005年の5月、ある程度そろったと判断してjava.netで公開に踏み切りました。
ちなみにこのSwingUnitで2005年のJavaOne nightに出場させていただいたので、そのときにお会いした方もいるかもしれませんね。
あまり偉そうなことは言えないのですが、実際やってみて感じたことは、正直なところボランティアベースではなかなか十分な時間を確保するのが難しいな、ということでした。作るのは本当に楽しいのですが、仕事をやりながらということになると、実際にSwingUnitのために割ける時間というと休日ぐらいになってしまいます。その休日は家族サービスもしなければなりません。会社を立ち上げてからはその休日の時間も全くとれなくなってしまいました。(一応バグFIXはやっていますが)
格言に「Time is money(時は金なり)」というのがありますが、それを実感する今日この頃です。