SEのいうバッファとは

バッファの真意

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

不確実なバッファ

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

知識の不足

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

本質のバッファ

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

まとめ

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

関連記事

マクロからPower Appsへ

ゾンビファイル

今から十数年前に作られたExcelやAccessでのマクロプログラムが今もなお残り続けている。表計算ソフトと呼ばれるデータベースに似たツールを背景にユーザーインターフェースやロジックを付け足したものである。もはやゾンビファイルと言っても過言ではない。これらのシステムは当初の目的を果たしていても、時代の変化とともに保守性や拡張性に大きな課題を抱えるようになっている。

作成者不明問題

社内に残る通称「マクロ」は、今はいない人が作成していたり、一部の人が独自に作ったものであることが多くある。作った人がいる場合はまだしも、退職している場合はその中のプログラムも見ることができないので、いつ止まるか分からないシステムを業務の中心で使い続けていくことになる。このような状況では、エラーが発生した際の対処法が不明で、業務継続に深刻なリスクをもたらす可能性がある。

市民開発解決法

ブラックボックス化したマクロを情報システム部に解決をお願いするのではなく、市民開発にて解決するには多少のコツが必要になる。ポイントは完全にブラックボックス化している状態や、何から手を付けていいか分からない状態のマクロ群は、残念ながらまずは専門家に情報の整理を依頼することが必要になるだろう。自社だけでの解決を試みる前に、適切な専門知識を持つパートナーとの連携を検討することが成功への近道となる。

専門家活用法

専門家に依頼したほうがいい理由として、マクロファイルの解析だけを切り離した作業としてしまうと、その後の市民開発へ繋ぎにくくなるからである。マクロファイルのインプット/アウトプットを解析した上で、それをどのように今後の市民開発のベース作りに活かすのか。ITコンサルやシステム開発会社の腕の見せどころである。単純な解析作業ではなく、将来的な発展性を見据えた戦略的なアプローチが求められる領域といえるだろう。

まとめ

ExcelやAccessはMicrosoft社の製品であるので、そのままMicrosoft社が提供するPower PlatformやPower Appsへの移行がスマートである。間違ってもマクロをスクラッチ開発でのWebシステムに移管すべきではない。親和性の問題や閲覧性などに課題がのこることが多いようである。

続きを見る >

開発費用値下げの危険性

開発手法の選択基準

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

設計書の必要と課題

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

設計書の粒度と要因

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

文書管理の現状

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

まとめ

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

続きを見る >

IoT基礎知識

IoTとは

IoTとは「Internet of Things」の略で、身の回りのあらゆるモノがインターネットに接続される技術のことである。従来はパソコンやスマートフォンだけがネットに繋がっていたが、今では冷蔵庫、エアコン、照明、車など様々な機器がネットワークに接続できるようになった。これにより、遠隔操作や自動制御、データ収集が可能になり、私たちの生活はより便利で効率的になっている。

注目される理由

IoTの最大の魅力は、データを活用した自動化と最適化にある。例えば、スマートホームでは照明や温度を自動調整し、電気代を削減できる。また、工場では機械の稼働状況を監視して故障を予防し、農業では土壌の状態を把握して適切な水やりを行う。このように、IoTは単なる遠隔操作ではなく、収集したデータを分析して最適な行動を自動で実行する「賢いシステム」を構築できるのである。これが生産性向上やコスト削減につながる理由である。

導入チェックリスト

IoT導入を成功させるには、まず明確な目的設定が重要である。「何を改善したいのか」「どんな効果を期待するのか」を具体的に定めることで、適切な機器やシステムを選択できる。次に、セキュリティ対策は必須項目である。IoTデバイスはサイバー攻撃の標的になりやすいため、暗号化や認証機能の確認が欠かせない。さらに、既存システムとの連携可能性や、将来的な拡張性も考慮しよう。小規模から始めて段階的に拡大していく計画的なアプローチが、IoT導入の成功率を高める鍵となる。

未来への影響

IoTの進化は加速しており、5G通信やAI技術との融合により、さらに高度なサービスが実現される。自動運転車、スマートシティ、遠隔医療など、これまで夢物語だった技術が現実のものとなってきている。特に注目されるのがエッジコンピューティングで、デバイス側で即座にデータ処理を行うことで、リアルタイム性が向上する。一方で、プライバシー保護やデジタル格差といった課題も浮上しており、技術の恩恵を皆が享受できる社会の構築が求められている。IoTは単なる技術革新ではなく、社会全体の変革を促す重要な要素となるであろう。

まとめ

IoTは私たちの生活や働き方を根本から変える革新的な技術である。基本概念を理解し、導入のポイントを押さえることで、この技術の恩恵を最大限に活用できる。未来に向けて、IoTとの向き合い方を今から考えておくことが大切である。

続きを見る >