運用の昇華

開発現場の想定外

基幹システムの開発現場では、最初に想定した仕様とは異なる業務フローが後から発覚することが多い。

マネジメントの試金石

後から発覚した業務フローは、すでに構築が進んでいるシステムに組み込むことが難しいため、どのように対応するかがプロジェクトマネージャーの腕の見せ所である。

プロジェクトの舵取り

プロジェクトマネージャーとは何かと問われたときに、一言で言い表すならば、不測の事態にどのように対応できるか、ということではないかと考える。プロジェクトが何の問題もなく、完遂できることは少ない。したがって、イレギュラーケースが発生した時にどのような手立てを打てるか、迅速に行動できるかがプロジェクトマネージャーのレベルとなる。

パートナーシップの重要性

プロジェクトマネージャーがシステムの完成しか考えていなければ、途中から発覚した仕様は「運用でカバーせよ」とユーザー側に責任を押し付けてしまうことがある。しかし、より良いシステムを目指す、パートナーとしてであればこの回答は好ましくない。

まとめ

どのような事象がきっかけで、途中で使用漏れが発覚したのか、プロジェクトの進行状況を見ながら、ひも解くことが重要である。運用でカバーというユーザー側だけにだけ負担をさせるのではなく、運用をカバーするようなシステムを構築できるのが理想である。

関連記事

伴走型開発で仕様変更地獄を脱出

炎上の元凶

システム開発プロジェクトにおいて「仕様変更地獄」は最も深刻な問題の一つである。開発が進むにつれて次々と変更依頼が発生し、スケジュールは遅延、コストは膨張、開発チームの疲弊が進む。こうした状況に陥った企業では、プロジェクト自体が頓挫するケースも少なくない。特に従来型の開発手法では、仕様を固めてから開発に着手するため、後から変更が入ると大きな手戻りが発生する。ビジネス環境の変化が激しい現代において、この開発スタイルは限界を迎えているのだ。

仕様変更の理由

仕様変更が頻発する背景には、いくつかの構造的な問題がある。第一に、プロジェクト開始時点で業務要件を完璧に定義することは実質的に不可能だという現実である。現場の担当者も、システムが動く姿を見るまで本当に必要な機能が見えない。第二に、開発期間中にビジネス環境や競合状況が変化し、当初の要件では不十分になることがある。第三に、発注側と開発側のコミュニケーション不足により、認識のズレが後から発覚するケースである。これらの問題は、従来の「要件定義→設計→開発」という一方通行の開発プロセスでは解決できない。

伴走型開発の効果

こうした課題を解決するのが「伴走型開発支援」というアプローチである。これは、開発ベンダーが単なる請負業者ではなく、ビジネスパートナーとして顧客企業に寄り添い、プロジェクト全体を通じて継続的に支援する手法だ。具体的には、小さな単位で機能を実装しては確認するアジャイル的な開発サイクルを回し、仕様変更を前提としたプロジェクト管理を行う。重要なのは、変更を「悪」ではなく「ビジネス価値の最大化」として捉え直すことである。定期的なレビューで優先順位を見直し、本当に必要な機能に開発リソースを集中させる。こうすることで、限られた予算と期間の中で最大の成果を生み出せるのだ。

成功の3つの鍵

伴走型開発支援を成功させるには3つのポイントがある。第一に、発注側と開発側が対等なパートナーシップを築き、透明性の高いコミュニケーションを維持することである。進捗状況や課題を隠さず共有し、一緒に解決策を考える姿勢が不可欠だ。第二に、MVP(実用最小限の製品)の考え方で、コア機能から段階的に実装していくことである。すべてを一度に完璧にしようとせず、ユーザーフィードバックを得ながら改善を重ねる。第三に、変更管理のルールを明確にし、影響範囲とコストを可視化することである。無秩序な変更を防ぎながら、本当に価値のある変更は柔軟に取り入れる。このバランスこそが成功の鍵となる。

まとめ

仕様変更地獄から抜け出すには、開発手法そのものを見直す必要がある。伴走型開発支援は、変化を受け入れながらプロジェクトを着実に前進させる現代的なアプローチである。単なる技術提供ではなく、ビジネスゴールの実現に向けた戦略的パートナーシップが、これからのシステム開発には求められているのだ。

続きを見る >

開発の相場

相場の不在

フルスクラッチでのシステム開発に相場はない。相場とは商品が一般的に流通している商品など数が多い場合は、競争原理も働き、金額がある一定の範囲に収まってくるものである。

建築との差異

たとえば、一戸建て建築であれば、建物の規模と資材、それに加えて職人の人工で金額が決まる。フルスクラッチのシステム開発は、つまり極めて特殊な特注品を作るようなものであるため、システム開発に相場という概念が基本的にはないのである。

人件費の実態

システム(ソフトウェア)は一戸建てのように、基本的には材料費はかからない。システム開発の費用のほとんどは人件費である。大工職人の人工と同じように人月単価と呼ばれるSE1人が1ヶ月働く金額で相場を知ることができるのである。

工期の変動

建物を建てることと比べるとシステムやソフトウェアは無形の物となるため、1ヶ月の労働力を推し量ることは困難である。個人のプログラミングの早さによって、納期が早くなったり遅くなったりするのである。

まとめ

SEは過去のプロジェクト参画実績から、同じようなプロジェクトに何度も参画していれば手練れでスキルが高いと評価される。システムに関わる人材の評価が困難な点は、プロジェクトに参画する経験値と、本当の意味でのスキルが比例するわけではないことである。本当の意味でのスキルとはプロジェクトを成功させられるかどうかを指すのである。

続きを見る >

開発費用値下げの危険性

開発手法の選択基準

大がかりなシステム開発においては、ウォーターフォールモデルという開発手法がとられ、設計書などのドキュメント類も整理してから、プログラミングへ着手する。逆に中小規模なシステム開発においては、アジャイル開発と呼ばれ、プログラミングをしながらシステム開発が進められたり、ドキュメント類は簡易にして、プログラミング工程へ着手するといった方法がとられる。状況に応じて開発手法は使い分ける必要がある。

設計書の必要と課題

建築では図面なく建物を建てることはないが、中小規模のシステムについては簡単な概要だけでシステムの開発ができてしまう。もちろん設計書をしっかりと書いて、要件を詰めてシステム開発を進めることができれば、トラブルもなくていいのではないかと言われる。しかし、設計書を作成するにはシステムをプログラミングすることと同じくらい費用が掛かる。

設計書の粒度と要因

中小規模のシステム開発において設計書が簡易になってしまう理由は、ユーザー側や発注側の予算が乏しいという理由がある。建築のパターンの場合は、法律によって作成しなければならない図面や、施主から同意をもらうべき書類などが決められている。システム開発には法的に作成しなければならない書類が明確にされているわけではないため、この粒度が各社・各エンジニアによりバラツキが発生する。

文書管理の現状

中小規模のシステム開発において、最悪の場合は設計書がないケースもある。小さなプロジェクトの場合は予算も少なく特にドキュメント類がないが多くある。あるいは、システムはアップデートされ続けているのにドキュメントはアップデートされていなかったり、ひどい場合にはシステム保守ベンダーが紛失している場合もある。

まとめ

システム開発に時間がかかる理由は、設計書から作成することでプログラミング作業の2倍以上の時間がかかると言われる。いわゆる動作検証の工程まで入れるとプログラミング作業の3倍程度は時間がかかる。また、システム開発はほとんどが人件費である場合が多く、かかる時間に応じて費用が上がる。つまり、非エンジニアが単純に開発費用を値切ると、プログラミング以外の重要な情報を削っていくことになる。

続きを見る >