プロフィール

My Portrait
Name:
JINN
1979年に群馬の片田舎で生まれ、群馬から茨城という稀に見る北関東縦断を行い、...

最新コメント

トラックバック

カレンダー

- 2009年03月 -

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        

QRコード

こんなもんだよ。SEって。 mobile ver.
このブログはケータイもご覧になれます。

« えいぎょうじかん | メイン | 冷え性 »

何のために作るのか?

2008年01月30日 23:28


ある業務のシステム化を始めるにあたり、いきなりプログラミングから始まりません。というか、始められません。いきなり例え話から始まりますが、図書館や大学なんかの書物管理のシステムを作るとします。本にIDタグかなんかをつけて誰がいつ本を借りて、いつに返却予定とか管理するものです。

このプロジェクトを始めるときに、一番最初にやらなければいけないことはなんでしょう?

お金の見積り?どんなプログラミング用語で作るか?

いやいや、システムを納品する図書館や大学側の意見を聞くことです。これを「要件」(ようけん)と一般的に呼ばれます。
システムを使うお客さんの意見を聞かずして、納品する(システムを相手に使ってもらう)なんてことはできないですよね。ましてや、意見を聞く私たちと、システムを使う図書館の方の業務知識などに少し違いがあります。「うちらの間(業界)では当たり前」のことが、システムを作っていく上で落とし穴になるときがあるのです。

こういった意見をまず、聞いてまとめます。これを要件定義というのですが、これをまとめるには、お客さんの業務を理解し、なんのためにシステムを作るのか?ということを理解しなければいけませんね。この図書館のシステムの場合、本のISDN番号(本につけられている特有の番号)を図書館の管理人さんが紙媒体の台帳で管理しているため、記入ミスや記入漏れ、読み取れない文字が出てくるため、バーコード管理しようとか。こんな感じ。

要件を決める工程を「上流肯定」なんて読んだりしますけど、工程が下に行けば行くほど「何のために必要か」ってことを理解せずに作っているときが多いです。特に海外の安価な人材を使う場合、ここの要件定義や次の工程の基本設計(システムの設計書)が非常に肝心になってきます。

「作られたものを決められた方法で、ただ作る」ということは簡単です。
しかし、「何のために作っているか」ということをよく考えて欲しいなぁと思う今日この頃。

なんでこんな話しになったかってのは、うちで外部に作ってもらってる、ある小さなプロジェクトがあるんですけど、まさにこれ。伝えたことしかやってくんない。
自分の考えが他力本願なのはわかってるんだけど、少しは助けてーと言いたくなったので。

コメント

■この記事へのコメント

とても大事なことだと思います。
作業内容や責任を分割するメリットもありますが、全体が1つになって、血流のように情報が流れたら劇的な変化があると考えています。
Zeeta
http://mm3991.qp.land.to/

はじめまして?

私も同感です。

SEもプログラマも現場を知らなさ過ぎるし、
自分が何のためにシステム開発をやっているかという
ことを見失いがちですね。

お客様が使ってくれること、喜んでくれることが目的だって
いうことを忘れ、開発することが目的になってしまいがちです。

気をつけたいです。

■コメントを投稿する

(掲載は事務局の承認後となります。すぐに掲載されない場合は、しばらくお待ち下さい。)