要件定義の問題点

はじめに

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

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

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

要件定義の丸投げ

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

無理な受注

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

人材紹介会社の利益構造

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

エンジニアの責任範囲

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

発注側の保身

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

関連記事

マクロからPower Appsへ

ゾンビファイル

今から十数年前に作られたExcelやAccessでのマクロプログラムが今もなお残り続けている。表計算ソフトと呼ばれるデータベースに似たツールを背景にユーザーインターフェースやロジックを付け足したものである。もはやゾンビファイルと言っても過言ではない。これらのシステムは当初の目的を果たしていても、時代の変化とともに保守性や拡張性に大きな課題を抱えるようになっている。

作成者不明問題

社内に残る通称「マクロ」は、今はいない人が作成していたり、一部の人が独自に作ったものであることが多くある。作った人がいる場合はまだしも、退職している場合はその中のプログラムも見ることができないので、いつ止まるか分からないシステムを業務の中心で使い続けていくことになる。このような状況では、エラーが発生した際の対処法が不明で、業務継続に深刻なリスクをもたらす可能性がある。

市民開発解決法

ブラックボックス化したマクロを情報システム部に解決をお願いするのではなく、市民開発にて解決するには多少のコツが必要になる。ポイントは完全にブラックボックス化している状態や、何から手を付けていいか分からない状態のマクロ群は、残念ながらまずは専門家に情報の整理を依頼することが必要になるだろう。自社だけでの解決を試みる前に、適切な専門知識を持つパートナーとの連携を検討することが成功への近道となる。

専門家活用法

専門家に依頼したほうがいい理由として、マクロファイルの解析だけを切り離した作業としてしまうと、その後の市民開発へ繋ぎにくくなるからである。マクロファイルのインプット/アウトプットを解析した上で、それをどのように今後の市民開発のベース作りに活かすのか。ITコンサルやシステム開発会社の腕の見せどころである。単純な解析作業ではなく、将来的な発展性を見据えた戦略的なアプローチが求められる領域といえるだろう。

まとめ

ExcelやAccessはMicrosoft社の製品であるので、そのままMicrosoft社が提供するPower PlatformやPower Appsへの移行がスマートである。間違ってもマクロをスクラッチ開発でのWebシステムに移管すべきではない。親和性の問題や閲覧性などに課題がのこることが多いようである。

続きを見る >

内製化の成功術

IT報酬の実態

海外と比べて日本のITエンジニアの報酬が低いという記事をよく目にする。それもそのはずで、ハイクラスIT人材は都合のいい「何でも屋」にはならないからである。

導入時の誤解

ユーザー企業やシステムのユーザーは、IT化を行うことで業務が減るという先入観を持っていることがある。システム導入を着手したときの目的を忘れて、その時、その場の課題を優先して都合よくITエンジニアを動かしてしまう。また動くITエンジニアもそこにいたりする。

システムと医療

たとえば、「お腹が痛い」と病院にいって「すぐに切開しよう」とはならないはずだ。このようにシステムにもその他にも色々な条件が絡まり合っている。システムは取り扱う情報量や関連する業務が多く導入に時間がかかる。時間がかかる結果、最初の導入目的を忘れてしまうのである。

真のIT人材価値

ハイクラスIT人材はユーザー側の状況と心理を配慮しつつ、現場のプログラマーの状況と心理を考慮して陣頭指揮できる人材といってもよいだろう。心理というのは物の言い方だけではなく、無形の財産を構築したり業務にフィットさせたりするので、プロジェクトの円滑さが変わるのだ。

まとめ

小手先だけでシステムに関するプロジェクトを推進しようとすると、「言われた通りにやった」という受動的な参加者が増えてしまう。情シスのSIer化を回避するにはITエンジニアを「何でも屋」にさせて疲弊させないことも大切である。開発チームの雰囲気作りも非常に効果がある。

続きを見る >

なぜベトナムは比較的ライトウェイトなWeb開発に向いているか

導入

Web開発は様々な分野が存在しますが、ベトナムは比較的ライトウェイトなWeb開発に適していると言えます。本記事では、Web開発のいくつかのカテゴリについて検討し、ベトナムでのオフショア開発の適性について評価します。

カテゴリ1: 古典的なホームページ開発

古典的なホームページ開発について考えます。現在でも、完全なスクラッチでのホームページ開発が行われることもありますが、一般的にはWordPressなどのフレームワークが使用されることが多いです。このカテゴリについては、利点と欠点がありますが、ベトナムがオフショアに向いているかどうかは、まずは中立的な評価となります。

まず欠点から述べると、デザイン要素が大きいために海外での開発には向いていないと言えます。企業のウェブサイトや商品紹介ページ、ランディングページなどは、マーケティングの観点からデザイン要素が重要です。これらはウェブ開発やHTMLの問題ではなく、デザインの問題であり、プロジェクトの規模的に技術的な開発とデザインの分野が結合していることも多いです。このようなプロジェクトを海外にアウトソースすることは適切ではありません。ベトナムであろうと他の国であろうと、同様の理由が当てはまります。また、ベトナムの開発会社が日本語に堪能であっても、最も難しい分野を外国人に依頼していることを考えるべきです。

一方で、利点について考えましょう。デザインとウェブ開発の分業体制が進んでおり、古典的なホームページ開発の事例は少なくなってきています。従って、ある程度の分業体制が整っている場合は、一部をベトナムにアウトソースすることは合理的です。具体的には、デザイン部分を日本国内で行い、コーディングのみをベトナムで行う方法が考えられます。また、WordPressの記事やショッピングのCMSにおける商品加工など、既にデザインがテンプレート化されている場合もあります。Webは様々な使い方ができるため、適切な開発方法を選ぶためには、日本国内でキャリアのある人材を選択することが重要です。しかし、開発のシステム化を進める企業にとっては、一部の工程をアウトソースすることは有益です。

カテゴリ2: アプリケーションのウェブインターフェース

次に、アプリケーションのウェブインターフェースについて考えます。システムの本質的な価値はデータベースにありますが、検索や編集、書き込みなどにウェブ技術が使用されることは一般的です。また、これはスマートフォンアプリの開発にも大きく関連しています。特にビジネス用途のスマートフォンアプリは、実際にはサーバーやデータベースへのウェブインターフェースに過ぎないことが多いです。

このような開発においては、ベトナムが向いています。デザイン要素や言葉の使い方についてあまり心配する必要がなく、英語で開発しても大きな影響はありません。正確な判断基準を明確に整理できることが、現実的には最も簡単です。過去には、ウェブをシステムのインターフェースとして使用する方法には多くのノウハウが必要でした。例えば、JavaScriptを使ってカレンダーをポップアップさせたり、メールの文字化けに対処するための独自のルールが存在しました。しかし、Bootstrapなどのライブラリ化により、これらの問題は解決されました。そのため、ベトナムのエンジニアの若さや素早さを活かして、新しい技術を学びながら開発を進めることが可能です。

ただし、このような開発には継続性がないという問題もあります。長期間にわたって使用されるシステムではありますが、このような仕事には継続性が求められません。したがって、最適な解決策が存在しない場合でも、状況に合わせて適切な方法を見つける必要があります。

結論

ベトナムは比較的ライトウェイトなWeb開発に向いていると言えます。古典的なホームページ開発においてはデザイン要素が重要であり、海外にアウトソースすることは適切ではありません。しかしその開発工程において分業化や標準化がすでになされている場合は、オフショア開発を検討することは有益でしょう。また、ビジネス用途のアプリケーションのウェブインターフェースにおいては、ベトナムのエンジニアが若さと素早さを活かして開発を進めることができます。
これらの開発においては、WordPressやBootstrapなどのツールやフレームワークを活用することで効率的な開発が可能です。企業のシステム開発においては、オフショア開発の一部を活用することで生産性を向上させることができるでしょう。

続きを見る >