なぜ非機能要求をシステム開発の上流工程で検討しなければいけないのか?/そもそも非機能要求とは何か?【ITプロジェクトのための プロマネの右腕】

プロマネの右腕チャンネル
7 Feb 202210:39

Summary

TLDRこんにちは、吉田です。本番組では、特にITシステムの開発をマネジメントする新任の方々に向けて、実践的なプロジェクトマネジメントを学んでいただける内容を提供します。今回は久しぶりに要求定義、特に非機能要求に焦点を当て、その重要性や、後から発覚する問題を避けるための対策について説明しました。非機能要求はパフォーマンスやセキュリティといったシステムの品質面を扱います。次回は、非機能要求グレードについて詳しく解説しますので、ぜひチャンネル登録をお願いします。

Takeaways

  • 💻 ITシステムの開発をマネジメントする立場の人向けの番組。
  • 🔍 要求定義と要件定義の重要性に関する話に戻ることを説明。
  • 🛠 非機能要求とは、機能をどのように、どのレベルで実現するかを定めるもの。
  • 📊 非機能要求にはパフォーマンスやサービスレベルなどの品質が含まれる。
  • 📖 社長が望んだ機能を持つシステムが作られたが、パフォーマンスが悪く使えなかった例を紹介。
  • ⌛ 別のプロジェクトでも、処理に時間がかかりすぎてシステムがタイムアウトした問題を共有。
  • 🔄 非機能要求が後で出されるとプロジェクトの進行が困難になる。
  • 📉 システム方式を変更しないといけないような要求が終盤に出ることが問題となる。
  • 📋 情報処理推進機構(IPA)が非機能要求グレードというツールを提供している。
  • ⏭ 非機能要求グレードの説明は次回に続く。

Q & A

  • 1. この番組は誰を対象にしていますか?

    -この番組は新しく企画担当や現場のリーダーになった方、特にITシステムの開発をマネジメントする立場になった方を対象にしています。

  • 2. 非機能要求とは何ですか?

    -非機能要求とは、システムがどのように動作するか、またはどのレベルで動作するかを定義する要求のことです。具体的には、パフォーマンスやサービスレベルなど、機能以外の部分を指します。

  • 3. 機能要求と非機能要求の違いは何ですか?

    -機能要求は「これができるようにしてほしい」という要求であり、非機能要求は「どのようにやるか」や「どのレベルでやるか」という要求です。

  • 4. 非機能要求が重要な理由は何ですか?

    -非機能要求はシステムの性能やユーザー体験に直結するため重要です。例えば、どんなに機能が優れていても、パフォーマンスが悪ければシステムは使い物になりません。

  • 5. 非機能要求の例としてどのようなものがありますか?

    -非機能要求の例としては、パフォーマンス、サービス稼働時間、セキュリティ、スケーラビリティなどが挙げられます。

  • 6. 非機能要求が欠如していた場合、どのような問題が発生する可能性がありますか?

    -非機能要求が欠如していると、システムのパフォーマンスが低下したり、セキュリティリスクが高まったり、ユーザーに不便を感じさせるシステムが出来上がる可能性があります。

  • 7. 非機能要求を後から追加することのリスクは何ですか?

    -プロジェクトの後半で非機能要求を追加すると、システム方式を変更しなければならない場合があり、納期が遅れるか、他の要件を諦めざるを得ないリスクが生じます。

  • 8. IT業界で非機能要求に対する意識はどのように変わりましたか?

    -昔はパフォーマンスが主な非機能要求でしたが、年々セキュリティやサービス稼働時間など、システムの機能以外の部分にも意識が向けられるようになりました。

  • 9. 非機能要求の重要性を認識するために、どのようなツールや方法がありますか?

    -情報処理推進機構(IPA)は、非機能要求の項目リストや非機能要求グレードというツールを提供しており、迅速に非機能要求を決定するためのアプローチを推奨しています。

  • 10. 非機能要求を出すのが難しいケースはどのような場合ですか?

    -新規事業でまだ動くシステムが存在しない場合、非機能要求を具体的にイメージするのが難しく、要求を出すことが困難です。

Outlines

00:00

💻 ITシステムの非機能要求について

この段落では、ITシステム開発において重要な非機能要求について説明しています。非機能要求は、システムがどのように機能するべきか、またその品質をどのように保証するかという観点から、機能要求と対比されています。著者は、昔のIT業界では「非機能」という言葉は使われず、パフォーマンスやサービスレベルなどで表現されていたことを述べています。エピソードを交えながら、システムが機能してもパフォーマンスが悪ければ意味がないことを強調し、非機能要求の重要性を解説しています。

05:01

🐢 パフォーマンス問題と設計の失敗

この段落では、著者が関わったプロジェクトにおけるパフォーマンス問題の例が紹介されています。開発チームがオンライン処理にこだわった結果、システムのパフォーマンスが非常に悪化し、処理が50分経っても終わらない状況が発生しました。バッチ処理が適切だったと後から気づいたが、リーダーがオンライン処理を変更しなかったことが原因で、問題が解決されなかったことが述べられています。このエピソードを通じて、非機能要求やパフォーマンスを適切に考慮しなければ、システム全体が失敗する可能性があることが示されています。

10:03

📈 非機能要求グレードの重要性

この段落では、非機能要求を適切に管理するためのツールである「非機能要求グレード」について触れられています。著者は、プロジェクトの終盤で非機能要求が後から出されると、納期を延ばすか、何かを諦めるしかない状況になることを説明しています。これを防ぐために、IPA(情報処理推進機構)が提供する非機能要求グレードのツールが有効であることが紹介されていますが、詳細は次回に持ち越されました。

Mindmap

Keywords

💡非機能要求

非機能要求とは、システムの『どのように』や『どのレベルで』機能が動作するべきかに関連する要求です。このビデオでは、性能やセキュリティ、サービスレベルなど、機能以外の重要な要素として紹介されています。例として、ある社長がシステムを依頼した際に、機能は満たしていたものの、動作速度が遅く使い物にならなかったというエピソードが挙げられています。

💡機能要求

機能要求は、システムが『何をできるようにするべきか』に関連する要求です。ビデオ内では、機能要求が具体的な機能の実装に焦点を当てているのに対し、非機能要求はその機能の品質に関わると説明されています。例として、社長が望む機能が実装されたものの、実用的ではなかったシステムが紹介されています。

💡パフォーマンス

パフォーマンスとは、システムがどれだけ効率的に動作するか、特に処理速度に関連する要素です。ビデオでは、非機能要求としてのパフォーマンスが過去のプロジェクトにおける主な課題として述べられており、50分間処理が終わらないという問題例が紹介されています。

💡要求定義

要求定義は、プロジェクト開始時に必要な要件を明確にするプロセスです。このビデオでは、要求定義と要件定義が取り上げられ、特に非機能要求を見落とさないようにすることの重要性が強調されています。ビデオは、このプロセスの不足が後で大きな問題を引き起こす可能性を示しています。

💡ステークホルダー要求

ステークホルダー要求とは、システムの利害関係者(例えば、会社の社長やエンドユーザー)が期待する要件です。ビデオ内では、ステークホルダー要求がシステムのソリューション要求に反映され、それに基づいてシステムが設計されると説明されています。

💡ソリューション要求

ソリューション要求とは、ステークホルダー要求を満たすためにシステムが提供すべき能力や品質に関する要求です。ビデオでは、ソリューション要求が機能要求と非機能要求に分けられることが説明されています。具体的なシステム設計に進む前に、この段階で要求を整理することが重要だとされています。

💡バッチ処理

バッチ処理とは、大量のデータを一括して処理する方式のことです。ビデオでは、オンライン処理では時間がかかりすぎていたため、本来はバッチ処理にすべきだったというエピソードが語られています。これは非機能要求としてのパフォーマンスを考慮した改善策として言及されています。

💡サービスレベル

サービスレベルとは、システムがどのように利用可能であるべきか、どの程度信頼性を持つべきかなどの基準を示す要素です。ビデオでは、かつては非機能という言葉ではなく、サービスレベルやパフォーマンスという用語が使われていたことが述べられています。

💡非機能要求グレード

非機能要求グレードとは、情報処理推進機構が提供するツールで、非機能要求を迅速に決定するためのアプローチです。ビデオでは、プロジェクトの終盤に非機能要求が出てきてしまう問題を防ぐために、このツールの利用が推奨されています。

💡オンライン処理

オンライン処理とは、リアルタイムでデータを処理する方式です。ビデオでは、あるプロジェクトで重い処理をオンライン処理で行おうとしたが、50分かかっても終わらず問題になったという例が紹介されています。これが非機能要求におけるパフォーマンス問題として言及されています。

Highlights

ITシステムの開発をマネジメントする立場の方のために、実践的なプロジェクトマネジメントを学べる番組。

要求定義・要件定義の話から開発プロセスの話へシフトしていたが、今回は再び要求定義に戻る。

非機能要求の重要性について、新しいITシステムの開発マネージャー向けに解説。

非機能要求は、機能が「どう」動作するか、「どのレベル」で行うべきかに関する要求。

かつては非機能要求を「パフォーマンス」や「サービスレベル」と呼んでいたが、現在ではより広範な概念に。

システム開発初期のエピソード: 社長のスケジュール管理システムが性能不足で使い物にならなかった。

オンライン処理で実装されたシステムが、処理が50分もかかりタイムアウトしてしまう問題が発生。

画面設計書に基づいた開発では、重たい処理をオンラインで処理するのが難しかったという教訓。

システムのパフォーマンス問題が非機能要求における大きな課題だった時代背景。

セキュリティやシステムの利用時間拡大など、非機能要求の重要性が年々増している。

既存システムがない新規事業では、非機能要求を明確にすることが難しい。

非機能要求がプロジェクト終盤に出てくることが開発者にとって大きな課題。

非機能要求の遅れた発見が、納期の延長や仕様の妥協を強いる結果に繋がる。

情報処理推進機構(IPA)が提供する「非機能要求グレード」というツールが、非機能要求の決定をサポート。

非機能要求グレードの詳細は次回解説予定。

Transcripts

play00:04

こんにちはプロジェクトオーガナイザーの

play00:06

吉田です

play00:08

この番組は新しく企画担当になった方や

play00:11

新しく現場のリーダーになった方

play00:14

その中でも特に it システムの開発を

play00:18

マネジメント数立場になった方をために

play00:20

実践的なプロジェクトマネジメントをご

play00:23

一緒常に学んでいただける内容を置く

play00:25

いたしますよろしければチャンネル登録を

play00:28

お願いします

play00:30

ずっと要求定義要件定義の話をしていまし

play00:35

たが最近は開発プロセスの話すが続きまし

play00:39

たので久しぶりに要求定義要件定義の話に

play00:44

戻りたいと思います

play00:47

今日扱いたいのは匹の要求です

play00:52

システム開発に携わったことがないと非

play00:55

機能といってもピンと来ないと思いますな

play01:00

ので新しく it システムの開発を

play01:04

マネジメントする立場になった方のために

play01:06

非機能要求とは何かということについてご

play01:10

一緒に学んでいきたいと思います是非最後

play01:13

までご覧ください

play01:15

まずはおさらいです

play01:18

これは以前行った

play01:20

はボックガイド第3パンに基づく要求の

play01:24

階層構造の頭です

play01:27

思い出していただきたいんですが

play01:30

要求というのは経営レベル

play01:33

組織レベルのビジネス要求から初めて業務

play01:38

レベル役割レベルのステークホルダー要求

play01:41

作業レベルシステムレベルの

play01:43

ソリューション要求という具合に順番に

play01:46

落とし込むでいきます

play01:49

そしてソリューション要求は

play01:52

はボックガイドではステークホルダー要求

play01:55

を満たすソリューションの能力と品質と

play01:59

定義されていまして

play02:02

能力というのは機能要求に該当し品質と

play02:07

いうのは匹の要求に該当します

play02:11

つまり機能要求っていうのはあれができる

play02:15

ようにしてほしいとかこれができるように

play02:17

してほしいということで

play02:20

非機能要求というのはそれをどのように

play02:24

あるいはどのレベルでやれるようにして

play02:27

ほしい

play02:28

まあざっくりいうとそういうことです

play02:31

私が it 業界に入った頃は

play02:35

少なくとも私がいた会社では非機能という

play02:38

言い方はしていなくてパフォーマンスとか

play02:42

サービスレベルとかそういった言い方をし

play02:45

ていた気がするんですが

play02:47

非機能というのはそういう機能描いの一切

play02:52

合切を含めた言葉として理解して

play02:54

いただければよろしいかと思います

play02:58

私が it 業界に入ったばかりのころに

play03:01

いい

play03:02

実は私を it 業界に引っ張ってきて

play03:05

くれた方がおられるんですがその方から

play03:09

こんなエピソードを聞かされたことがあり

play03:12

ますその方と直接の関わりあるかどうかは

play03:16

わからないんですがある会社の社長が社員

play03:20

に社長自身のスケジュールとか

play03:24

アドレス帳を管理するシステムを作って

play03:27

くれと頼んだそうです

play03:29

今ではスマートフォンがその機能を担って

play03:32

いますが当時はまだ手帳で管理するのが

play03:36

主流でした

play03:38

そこで社員はわかりました

play03:41

そう言ってシステムを構築したそうなん

play03:43

ですが

play03:45

出来上がったものは

play03:46

確かに社長が望む機能が実装されていた

play03:50

ものの動作がものすごくを測定

play03:53

全く使い物にならなかったそうです

play03:58

それに対して社長が最初にこれこれの機能

play04:02

ができるかと質問したときに

play04:05

社員の人ができますというからお願いした

play04:08

んだと

play04:10

こういう風になるんだったら最初からお

play04:12

願いしなかったよというようなことを言っ

play04:15

たとか言わなかったとか

play04:18

私も当時人に披露する前提で聞いてい

play04:21

なかったのでうろ覚えで申し訳ないんです

play04:23

がまあ趣旨としてはそういうことです

play04:27

昔は今ほどコンピューターも早くありませ

play04:30

んでしたのでそういう話は昔はあるある

play04:34

だったと思います

play04:36

例えば似たような話なんですがこれは

play04:40

さっきの話の数年後の話で

play04:44

ある開発プロジェクトにいました

play04:47

その開発プロジェクトではベテランの

play04:51

エンジニアが作成した画面設計書に基づい

play04:55

play04:56

内部設計とコーディングをやっていく仕事

play04:59

だったんですね

play05:01

10名以上はいたと思うんですけれども

play05:03

そこそこの規模のチームでやっていまして

play05:07

ただ私は完成を待たずにそこの現場を離れ

play05:11

たんですねで私はそこの現場で知り合った

play05:15

エンジンやと仲が良かったので

play05:19

私がそこを離れてしばらくしてからその

play05:22

うちの1人と飲み会か何かで話す機会が

play05:26

ありました

play05:28

そうしたら

play05:29

その時開発していたシステムに問題があっ

play05:33

たらしくて

play05:35

一連の業務の一番最後に実施する一番応対

play05:40

処理が

play05:41

し50分経っても終わらなくて画面が

play05:44

タイムアウトしてしまうんだということ

play05:46

でした

play05:47

もちろんそのパフォーマンスを改善する

play05:51

ためにいろんなチューニングはしたと思う

play05:53

んですけれども

play05:55

でもし50分停なかなかですよね

play05:59

確かにすごく重たい処理を詰め込んでいた

play06:03

ので

play06:04

うすうす大丈夫かなぁとは思っていました

play06:09

ただ私が受け取った input 資料が

play06:11

画面設計ショーでしたから私もその画面の

play06:15

処理として内部設計を進めたんですね

play06:20

でもやはり実際には画面つまりオンライン

play06:24

の処理でやるのは厳しかったようです

play06:28

そのエンジンやも言っていたんですけども

play06:31

確かにこれはバッチ処理6日かな予選一連

play06:35

のオンライン処理が終わって最後にバッチ

play06:38

処理程度感と重たい処理をやるっていう

play06:40

やり方が適切だったんじゃないかなと今で

play06:44

は思います

play06:45

でここからがすごいんですがそれを話して

play06:49

くれたエンジニアが

play06:51

ここはバッチ処理にした方がいいんじゃ

play06:54

ないんですかってリーダーに提案したそう

play06:56

なんです

play06:58

ところがそのリーダーはもうオンライン

play07:01

処理で実装を進めてしまっているから

play07:04

今更変更できない東突っぱねられたそうな

play07:07

んですね

play07:09

そうは言ってもなかなかオンライン処理

play07:11

だけでどうにかするっていうのは厳しかっ

play07:15

たと思うんですよ

play07:17

最終的にどう着地したのか続報は聞いてい

play07:22

ないんですがさすがにそのままの日したと

play07:25

は思えませんよね

play07:27

というように昔は匹のを取りいえばその

play07:31

多くがパフォーマンス問題でした

play07:35

それが年々セキュリティの事故が発生し

play07:38

たりサービス向上の一環でシステムの利用

play07:42

時間が拡大されたり本来システムが備える

play07:46

機能以外の部分もちゃんと考えて手当て

play07:51

することが大切だよねという意識が高まっ

play07:54

てきました

play07:56

それは良いことなんですが

play07:59

では機能要求と同じように匹の要求を

play08:03

あまねく出すことができますかという問題

play08:06

が出てきます

play08:08

別の言い方をすると非機能要求を出して

play08:11

くださいって言われて何項目出せますかと

play08:15

いうことですね

play08:17

既存の事業ですでにシステムが稼働してい

play08:21

てそのシステムを刷新するんだというよう

play08:24

な場合は既存のシステムがありますから

play08:27

だいたいどのような要求を出せばよいよか

play08:30

というのはあたりが付きますけれども

play08:33

新規事業の場合は動くシステムがまだ存在

play08:37

しいないのでなかなかイメージするのが

play08:40

難しいという側面があります

play08:43

出せと言われてもイメージできなければ

play08:46

出しようがないわけです

play08:48

そうすると匹の要求が出ないまま

play08:51

まぁ出たとしてもパフォーマンスとか

play08:54

システム利用時間とかそれ以外の部分は

play08:57

全然出てこないまま時間だけが過ぎて行き

play09:01

ますそういうプロジェクトに限ってシュ

play09:05

ステムがある程度出来上がって

play09:08

総合テストとか受け入れテストで実際に

play09:12

触ってからいろいろと匹の要求に気づくん

play09:16

ですよ

play09:18

これ

play09:19

開発者の立場にたストですね

play09:22

何が一番困るかというとそういった非機能

play09:26

要求を後かな言われることなんですよね

play09:30

しかもシステム方式を変更しなければいけ

play09:33

ないような

play09:34

クリティカルな要求がプロジェクトの終盤

play09:37

に出てきたところでそれを取り込む時間が

play09:40

ありませんのでどうしてもということで

play09:43

あれば何かを諦めるか

play09:46

納期を伸ばすしかありません

play09:49

でこういうことが起こらないようにする

play09:52

ために

play09:53

ita

play09:55

情報処理推進機構がですね

play09:58

非機能要求の項目のリストと非機能要求を

play10:02

迅速に決定するためのアプローチとして非

play10:06

機能要求グレードというツール法を公開し

play10:10

ていますで非機能要求グレードについて

play10:14

説明しようと思ったんですが時間が

play10:17

なくなってしまうあったのでこの続きは

play10:19

また次回にやりたいと思います本日は以上

play10:23

です

play10:24

最後まで聴いてくださってありがとう

play10:26

ございますチャンネル登録がまだの方は

play10:29

ぜひ登録していただいて次回の配信をお

play10:33

待ちください

Rate This

5.0 / 5 (0 votes)

Étiquettes Connexes
プロジェクト管理非機能要求ITシステム開発プロセス要件定義ビジネス要求システム設計パフォーマンス問題セキュリティ対策サービス向上
Besoin d'un résumé en anglais ?