QCDの死角

失敗の正体

システムの失敗は見えないことがある。ブラックボックスであるがゆえに隠せてしまうからである。失敗かどうかの線引きができないところがシステム構築プロジェクトの難しいところである。

エンジニアの真実

もしかしたら、エンジニアが都合の悪いことは隠していることがあるかもしれない。しかし、決めつけてしまうとエンジニアはへそを曲げてしまう可能性がある。隠しているつもりはなくても隠れていることもある。

成功の境界

失敗の線引きは、納期が遅れることであろうか。バグが多いということであろうか。実は、状況によって一概に言えないのである。QCDという言葉があるが、品質と費用と納期のバランスを上手にとったとしても成功か失敗か、すぐにはわからないのがシステムという無形物である。

コスパの本質

コスパという言葉があるが、かけるコストに対して、どれだけのパフォーマンスが出せるかが問題となる。システム開発では、コストからやりたいことを計算するのではなく、やりたいことを明確にしたうえで、コスト内でリッチ度合いを調節することが重要である。

まとめ

システム開発においては、失敗が見えにくいため、失敗しないように見えるのかもしれない。失敗しないことは、成功であるということでもない。時間が経つにつれて失敗を感じることもあり得るのである。

関連記事

SEのいうバッファとは

バッファの真意

見積りや作業スケジュールに際して、エンジニアやシステム会社から「バッファである」という回答を受けたことはないか。システム会社が言うバッファとは保険を意味していることがほとんどである。

不確実なバッファ

非エンジニアは見積りのバッファを聞いたときに、無駄なのではないかと感じる。「念のため」に必要なバッファは、裏を返すと知識がないから調べないと分からないので不安であるという意味である。知識があり、「念のため」が必要なければバッファはないと考えられる。

知識の不足

ほとんどのシステム構築プロジェクトは、バッファが多いほうが知識がないのに見積りが高くなるという矛盾が発生することになる。そう考えると「バッファ」とは「無駄」に聞こえるかもしれない。

本質のバッファ

さて、このバッファについて本来あるべき姿を説明する。本当にやってみなければ分からないといった高度な技術を使うときに、未知の領域に関するスケジュールの影響を勘案し、計画された期間のことをバッファと見るべきである。

まとめ

単なるシステム構築プロジェクトにおいて「無駄を削ればよい」というのは非エンジニアから見ると合理的でコストの軽減にもなる。しかし、研究開発分野において無駄を削ることは必ずしも合理的ではない。発想が乏しくなるからである。

続きを見る >

業務データ資産の発見と活用

AI活用の第一歩

AI活用による生産性向上のためのシステムツール構築では、過去データの利用が必要不可欠である。しかし、過去データが整備されていない場合の対処法を考えてみたい。多くの企業がAI導入を検討する際、まず直面するのがこのデータ品質の問題である。完璧なデータセットを求めがちだが、実際には現実的なアプローチで進めることが成功への鍵となる。

目的の明確化

まず「何に使いたいデータなのか」を明確にする必要がある。目的に応じて、必要なデータの「粒度・項目・量」が変わるため、いつも扱っている部門ではない人が客観的に整理するのがよいかもしれない。例えば、生産管理の異常検知であればセンサーデータの時系列とアラート履歴が必要になり、顧客離反の予測であれば購買履歴と問い合わせ履歴が必要になる。このように具体的な用途を定めることで、収集すべきデータの方向性が見えてくる。

データの現状把握

やりたいことを整理すれば、次に足りないデータなどが見えてくるはずである。このとき、データが重複していたり、欠損していたり、バラバラであったりというのも、すべてデータはあるものと考える。形式としては、Excel、CSV、紙、システム内に点在などを把握して、データの棚卸を行う。完璧でないデータでも、適切な処理を施すことで価値ある情報源に変わる。重要なのは、現在持っているデータ資産の全体像を正確に把握することである。

データ整備の実践

データの棚卸が終われば、データクレンジング(整備)の作業方針を立てる。手動で整えるのか、何らかのツールを使うのか検討が必要である。また、このツールはExtract(抽出)、Transform(変換)、Load(読み込み)の頭文字をとってETLツールと呼ばれている。Power Queryなどがその代表例である。作業量と精度のバランスを考慮し、コストパフォーマンスの高い整備方法を選択することが重要になる。自動化できる部分は積極的にツールを活用すべきである。

まとめ

データを整えていく途中で足りないデータが発見されることもあるだろう。しかし、ここからがAIの使い様である。ファインチューニング(学習させていく)ことや、生成AIやRAG(Retrieval-Augmented Generation)を利用して補完するなどが考えられる。

続きを見る >

モックアップの料金

要件定義の意義

ユーザーの要件を明確にすることで、開発の方向性がブレず、無駄な修正や手戻りを防ぐことができる。定期的なミーティングやレビューセッションを通じて、開発者はユーザーのニーズを正確に把握し、ドキュメント化やモックアップ化することが重要である。

試作品の価値

SEはユーザーに具体的なイメージを持ってもらうために、プロトタイプやモックアップを作成し、ユーザーに確認してもらうことで、誤解や認識のズレを減らす。これにより、実装後の大幅な変更を回避できる。

モックアップの功罪

モックアップの作成は有料であることが多いようである。また、非エンジニアがシステム技術を意識しないモックアップであれば、その後の開発が複雑になってしまうといったことも考えられる。

ユーザー主導開発

モックアップを用いてユーザーがシステムの機能や開発プロセスについて理解を深めることで、適切なフィードバックを提供することが大切である。開発チームとのコミュニケーションも円滑になり、無駄な手戻りや修正を減少する。

まとめ

システム開発におけるユーザーと開発チームのコミュニケーション改善が、システム開発コストを軽減する。そのためには視覚的にコミュニケーションできるモックアップは重要であろう。

続きを見る >