要件定義の問題点

はじめに

会社の雰囲気や要件定義の内容をみれば、おおよそそのプロジェクトが成功するか否かがわかる。うまくいかない場合のユーザー側とシステム会社側の原因の一例である。

・要件定義をシステム会社に任せてしまう
・元請けシステム会社が無理な要件でも受注する
・準委任契約の人材紹介会社がリスクなく利鞘を稼げる
・末端エンジニアの作業遂行以外の責任
・ユーザー側、発注側の担当者が保身する

今回はその背景を説明したい。

要件定義の丸投げ

要件定義をシステム会社に任せてしまう。
要件定義はシステム会社がユーザー企業をヒアリングして作るものではなく、ユーザーとシステム会社が議論を重ねることで答えを出していくものにしなくてはならない。ユーザーが目指すべき姿と、システム会社が実現すべき姿のすり合わせが重要である。

無理な受注

元請けシステム会社が無理な要件でも受注する。
無理な要件でも受注できるのは、発注側にもシステムの知識がないため、ゴールが曖昧なまま元請けシステム会社が請け負ってしまうからである。もし、発注側にITリテラシーがなければ、パワハラなども発生する可能性が高い。したがって、元請けシステム会社に精神的な課題を回避するため、要件定義を作る人でさえも二次受けシステム会社から集めてくることがある。

人材紹介会社の利益構造

準委任契約の人材紹介会社がリスクなく利鞘を稼げる。
システムの完成責任は負わず、作業だけ請け負うことになるため、人さえ集めてくれば、そこでリスクなく利鞘が稼げる。発注側のユーザー企業からすれば、契約は元請けシステム会社であるため、3次請け、4次請けを使おうが、完成さえすればいいと考えていることが多い。

エンジニアの責任範囲

末端エンジニアの作業遂行以外の責任。
末端のエンジニアには、クライアントとの調整や導入、一定品質や納期の遵守など、責任感や危機感がないこともある。プロジェクトの全貌が見えないことも原因である。また、言われたことをやるだけで報酬がそこそこあるのが、システムエンジニアの業界だったりするので、作業をした時間分だけ報酬を支払ってほしい、という話にもなる。

発注側の保身

ユーザー側、発注側の担当者が保身する。
システム開発がうまくいかなかったときに、発注側の担当者がシステム会社に責任を押し付けるといったことがある。これは信頼関係によるもので、共同でプロジェクトを成功させようという目標が作れなかった場合に発生する。システム会社を業者扱いして要件定義を丸投げしてしまわないようにしなければならない。

関連記事

Power Appsで簡単に業務改善

システム開発の高コストと複雑化

多くの企業では、情報システム部門や外部システム会社にシステム開発を依頼すると、仕様確認が繰り返される。「この機能はどうするか?」「ステータスはこれで全てか?」など、質問が多く、時間とコストが増大。結果、システムは複雑化し、現場のニーズに即したシンプルな解決策から遠ざかる。

野良プログラムのリスク

システム開発の手間を避けるため、各部署でExcelマクロによる「野良プログラム」が横行する。これらは各人のPCに保存され、最新版の確認が困難になり、メンテナンスも不透明。担当者がいなくなるとブラックボックス化し、セキュリティリスクも増加。放置すれば、企業全体の業務効率が低下し、情報漏洩の危険もある。

Power Appsで迅速なシステム構築

こうした問題を解決するのが、MicrosoftのPower Appsだ。従来の複雑な開発プロセスを排除し、現場担当者が自らアプリを構築できる。ドラッグ&ドロップで簡単に操作でき、セキュリティもMicrosoft標準に準拠。野良プログラムの乱立を防ぎ、システム管理とメンテナンスも容易になる。さらに、ユーザー自身がアプリを修正できるため、柔軟性も確保できる。

定量化困難な業務もデジタル化

業務のデジタル化は、数値で説明可能なタスクは簡単だが、現場には「説明しにくい」業務も多い。こうした業務は経験に依存しがちで、担当者に頼ることが多い。Power Appsは、このような曖昧な業務も迅速にアプリ化し、標準化と効率化を同時に実現する。

まとめ

Power Appsは、現場主導でアプリを作成・管理できる柔軟性を提供し、野良プログラムのリスクも解消する。複雑な開発プロセスを省き、数値化しにくい業務も効率的にデジタル化することができる。

続きを見る >

マニアの逆効果

趣味の進化

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

IT黎明期

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

マニアの防衛

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

IT変革期

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

まとめ

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

続きを見る >

技術的負債の返済方法

負債の本質

技術的負債には、設計負債やコード負債がある。金銭的な負債であれば借入金やマイナスの表記で数字化できるのだが、技術的負債においては数字化できないことがとても難しい点である。経営に関するほとんどのことは定量化や定性化が可能だが、たとえば企業創業者の発想する「野生の勘」を直接的に数字化できないように技術的負債も一筋縄では見える化しない。

設計時の対策

技術的負債の中でもコード負債については、システム開発の現場からよく発想されるリファクタリングや再構築などを行うことで比較的わかりやすい返済方法となる。知らない人が作ったプログラムや古くなったプログラムのバージョンなど、リスクを表現し対応することができる。何よりも最初の企画設計段階で負債が積みあがりにくい仕組みを考えることが大切である。

高負担な設計

技術的負債の中でも利息の高い負債が設計負債である。単体機能における設計であれば、モジュールごとの再設計によって返済が可能である。しかし、プログラムは複数のモジュールが絡まり合っていることがほとんどなので、複雑なオペになってしまう。また、稼働中のシステムにわざわざ再設計したプログラムを導入するリスクに対して、得れるメリットも少ないので見過ごされがちである。設計能力は例えば、紙というオブジェクトのメソッド(振る舞い)とプロパティ(保持する情報)を聞いて正しい答えが帰ってくれば多少安心であろう。紙の振る舞いは燃えるであり保持する情報は面積などがある。

根本的解決

しかし、技術的負債はこのように目に見えやすい設計負債やコード負債が致命的になることは少なく、やはりその上層でどのような指針に基づいてシステム運用がなされてきたか、また長期視点で一貫したメンテナンスを行うことが必要である。システムの維持には保守費用や運用費用を払っていることが多いと思うが、これだけでは将来の負債を減らしていくことはできない。やはり、鳥の目を持つITコンサルタントやITアナリストなどの役割を持つメンバーが必要である。

まとめ

ITコンサルタントやアナリストは、すぐに利益も生まない、経費を削減するわけでもないといったコストセンターとしてのポジションなので、あまり起用していない中小企業も多いようである。投資に対する効果が見えにくいのは、料理でいう香辛料と同じなのかもしれない。その少しの投資が未来を大きく変えることになる。IT技術は日進月歩で発展するからである。

続きを見る >