システム開発のセカンドオピニオンという考え方


アクシアは主にシステム開発をサービスとして提供している会社ですが、最近ではアクシアがメインで顧客のシステム開発に携わるのではなく、他社に依頼している開発プロジェクトに関してアドバイザーとして助言を求められるケースも多くなりました。コンサルティングと言った方がわかりやすいかもしれません。

医療の分野ではセカンドオピニオンという考え方がありますね。より良い判断を行うために、当事者以外の専門的な知識を持った第三者に意見を求める行為のことセカンドオピニオンと言います。

  • 診てもらっている先生の診断が適確かどうか知りたい
  • 治療を続けているけど全く良くならない
  • もっと良い治療方法があるのであれば知りたい

こうした時にメインで担当してもらっている先生以外にセカンドオピニオンとして客観的な意見を求めるわけですが、なぜセカンドオピニオンが必要になるのかと言うとそれは、先生の言っていることが万が一間違っていたとしても、医療という分野が専門的すぎて素人には判断することが難しいからです。

そしてシステム開発という分野も非常に専門的です。素人には判断が難しいこともたくさんあります。

  • 要件定義の進め方
  • 開発会社の選定
  • 見積もりの妥当性判断
  • 開発の進行状況の見極め

こうしたことはシステム開発の経験が全く無い場合には、正しい判断を行うことが難しい場合もあり、開発が進行して取り返しのつかない事態になってからはじめて問題があったことに気づくこともあります。

システム開発は専門的であり簡単ではないということを考えると、システム開発でセカンドオピニオンを取り入れるという考え方はもっと一般的に普及しても良いのではないかと思います。

システム開発にセカンドオピニオンを取り入れるやり方をアクシアから提唱したいと思います。

セカンドオピニオンの選び方

システム開発でセカンドオピニオンを選ぶ際には、当たり前ですがシステム開発の経験が豊富で専門知識を有している会社を選定することです。絶対にやってはいけないことは、システム開発の経験がほとんどない、または全く無い会社を選ぶことです。

まずはセカンドオピニオンに絶対に選んではいけない筆頭はSESと呼ばれる形態で仕事を行っている会社です。SES企業は会社ウェブサイトを一見するだけだと専門的な業務を行っているシステム開発会社のように見えるケースが多々あるので中々やっかいです。

システム開発とSESは全く別の業種として明確に区分すべき

SES企業の判別については上記のブログ記事などを参考にしてください。

またシステム開発のセカンドオピニオンを依頼する場合には、コンサルティングを中心に行っている会社にも要注意です。彼らのメイン業務がコンサルティングであり、システム開発業務を普段ほとんど自分達で行っていないようであれば、何のためにセカンドオピニオンを依頼するのかわかりません。

セカンドオピニオンを依頼するのであれば、普段システム開発を行っている専門業者でないと意味がありません。医療のセカンドオピニオンを医者ではなく医療評論家に依頼するのはおかしいですよね。セカンドオピニオンは専門家に依頼しなければなりませんが、コンサルティング会社はシステム開発の専門家ではありません。

システム開発に関していつでも相談できて信頼できる専門会社をセカンドオピニオンとして一社確保しておくと安心です。自社内にシステム開発に関して詳しい人がいないけどシステム開発に取り組む必要がある場合には、セカンドオピニオンの検討も視野に入れることをお勧めします。

次からはセカンドオピニオンが役に立つ、システム開発の具体的なシーンを見ていきます。

要件定義の進め方

システム開発を行いたいけども、開発の経験者が社内に1人もおらず、何から手を付ければ良いのかよくわからないという話はよくあります。要件定義はシステム開発のフェーズの中でも非常に重要ですし、よくわからないままに見切り発車してしまうと失敗の確率が一気に上がります。

何から着手すれば良いかわからない時のシステム開発の進め方

システム開発はざっくりと分けると下記のようなフェーズで進んでいきますが、この中でも最初の要件定義はシステムに必要な要件を検討して明確化するフェーズであり、要件定義は発注者側の仕事です。

  1. 要件定義
  2. 設計
  3. 開発
  4. 試験
  5. 保守

要件定義は発注者側の仕事なので、このフェーズを他社に丸投げすることはできません。丸投げすることはできませんが、正しく要件定義を進めていくためにサポートをしてもらうことはできます。

システム開発を専門とする会社は、要件定義の段階でどのような検討をしておく必要があるのか、何を決定して置かなければならないのかを熟知していますので、その後のフェーズをスムーズに進めるために必要なアドバイスを受けることができます。

厳密にはセカンドオピニオンとは少し違いますが、自社の要件定義を正しく進めるために必要であればこのフェーズで専門会社のサポートを依頼すればスムーズに要件定義を進めることができます。

システム開発会社の選定

要件定義が完了したら、いよいよ専門のシステム開発会社に問い合わせをして選定していくわけですが、実はこれが非常に難しいのです。ここでまともな開発会社に依頼をできなければプロジェクトは炎上し、確実に失敗への一本道を突き進むことになります。

なぜ開発会社の選定が難しいのかと言うと、世の中には自分達がシステム開発の専門会社ではないにも関わらず、自分達が開発業務を専門で行っているようにウェブサイト上で見せかけている悪質な会社がたくさん存在するからです。

そのことを理解するためにはまずIT業界の構造から理解する必要があります。

IT業界の多重下請け構造とは何なのか

システム開発の世界は多重下請構造となっており、しかもその多くは客先常駐で仕事を行うスタイルの会社です。このような会社の多くはSES企業と呼ばれており、エンジニアという人材を右から左に奴隷のように横流しするだけのピンハネ業者です。

彼らの行っていることの中身は実質的には派遣事業です。しかも一般派遣の許可を得た正規の派遣業者ではなく、偽装請負という違法行為を当たり前のように行っている違法業者です。このようなSES企業が業界の中の大部分を占めているのが現状なので、発注者側からするとまともな開発会社を探すことに非常に苦労するわけです。

システム開発会社の選び方

システム開発会社の選び方については上記ブログ記事も参考にしていただければと思いますが、開発会社を選定する際にもセカンドオピニオンのサポートを受けることで、変な会社に引っかかってしまうリスクを最小に抑えることが可能です。

見積もりの妥当性判断

システム開発という仕事は、形ある商品を販売するわけでもなく、競合する他の類似品が存在するわけでもなく、唯一無二のオリジナルシステムをオーダーメイドで構築するような仕事です。そのため料金については基本的に都度見積もりとなります。

開発料金は都度見積もりとなりますが、全く同一のシステムというものはほとんど存在しないためにその見積もり価格が妥当であるかどうかを判断することは簡単ではありません。ここで正しい判断ができないと安かろう悪かろうになってしまう可能性もあり、安ければそれで良いというものでもありません。

またこの業界が多重下請構造となっていることは既に述べましたが、この多重下請構造の最上位にいる会社の中には開発をまるごと下請け企業に丸投げしてマージンを抜くことしかしていないような会社もあります。

そういう会社に当たってしまったとしても、見積もりの内容を正しく判断することができなければ不当に高い価格で発注してしまうことになってしまいます。

だからといって何の根拠もなく「高すぎる」「もっと安くしろ」と叫ぶようなことは絶対にやってはいけません。そういうことは悪質な会社がやることであって、まともな開発会社からは嫌われて避けられることになります。

システム開発の見積り金額を正しくジャッジすることは非常に難しいことですが、ここでもセカンドオピニオンのサポートを受けることによって、妥当な見積り料金を知ることができるようになるので安心できます。

開発の進行状況の見極め

システム開発のプロジェクトが進行していくと、予期せぬトラブルも色々と発生することがあります。トラブルが発生しても正しく対処していくことが大切ですが、それができずにシステム開発のプロジェクトが炎上することも多々あります。

システム開発のプロジェクトが炎上する理由

プロジェクトが実際に炎上してしまっても、顧客に正しい報告を行わずに嘘をつく業者もいます。中には嘘をついているというわけでもなく、下請けに丸投げだったりSES企業を使っているだけだったりして、発注先の元請業者がプロジェクトの状況を正しく把握できていないような場合もあります。

  • 開発されたシステムの品質には問題がないのか
  • セキュリティ上の問題はないのか
  • 保守メンテナンスしやすいようにしっかりと作られているのか

こうした内容については専門的な知識を有していない限り、素人が判断することはまず不可能です。構築が進んでいるシステムの蓋を専門家が開けてみたら、とても運用に耐えられる代物ではないということもあるのです。

そういう開発の進行状況の見極めを正しく行うことができれば、

  • プロジェクトの納期を現実的なものに変更する
  • 依頼する開発会社を変更する
  • 場合によっては構築途中のシステムを捨てて作り直す

こうした判断を行うこともできますが、システムの中身の見極めができるような専門知識を有しているメンバーがいなければこういう判断を行うことはまず不可能です。手遅れになってしまう前に、できるだけ早い段階で方針転換の判断ができるようにするためにも、セカンドオピニオンは有効です。

発注者側としての姿勢

最後に発注者側の姿勢について言及させていただきます。システム開発が失敗する要因には様々なものがありますが、その中の一つには「顧客側の問題」があります。発注者側である顧客側に問題があったために、システム開発が失敗してしまうケースというのは多々あるのです。

システム開発が失敗する理由

発注者側である顧客側に問題があるためにプロジェクトが失敗してしまうような理由には以下のようなものがあります。

  1. 顧客が本気になって取り組んでくれない
  2. 顧客の開発会社に対する態度が横暴
  3. 顧客が自社の従業員をうまく巻き込めていない

システム開発はプロジェクトです。プロジェクトメンバーは開発会社側の人間だけではなくて、顧客側もプロジェクトのメンバーであるという自覚は重要です。顧客側でもやるべきことをしっかりとやらなければ、プロジェクトが失敗してしまうことは当たり前なのです。

セカンドオピニオンの立場として開発プロジェクトを見ていると、こうした発注者側としての姿勢に問題があったためにプロジェクトがうまく進んでいないようなケースに遭遇することもあります。そのような場合には、今後のプロジェクトをうまく進めていくために顧客にも発注者側としての姿勢を改めてもらうように進言します。

発注先の開発会社の言うことは疑心暗鬼になって素直に聞けない場合でも、セカンドオピニオンの意見なら真摯に受け入れて自分達の姿勢を改めてもらえる場合もあります。

このようにシステム開発にセカンドオピニオンを取り入れる方法は、開発をうまく進行していくために様々な場面で有効に機能することがあります。社内にシステム開発の専門知識を有する人が存在しない場合には、ぜひシステム開発のセカンドオピニオンをご検討いただくことをお勧めします。

このエントリーに関連した記事はこちら