■超スマート社会における
システム開発プロセス特性の変化
情報技術の進化を生活・社会に応用し、安全で快適な超スマート社会の実現が期待されています。一方で、情報技術の応用により開発する生活・社会システムの複雑化が進みます。これにより、様々な開発システムと開発プロセスの特性が変化し、プロジェクトマネジメントにおいても配慮が必要となります。
|
|
|
多彩な情報技術と運用の有機的統合
従来、情報技術の生活への応用は、比較的容易に定義できました。しかし、近年の高度な情報技術は様々な面から生活活動を変化させる可能性を提供し、その変化は更に情報技術の新たな応用を要求し、その連鎖の結果として生活の革新につながります。そのため、運用側の組織と設計側の組織が協調し、運用の革新と情報技術の革新による相乗効果を発見することが必要です。安全やセキュリティも同様に生活における運用と深く結びつくため、技術、あるいは運用だけでこれらを保障できません。このため、運用定義、構造設計、セキュリティ情報技術、保守のトータルで長期的な安全やセキュリティの保障を行うことが必要となります。
多岐に渡る専門技術、関連組織の有機的統合
AI、IoT、VRなど様々な技術が進化し、多くの技術を組み合わせる必要があります。また、法律、組織ルール、生活文化などを総合的に検討する必要があります。このためには、様々な分野の専門家の知識が必要であり、一人で要件定義を行える時代ではなくなりました。しかし、個々の専門家は他分野には精通しておらず、各専門家の知識を有機的、創造的に組み立て革新システムに導く牽引する役割とマネジメントが重要になります。
■超スマート社会のプロジェクトマネジメント課題
開発プロジェクトにおける俯瞰の必要性
プロジェクトマネジメントを行うためには、計画の精度が重要です。しかし、前述のように、要求と設計の協調、様々な専門家の協調が必要となり、最初に全ての開発対象の具体的な仕様やリスクを把握した開発計画を定義することが困難になってきました。このような状況で開発を開始した場合、プロジェクトマネジメント技術を駆使しても開発トラブルを避けることが困難です。このため、要求と設計の協調を意識したプロセス間の統合的なマネジメントが必要になります。機能、役割、部位などそれぞれの単一要素内の問題は見通しが容易であり、責任も明確なため基本的には問題が発生しません。 |
|
|
問題が発生するのは、それらがまたがる事象であり役割や責任が不明確な領域です。不明確になる理由は、個別の要素間を動的に捉える必要があり、総合的に把握する必要があるからです。静的な定義は容易ですが、動的な検証は容易ではありません。異なる要素が様々なシチュエーションにおいてどのようにかかわり、どう振る舞うべきであるかについて、要素間のシナリオとして検証する必要があります。動的に検証できるためには、それぞれの要素の概要を記憶し、流れをイメージできるようになる必要があります。ここでは、この状態を“俯瞰”している状態と呼びます。また俯瞰できれば、新たな革新を行えるアイデアと様々なリスクがイメージできるようになります。
開発には多くの知識が必要であり一人では不可能ですが、全体を包括して理解する役割が必要です。俯瞰できている人は、動的にシステムを把握し、様々な事象の変化の中の重要なシチュエーションを絞り、専門家に具体的な状況を提示することにより、最大限の情報を引き出します。そして、それを元に動的に再構築することにより開発対象のレベルアップを図ることができます。俯瞰する人の役割は、要求と設計、各専門家の協調を促す触媒として常に全体に見通しを与え一歩先を見続けリスクを回避して正しい方向に誘導することです。
■超スマート社会におけるプロジェクトマネジメント
俯瞰していれば大きな落とし穴に出会う確率が大きく低下します。しかし、俯瞰を行うことは簡単でありません。組織としてのしくみが重要になります。
開発プロジェクトにおける俯瞰を有効にするマネジメント
プロジェクト起案段階は、俯瞰を行えている状態ではありません。俯瞰できるレベルに至るまでには日数を要します。俯瞰を行うプロセスは、分担ができないため人月で工数を計算できません。このため、俯瞰よる精度の高いプロジェクト開発計画は、起案時には間に合いません。プロジェクト起案時には従来の経験ベースの開発計画を行い、この段階でシステム概要を俯瞰する計画を示し、俯瞰に基づく再見積もり開発計画と見直し実施の期日を明確にします。見直し時には、俯瞰できた状態のため精度が高く根拠が明確な開発計画が作成できます。この段階で当初の計画から大きく逸脱すれば、元々大失敗になるプロジェクトです。この場合は逸脱原因を明確にし、機能、期間、開発費用などの本質的な見直しにより、実現可能な合意された計画に導くことが必要です。
また、できる限り早く俯瞰するためには、企画構想段から俯瞰を行う専任者を投入することです。さらに、開発期間が最も重要な場合、俯瞰できていなくとも全ての開発がスタートできないのではありません。実際のプロジェクトの開発対象が新規であっても、全ての構成要素や機能が新規ではありません。必ず、従来の構造設計の考え方を明示的に応用できる固定的な開発要素もあります。明確な固定部分と要求分析により可変する部分の構造設計を行うことにより、ある程度の先行開発が可能なはずです。先行可能な開発を並行開発し、できる限り俯瞰のための時間を確保することも重要です。
俯瞰を管理できるマネジメント
通常、開発フェーズの中で暗黙的に俯瞰しながら開発を進めています。しかし、複雑なシステムにおいては、明示的に各フェーズの前に動的把握するための俯瞰時間を確保し、設計作業と明確に分離し管理することが必要です。特別扱いするのは、下記2つの理由からです。
1.状況ごとに俯瞰するための時間が大きく異なる
過去の類似経験の有無、複雑さ、想定しやすい動作であるかなどにより、大きく必要時間が異なります。たとえば、派生開発において、他のプロジェクトの優秀な人が参画した場合、その人以外から見れば、システムの動作は既知です。かつ新しく参画した人が優秀であれば、即座に俯瞰できていることを期待してしまいます。しかし現実には、システムのさまざまな機能、役割、動作を記憶し、全体を動的に捉えるには時間がかかります。優秀な外部の人に把握時間を与えずに進めさせ、期待はずれと判断してしまう例も多くあります。
2.俯瞰の成果が見えにくいため、時間を削られやすい
俯瞰に完璧はなく、成果が具体的ではありません。俯瞰せずとも以降の設計は行えてしまいます。その場合、部位や機能間などの矛盾や抜け漏れが除去できていないため、結合試験段階になってから問題が発生します。しかも、この原因は下流設計の問題として処理されることがほとんどであり、上流の設計側にフィードバックされません。この理由は、開発が既に進んでしまっているため本来の設計ではなく下流の設計で局所的に調整してしまうためです。しかし、これが全体の構造を劣化させる要因になると同時に、局所的な対応のため全体との不整合が発生し新たな不具合を埋め込んでいく原因になります。
組織的に俯瞰を確実にし、俯瞰者を育成するマネジメント
新規の複雑システムにおいて、俯瞰を行うには手探りの状況が続き、ある程度頭の中に入ってきた段階で全体像が急に見えてきます。この間、進捗が見えにくく周囲から急がされると同時に本人も極めて不安になります。また、たとえ俯瞰できても完璧ではありません。抜け漏れや矛盾の発生確率は極めて低下しますがなくなりません。様々な矛盾や各部位にとっての不都合に対する質問が俯瞰した人に集中します。俯瞰する役割の人は、開発の最初から最後まで常に非難されやすい立場になります。
そのため、組織として俯瞰する役割の人材を定義し、しくみとして必要な時間を与え、組織として開発を管理し、俯瞰する人への個人攻撃にならない様にすることが重要です。俯瞰した上でのプロダクトやプロセスの不具合は原因を明確に特定でき、以降の設計の組織ノウハウとして活用でき組織力を高めていくことができます。
|
|
超スマート社会のためのシステム開発
〜日本のものづくりを足元から見直しませんか〜
・・・第4次産業革命を実現する“コト”の生産技術革命・・・
(システムを扱う経営、企画、開発、品質保証、発注会社/受託会社のために)
■著者 : 三瀬 敏朗
■発行 : 2018年11月
■価格 : \2,800(税別)
■出版 : フォーラムエイトパブリッシング |
約30年間に渡って大手メーカー新規商品、特注品、試作機やマイコンソフトウェア等の受託開発に携わった豊富な経験にもとづいて、これからのスマート社会を支える上で不可欠な組込システム開発の考え方・知識・手法を紹介。システムを扱う経営、企画、開発、品質保証、発注/受託に関わる方は必読の手引き書です。 |
|
|