要件定義のアプローチ

要件定義の基本

すべてをシステムで解決してしまおうとする要件定義には注意が必要である。システムの成功の可否は要件定義にかかっていると言っても過言ではない。しかし、十分に要件定義の時間を使ったにも関わらず、ITプロジェクトが失敗することがある。

規模別の要件定義

システム構築の規模によって、要件定義の粒度が変わる。小さなITプロジェクトの場合は要件定義をせずにプロトタイプを作りながらシステム構築を進めるといった方法がある。これをアジャイル開発、プロトタイプ開発と呼ぶ。

要件定義の本質

要件定義の粒度は時間を掛ければ細かくなるわけではない。ユーザー側でも要件定義を進めるにつれて、想定している機能の矛盾点が出てくることがある。この矛盾点を解消していくこと自体を要件定義としてはならない。要件定義はあくまで本質的なコアとなる部分から膨らませることが重要である。

対話型要件定義

要件定義フェーズで失敗するパターンは、ユーザー側との対話ではなく、システム会社側がヒアリングに徹する場合である。ユーザー側はITを利用してどのようなことができるかを知らない可能性が高いため、システム専門家がそれを鵜呑みにした仕様で要件を固めてしまうと、製造工程で無駄な工数が発生し予算をオーバーしてしまうことがある。

まとめ

本質的な要件をコミュニケーションによって、はっきりさせていく作業こそが要件定義と言えるのである。さまざまな視点から何度も繰り返し要件をなぞることで粒度が落ちていき、適切な要件定義書となる。何でもかんでもシステム化せず、オペレーションとの関係性を見合わせながら進めることが望ましい。

関連記事

市民開発とは何か

市民開発の正体

市民開発(Citizen Development)とは、IT部門やSIerに依存せず、業務部門などの非エンジニアが自らアプリケーションを作成する取り組みを指す。従来は「プログラミングができないと無理」と思われがちだったが、現在ではノーコード・ローコードツールの登場により、非技術者でも業務に必要なツールを構築できるようになった。代表的なものとして、SaaSベースの業務アプリやMicrosoft Power Platformなどがあり、これにより業務現場の課題解決が加速している。

IT不足とマクロの功罪

市民開発が注目を集める背景には、深刻なITエンジニア不足がある。人手が足りないなら自ら開発するしかない——この流れが市民開発を後押ししている。その原型とも言えるのがExcelマクロである。かつて現場では、個人PC上で動作するマクロが業務改善ツールとして使われていたが、多くが属人化し、結果として保守不能な“遺産”となってしまっている。

マクロの限界

Excelマクロの最大の弱点は「ファイル単体依存」である。複数人での同時使用や、プログラムの共有に極めて不向きである。マクロ付きファイルをコピーすれば、そのコピーごとに独立した修正が可能となり、誰がどのバージョンを使っているのか把握が困難になる。しかも、更新履歴の管理も難しく、組織全体の業務統一を図るには限界がある。こうした特性が、非効率と混乱を招く要因となっている。

マクロの呪い

属人化の果てに起きるのが「ブラックボックス化」である。Excelマクロにパスワードがかけられ、開発者も不在、しかし業務には不可欠——そんな状態が現場には数多く存在する。これらは情報システム部の管理外にある「野良プログラム(シャドーIT)」と呼ばれ、セキュリティリスクを高める要因でもある。結果として、誰も触れず、誰も捨てられず、今も現場の根幹に鎮座している。まさに、手遅れになる前に対処すべき課題だ。

まとめ

市民開発は、Excelマクロに代わる次世代の業務改善手段となり得る。ローコード・ノーコードの活用により、野良プログラムの乱立を防ぐには、組織としての運用ルールとガバナンスの確立が不可欠だ。アタラキシアDXでは、Power Appsを活用し、手遅れになる前にブラックボックス化したマクロのリプレイス支援を行っている。

続きを見る >

内製化人材戦略

内製化の壁

システムの内製化が重要ということは、どこでも聞くと思う。しかし、具体的に内製化していくための段取りを整理して教えてもらうのは難しいのかもしれない。業種業態によって様々なケースが存在するからである。内製化を成功させるには、単に技術的な知識だけでなく、組織全体での戦略的な取り組みが不可欠となる。

経営コミット

システム開発の内製化を行っていくには、まず経営層からのコミットメントが必要不可欠である。これが必要であるから諸外国ではCRO(Chief-Revenue-Officer)という部門を横断した権限を持つ人を据えている。その上で、まず内製化の目的を明確にする。おおむねコスト削減、スピード向上、ナレッジ蓄積などであろう。目的がきまると、企画、開発、保守、インフラなどのどの範囲で内製化するのが見えてくる。組織全体での合意形成が内製化成功の基盤となるのである。

失敗回避策

よく聞く失敗例では、権限のないIT戦略室、デジタル推進部などを作ってしまうことである。あるいは、適切な人員の配置や育成がなされないパターンも同様である。大きな権限を持つことになることを前提に考えると、実施するプロジェクトについても小さなプロジェクトにおいて実績を積み上げたほうがいいだろう。たとえば、小規模低リスクである業務改善ツール(例:Power AppsやExcelマクロ)から市民開発を実施していくなどを計画することをお勧めする。段階的なアプローチが組織の信頼獲得につながる。

仕組み化

小さなプロジェクトで実績を積むと、こなれてきてしまうため、やはり属人化の危険性が伴う。ここで、いかに永続的に考えることができるか、内製化のための仕組みを構築できるかは、システム開発経験者などの知見のある人も交えて人材育成に取り組むべきである。定期的な振り返り(レトロスペクティブ)やナレッジ共有会、現場からの改善提案を吸い上げる文化を育て、仕組化していく。持続可能な内製化には組織文化の変革が欠かせない。

まとめ

開発基盤とガバナンス整備、ソース管理やドキュメント管理などの定性的な内製化は簡単に作ることができる。しかし、そのマインドや仕組み、自然とDevOpsをはじめとしたPDCAサイクルにもっていくには、システム知見だけでも難しくある。持続的な内製化にたどり着くためには最初の企画や構成段階で知見をもつメンバーを入れておくのがよいだろう。

続きを見る >

予算ブレの原因

開発の変動要因

システム開発は長期にわたることが多く、また未来の不確実性の中で予算を策定しなくてはいけないことがある。セキュリティーをはじめ動作環境の変化や人員の欠如、予期していなかった仕様の発覚などが原因だ。

目標変化と予算

進捗率は目的地が明確に設定されていれば数字を負うことで予算達成率を算出することができる。しかし、目的地が近い遠いのは無しではなく、根本的な目的地がなくなったり、複数になったりすることがシステム予算の策定の難しいところである。

計画型開発法

システムに未来を見ることができればブレない、見えないことをすべて調査の上で着手できれば確実な予算と実行が可能である。進捗率の報告が可能になる。フォーターフォールモデルなのでコストがかかることと時間がかかることの覚悟が必要だ。途中での方向修正は原則できない。

柔軟な開発手法

逆に低予算で早く導入するなら、見えにくくなるデメリットがある。状況によって対応を素早く変化させる必要があるため進捗率を算出しにくい。アジャイル開発と呼ばれるものであり、社内開発であることが理想である。途中で出てくる条件に対しても柔軟に方向性を変化させることが可能である。

まとめ

アジャイル開発で予算を立てるときは、1.5-2.5倍くらいを目安に余裕を持って設定することを推奨する。

続きを見る >