システム開発でありがちな失敗パターンと失敗する理由
あるはずだと思っていた機能がないケース
- 帳票の出力が必要なのにシステムから出力出来ない
- 集計単位や条件が、業務要件に合わない
- 月次や週次での締め処理、集計処理が必要なのに、実装されていない
失敗してしまう理由
スプリントの繰り返しで、都度動きを確認しながら進められるのは、スクラム開発の最大の魅力ですが、システム全体として、何をいつまでに作るのか、について、事前に確約することが出来ません。絶対の納期がある場合、別途調整が必要になります。
機能としては実装されているけれども、現場のユースケースや使い方がくみ取れていないケース
- 画面遷移やクリックが多すぎて、手作業以上に時間がかかる
- 検索条件が不足していて、必要な情報にたどり着けない
- 紙での運用で出来た、俯瞰して眺めることが出来ず、全体が見渡せないことで業務の品質が低下する
失敗してしまう理由
これも難しい問題です。ヒアリングした結果、機能としては正しく実装したのだけれども、使い勝手が悪い、現場業務に合わない、現場では操作が出来ない、全体が分からないから業務が止まってしまう、といったことが良く発生します。
システム開発を成功させるポイント
いくつかの例を挙げさせて頂きましたが、勿論これが全てではありません。一言でいえば、お客様の仕事を全て外部の人間が理解するのは、とても難しく、不可能に近い、ということです。勿論、ITコンサルタントとして、開発側はそのギャップを埋めるためにあらゆることに気を配りますが、他社から来た人間が、そんなに簡単に全てを理解出来ることはあり得ません!ここで重要なのは、それぞれの業務の目的を、お互いに理解し合い、達成しなければいけない目標を共有し合う努力を続けることです。
要件がくみ取れていない、といった問題は、丁寧にヒアリングを重ねれば、埋め合わせ出来ますが、システム化出来ないような業務も、きっと見つかります。その結果、今までの業務を変える、という答えにつながることは、多々あります。せっかくシステムを導入するのですから、今までとは異なる業務に変えて行くのが、正しいはずなのです。
とはいえ、寝耳に水の状態では、現場はついてきてくれませんから、お客様へ説明し、理解して頂く必要があります。
アジャイル開発が、重要だと認識されてきた経緯には、こういう背景もあります。現場の方にも早い段階からシステムがどのような形になりそうかを理解して頂くことで、お互いに歩み寄りが出来るようになります。
システム開発を失敗させないためのユーネットの取り組み
弊社では、エンドユーザ様とのお仕事では、出来るだけ柔軟に仕様変更や要件の見直しに対応するよう、努めています。短い時間で全てをくみ取るのは、とても難しいからです。
一方で、仕様変更を続けていると、品質にも影響が出ますし、いつまでたっても出来上がらない状態になってしまいます。
ですから、出来るだけアジャイル開発の柔軟性を活かして、お客様と一緒に開発を続ける、といった姿勢を大事にしようとしています。