プロジェクト失敗談から学ぶ、技術選定で本当に大切なこと

複数ヶ月かけて作ったプロジェクトを、また複数ヶ月かけて作ることに
グッドビーでは「勤怠管理ツール」「有給管理ツール」「営業管理ツール」など自社のシステムを自分たちで使いやすいように内製し、社内からのフィードバックを受け、改良し続けています。
そんな中、昨年、案件管理ツールを作成したのですが、先日作り直しが決定しました。要件定義、デザイン、プログラミングに複数ヶ月かけたプロジェクトだったのですが、1年間運用した結果、もう一度作り直そうという決断をすることになりました。
理由は技術選定の失敗です。
機能要件だけでなく、将来的な運用負荷や特性を十分に見極められていませんでした。前述した通り内製ツールが多くあり、それらとリソースの共有をしたいという思いがあり、他プロジェクトと同じ技術を選定したのですが、他とは異なり機能追加などの運用が多く、また、グラフィカルな描画が多いということで、現状の言語だと対応し切れないということが明らかになりました。
結果、複数ヶ月かけて作ったプロジェクトを、また複数ヶ月かけて作ることになりました。自社ツールということで選定が甘くなり、改めて技術選定の大切さを痛感しました。
技術選定失敗に潜むリスク
開発をする上で技術選定を失敗すると、
- 開発の遅れが発生する
- 不具合が増える
- 想定外コストの発生する
- ベンダーロックインが発生する
といったように多くのリスクが発生します。そのためグッドビーではさまざまな角度から技術を見つめ、前述したリスクを限りなく0にするように心がけています。
技術選定の方法
技術選定で失敗しないように下記のような視点で選定をしています。
・その技術に長けたスペシャリストがいるか
技術選定において重要な観点の一つが、採用する言語や技術に精通したスペシャリストがチーム内にいるかどうかです。理想を言えば、チーム全員がその技術の経験者であることが望ましいですが、プログラミング言語やフレームワークの種類は非常に多く、メンバー間で経験の差が生まれるのは避けられません。そのような状況でも、一人のスペシャリストが存在するだけで、プロジェクトの推進力がぐんと強くなります。
設計や実装におけるベストプラクティスを共有できるだけでなく、他メンバーの学習コストを下げ、判断の迷いを減らすことができます。結果として、スペシャリストがいるかどうかは、開発効率や成果物の品質に大きな差を生む要因となります。
・信頼できる開発言語か
技術選定においては、開発言語やフレームワークそのものが信頼できるかどうかも重要な判断材料となります。
まず、商用利用の観点から、ライセンス上の制約や利用条件に問題がないかといった基本的な事項を確認します。これをないがしろにすると、後になって法的リスクや利用制限が発生する可能性があります。
また、最新リリースの時期や更新頻度にも注目し、その技術が現在も継続的にメンテナンス・サポートされているかを確認します。長期間更新が止まっている技術は、将来的にセキュリティリスクや互換性の問題を抱える恐れがあります。
さらに、プラグインやライブラリなどのエコシステムが充実しているか、拡張性が確保されているかも重要視します。必要な機能を都度自作する必要がなく、将来的な機能追加や仕様変更にも柔軟に対応できます。
最後に、コミュニティの活発さも確認ポイントの一つです。利用者が多く情報交換が盛んな技術であれば、トラブル発生時の情報収集や問題解決がしやすく、長期的な運用においても安心感があります。これらの観点から、単に「使える」だけでなく、「長期的に安心して使い続けられる技術かどうか」を重視して判断します。
人材確保と将来性
技術選定では、現在の要件を満たしているかだけでなく、将来的にも継続して利用できるかという視点が必要です。特に重要視しているのが、「人材確保」と「新規言語への投資」という二つの観点です。
まず、人材確保のしやすさです。将来にわたってエンジニアを採用・増員していくうえで、その技術を扱える人材が市場に一定数存在するかは重要な判断材料となります。利用者が少ない言語や特殊な技術を採用した場合、採用が難航したり、特定の担当者に依存した体制になったりするリスクがあります。結果として、開発・保守の継続性が損なわれる可能性があります。
次に、新規言語や技術への投資という観点です。新しい言語やフレームワークは、生産性向上や将来の競争力につながる可能性がある一方で、学習コストや技術の成熟度といったリスクがあります。そのため、単に新しいという理由だけで採用するのではなく、今後の普及見込みや開発元の方針、コミュニティの成長性などを踏まえ、投資に見合う価値があるかを慎重に見極める必要があります。
このように、将来性を考慮した技術選定は、短期的な開発効率だけでなく、長期的な運用体制や事業の継続性を支える重要な要素となります。
まとめ
これらの観点から、グッドビーでは技術を単なる開発手段としてではなく、事業を支える重要な要素として多角的に評価し、技術選定を行っています。技術選定は開発効率や品質だけでなく、運用コスト、人材確保、将来の拡張性などに大きく影響し、結果としてビジネスの成否に直結する判断だからです。短期的な流行や一時的なメリットにとらわれるのではなく、長期的に価値を生み続けられるかという視点を重視しています。
グッドビーは、技術の選択そのものがクライアントの事業成長を左右する重要な意思決定であると考え、将来を見据えた最適な技術選定を行っています。