要件定義の進め方

システム開発の大炎上を防ぐために、上流工程(前工程)に位置する「要件定義」について、考えていくブログです。

要件定義書の作り方
PDCAサイクルではなく、PDCサイクルを回そう
あるべきV字モデルについて整理した
スコープを決めてから、QCDの議論をしよう

デグレードを防止するためにやるべきこと

デグレードとは? デグレが発生するメカニズム 影響調査が必要な個所 デグレを防止するためにやるべきこと 結論:デグレードを防ぐために、共通変数やモジュールの振る舞いの変化に着目しよう。 システム開発で、最もやってはいけないのが、デグレードだ。こ…

IPA(情報処理推進機構)の非機能要求グレードの概要を理解する

システムに対する要件定義を行う際は、機能要件定義と非機能要件定義を行う。 機能要件の定義自体は、さほど難しくない。顧客がやりたいことを丁寧に詰めていくだけだ。しかしながら、非機能要件の定義は難しい。機能じゃない部分全般に対して要件を定義する…

スコープを決めてから、QCDの議論をしよう

QCDの前にやるべきこと 要件定義を事前にしっかりやっておけば、プロジェクトはもめない 結論:要件をしっかり定義し、優先度をつけ、QCDを成立させよう 仕事をしていると、QCDという単語が良く出てくる。 Quality(品質) Cost(コスト) Delivery(納期) の頭文…

要件定義書の作り方

要件定義って何やればいいの?という方もいると思うので、発注側としての要件定義書の作り方をまとめておく。 要件定義書に書くべき内容の図による表現 手順①:[作業]あるべき姿の確認 手順②:[作業]現状の把握 手順③:[作業]問題(あるべき姿と現状の乖離)の…

要件定義における「定義」とは何か?

日本語における「定義」の辞書的な意味 英語における「要件定義」の辞書的な意味 完全に決めるのが要件定義 結論:要件定義では、完全に決める努力をしよう 日本語における「定義」の辞書的な意味 要件定義における「定義」に関して確認しておく。まずは、go…

設計者に求められる能力

設計者として欲しい人材 設計者に必要なのは、認識を合わせこむ力である 結論:設計者なら、相手と認識を合わせながら開発を進めよう システムエンジニアといったら、まず頭に浮かんでくるのが、設計者だ。システムに関するエンジニアはいろいろな種類存在す…

問題と課題の違い

問題と課題の違い 課題を定義すると、要件を定義できる 結論:問題は「状態」であり、課題は「事(こと)」である 下記の記事で、要件定義をするには課題定義力が重要であると述べた。 req-definer.com 問題定義力ではなく、課題定義力である。どのような業種…

要件定義者に求められる能力

要件定義で失敗すると、プロジェクトはあっという間に炎上する。 req-definer.com 上記の記事でも述べているが、その原因は修正コストの大きさだ。システムが市場に出た後で要件レベルの不具合を直そうとした場合、要件修正時に比べて200倍のコストがかかる…

プログラマに求められる能力

tents] 仕事柄、色々なプログラマを見てきたが、本当に色々な人がいると感じている。ぜひ次も働いてほしいと思える人や、次はないかなと思わざるを得ない人。プログラムはできるのに日本語が無茶苦茶な人、技術には明るいわりに無茶苦茶なプログラムを書く人…

V字モデル開発

V字モデル関係の記事について整理していきます。 あるべきV字モデル あるべきV字モデルにおける分業方法 あるべきV字モデル req-definer.com あるべきV字モデルにおける分業方法 req-definer.com

あるべきV字モデルにおける分業方法について整理した

分業の必要性 あるべきV字モデルにおける分業方法について 会社間で担当責務を分ける場合 結論:考えた人が、自分で動きを確認すべし 先日は、自分の中で理想としているあるべきV字モデルについて整理した。今日は、あるべきV字モデルを適用して開発する場合…

ソフトウェアとは何か

ソフトウェアとは何か ウェアとは何か ソフトウェアとは、物理的な形のないウェアである 結論:ソフトだからといって、簡単に変更していいわけではない ソフトウェアとは何か 2020年度から、プログラミング教育が必修となった。プログラミングスクールも活況…

システム開発における、あるべきV字モデルについて整理した

V字モデルとは何か あるべきV字モデル あるべきV字モデルにおいて、伝えたいこと まとめ 結論:自分なりのあるべきV字モデルを意識して、丁寧に開発を進めるべし 就職して駆け出しのエンジニアとなった頃、システム開発ってどのように行われるのだろうか?と…

要件定義における「要件」とは何か?

要件とは?辞書的な意味合い 本ブログにおける「要件」の解釈 要件とは:システムにおいて、必ず実現されていなければいけないこと。要件は、機能要件と非機能要件に分けられる 要件とは?辞書的な意味合い 要件をWikipediaで調べると、 「ソフトウェア要件…

要件定義時のミス修正コストは運用後で200倍になる

要件定義時の修正コストは、運用後には200倍になる 大切なことは、不具合修正コストを肌感覚で意識し続けること 結論:運用後の不具合修正コストを意識して、開発を進めよう システム開発において、不具合はつきものである。今回は、要件定義工程で記載ミス…

顧客が本当に必要だったものは、伝言ゲームで伝えられてしまう

顧客が本当に必要だったものという風刺画 風刺画は、伝言ゲームの難しさを語っている 伝言ゲーム×2回に対する対策 結論:顧客が本当に必要なものかどうか、外部設計レベルまで踏み込んで顧客に確認してもらおう 顧客が本当に必要だったものという風刺画 顧…

要件定義と設計の関係

要件定義とは 設計とは 要件定義と設計のすみわけ 要件を定義して設計する=何をどのように作るかを決める 結論:要件定義は顧客とベンダで吟味して行われる領域で、そのあとにベンダが実現方法を任された部分が設計領域である 要件定義と設計の関係を整理す…

要件定義書と受け入れテストの関係

要件定義と受入テストの担当を分けるべきか? 担当は分けるべきではない。要件定義をしたなら受入テストの作成実施もすべき 要件定義書を作成したら、すぐに受入テストが作成できるはず 結論:要件定義書を作成したら、すぐに受入テストを作成しましょう よ…

要件定義書に書くべき内容

要件定義書に書くべき内容 要件を定義するとは? 要件の段階的詳細化が重要 要件定義は、顧客とベンダでひざ詰めで行うもの 結論:要件定義書には、顧客とベンダですりあわせた要件を段階的詳細化して記載する 要件定義書に書くべき内容 要件定義書に書くべ…

システムにおける品質とは?

品質が良いシステムとは何か 要件とシステム提供機能の関係 高品質なシステムを作るうえでの方針 結論:要件を明示化する努力が、品質向上の鍵 品質が良いシステムとは何か 品質が良いシステムとは何か、考えたことがあるだろうか。 品質の定義をWikipediaで…

要件定義は誰がやるべきか

要件定義を誰がやるのか問題 要件定義は、顧客側/ベンダ側で実力のある者がやるべき 大切なのは、顧客側/ベンダ側双方の認識合わせ 結論:要件定義は誰がやってもよいが、要件定義書の内容については顧客側とベンダ側で合意すること 要件定義を誰がやるのか…

要件と要求をどう使い分けるべきか

要件と要求の辞書的な違い 要件と要求をどう使い分けるべきか 結論:要件と要求のどちらかで統一して使えばよい 要件と要求の辞書的な違い システム開発において、関係者間で用語の意味に対する認識に相違があると、開発がうまくいかなくなる。最初に混乱を…

要件を定義する者のブログを立ち上げた理由

仕事柄、色々なシステム開発プロジェクトに携わってきた。 大規模なシステム、中規模なシステム、小規模なシステム。 問題の発生しないプロジェクトはほとんどなかった。たいていのプロジェクトは納期遅れとなるか、納期は死守されるがスコープは極限まで落…