要件定義のアプローチ

要件定義の基本

すべてをシステムで解決してしまおうとする要件定義には注意が必要である。システムの成功の可否は要件定義にかかっていると言っても過言ではない。しかし、十分に要件定義の時間を使ったにも関わらず、ITプロジェクトが失敗することがある。

規模別の要件定義

システム構築の規模によって、要件定義の粒度が変わる。小さなITプロジェクトの場合は要件定義をせずにプロトタイプを作りながらシステム構築を進めるといった方法がある。これをアジャイル開発、プロトタイプ開発と呼ぶ。

要件定義の本質

要件定義の粒度は時間を掛ければ細かくなるわけではない。ユーザー側でも要件定義を進めるにつれて、想定している機能の矛盾点が出てくることがある。この矛盾点を解消していくこと自体を要件定義としてはならない。要件定義はあくまで本質的なコアとなる部分から膨らませることが重要である。

対話型要件定義

要件定義フェーズで失敗するパターンは、ユーザー側との対話ではなく、システム会社側がヒアリングに徹する場合である。ユーザー側はITを利用してどのようなことができるかを知らない可能性が高いため、システム専門家がそれを鵜呑みにした仕様で要件を固めてしまうと、製造工程で無駄な工数が発生し予算をオーバーしてしまうことがある。

まとめ

本質的な要件をコミュニケーションによって、はっきりさせていく作業こそが要件定義と言えるのである。さまざまな視点から何度も繰り返し要件をなぞることで粒度が落ちていき、適切な要件定義書となる。何でもかんでもシステム化せず、オペレーションとの関係性を見合わせながら進めることが望ましい。

関連記事

マニアの逆効果

趣味の進化

趣味やコミュニティにファンが定着しないという話をよく耳にする。この現象を理解するには、戦後日本の変遷を振り返る必要がある。高度経済成長期に入ると、人々の可処分所得が増加し、余暇時間も確保されるようになった。これに伴い、日本人の趣味の選択肢は爆発的に広がっていったのである。

IT黎明期

そんな多様な趣味の選択肢の中から、パーソナルコンピュータという新しい文化が誕生した。初期のパソコンマニアたちは、その後のIT業界の礎を築いていった。彼らの情熱と探究心は、技術革新の原動力となったのである。ユーザー数が増加するにつれて、独自の用語やネットスラング、コミュニティ文化が形成され、デジタル時代特有の新しいコミュニケーション様式が確立されていった。

マニアの防衛

しかし、ユーザー層が拡大するにつれて、必然的にライトユーザーや一般層の参入が増えていった。この変化に対して、コアなマニア層の中から、自分たちが築き上げた文化や価値観を守ろうとする動きが現れる。彼らは意図的に専門用語を多用したり、新規参入者に対して高い障壁を設けたりすることで、独自の世界を保持しようとした。このような排他的な姿勢は、結果として健全なコミュニティの成長を阻害する要因となったのである。

IT変革期

このような状況は、しばしば「マニアが業界を衰退させる」という批判の対象となってきた。IT業界を例に取ると、黎明期には「オタク」というレッテルを貼られ、社会的偏見にさらされることも少なくなかった。しかし、ITバブル期に入ると状況は一変する。テクノロジーの急速な発展と共に、IT関連の職種は一気に注目を集める花形職業となっていったのである。この変化は、マニア文化が一般社会に受け入れられていく過程を象徴的に示している。

まとめ

現代では、パソコンの使用者をマニアと結びつけて考えることはほとんどなくなった。しかし、同様の現象は量産型のプログラミング業務の中でも起きていた。ローコード開発の台頭により、プログラミングは特別な知識を持つ人だけのものではなくなり、誰もが気軽に扱える時代となったのである。

続きを見る >

開発遅延の打開策

システム開発の現状と課題

数名で開発した初期のシステム構築から、システム会社を変更して大がかりなリプレイスを行い、保守運用を実施しているが、月々の費用が高額であるわりに、開発スピードも遅い。開発スピードが遅いため、新しい機能を実装していけない。

不具合と開発の不透明性

リリースから何年も経っているのに不具合がなくならない。開発会社からの報告が曖昧で何にお金を支払っているのか謎のままであることが多い。

コスト削減と資源最適化

開発スピードを上げるには、システム開発コストの削減をしなければならない。コストを削減するということは、それで浮いたコストを開発に割り当てることができるため、結果的に開発スピードがあがることを意味する。

開発の透明性と妥当性

そのためにしなければならないことは、開発工程や開発過程の見える化および妥当性を担保することである。システムの比較検討ができないため、システム開発のコミュニケーションは一般的なものであると思い込んでいる。システム発注の担当者はシステムのことがわからないから、システム開発の進め方に違和感があったとしても技術者が言うことを信用するほかないと思っている。

まとめ

結果として、技術者の工数と称して月々の費用や、ひどいものでは言語のバージョンアップと称して、何もしていないことに費用を支払っていることもある。不明点はシステム発注の担当者が理解できるまで聞くべきである。

続きを見る >

システム開発の混迷

営業依存の弊害

業務システムがうまくいかないのはベンダーやSEの問題だけではない。SEを取り巻く環境もシステム開発には重要である。業務システム開発を依頼するベンダーであれば営業担当者が挟まる。日本の縦割り社会の中で営業担当者は非エンジニアである場合が多く、プロジェクトの成功が目的ではない場合がある。

役割の細分化

SEをプロジェクトマネージャーとしている場合も注意が必要である。日本ではシステムエンジニアは細分化されておらず、建築でいうと参加者の全員が職人という扱いであることが多い。システムに関わる人全員がSEとしてしまっている間違いである。

開発の本質

SEやベンダーのプロジェクトマネージャーはそれ自体がプロジェクトと考えていることも多く、ビジネスとしてのプロジェクトとして捉えることができていないことがある。本来はビジネスが中心にあって、その中に業務システムが位置するはずである。それが見えているか否かで、業務システム開発の成功の確率は変わるのである。

相互理解

逆に、システムのことはSEに任せているというような場合も注意が必要である。システムのプロジェクトを経験したことがある、というだけでは、システムに関連するプロジェクトを成功させるのは困難である可能性が高い。プログラミングの経験がなければ、SEやベンダーが持つ心境を察することができないからである。最も重要なことはシステム導入時のイメージである。

まとめ

欧米では当たり前のように、間接的に関与する売上や利益の向上を管掌する部門や役職があるが、日本では良くも悪くもロジカルであり、数字がなければ行動に移せない厳密なルールがある。

続きを見る >