タグ付けされた質問 「requirements」

ソフトウェアプロジェクトの要件の抽出、分析、仕様、検証、および検証。


2
顧客から受け取った非構造化要件を管理および推定する方法
プロジェクトの入札段階では、多くの場合、潜在的な顧客からソフトウェアシステムの要件をさまざまなソース[メール、ワードドキュメント、Excel]から非常に非構造化された形式で受け取ります。通常、彼らが抱えるビジネス上の問題に対するこれらの「提案された解決策」を考え出すのは、顧客側からの「製品開発」担当者の集まりです。彼らはビジネス分野の専門家ですが、多くの場合、彼らは正しい解決策を持っていません。 これにより 同じ要件の複数のバージョン 2つの要件を1つに混ぜる 後の要件のいくつかのバージョンでは、一緒に結合された要件が再び分離され、それぞれが新しい追加の一部を取ります 開発を開始する前に、このような要件をどのように処理し、適切なユースケースに分類しますか?特定の要件の履歴を追跡するために、最初に考案されてから適切なユースケースに結晶化するまで、どのツールを使用できますか?このような方法で受け取った要件に対する作業の見積もりは、要件を正しく理解し、それに対する作業を正しく見積もるのを間違えてしまうという悪夢です。 私たちがプロジェクトに勝った後、顧客は自分の要件をさらに考え、適切にそれを明確にすることができました。この場合に発生することは、一部の機能が削除され、一部が機能強化され、一部がまったく新しい方向に進むことです。これは基本的に、プロジェクトに勝つ前に行われた作業項目の見積もりの​​一部を無効にする可能性があります。特定の要件のツリーを構築できるシステムがあるかどうか、および各ブランチがどのように異なる推定値をもたらすかを知りたいと思います。 このアクティビティをより管理しやすくするためのヒント、ツール、トリックはありますか?要件管理や労力の見積もりよりも経験豊富な人から洞察を得ようとしています。

10
マネージャーは、デモごとに要件仕様を変更し続けます[終了]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 職場環境の背景 私のマネージャーには、コンピューターやソフトウェアの背景や理解がまったくありません。彼は彼の人生でどんな形のコードも(10フィート以下の物理的距離からでも)見たことがない可能性が高いです。 私が実装を求められているものの複雑さを理解している人はいません。私が半ハードコード化すれば誰も知らないという点まで。 上ジョエルのテスト我々は信じられないほどのスコアスコア0。 問題点 マネージャーおよびその他の「シニア」は、要件の仕様を変更し続けます。パッチを適用した「修正」ではなく、適切なエンジニアリングを行った場合、基礎となるデザインの変更が必要な変更 コードを見る人は絶対にいません(おそらく、誰もその方法を知らないため、または行うべきであっても)。 問題の複雑さやソリューションの優雅さを評価してください。 アプローチの改善を提案します。 コードの品質を評価してください。 コードを改善できる場所を指摘します。 文法的には意味がありますが、他の方法では意味をなさない多くの専門用語が使用されます。 ソフトウェア会社のように感じたり、振る舞ったり、働いたりしません。 質問 何をすべきですか?特に、私のコードの改善点を指摘する人がいないことに関して。 更新 HLGEM(およびおそらく他の人)の質問に答えるために、それを試して修正するために何をしたかについて。Redmineをセットアップし、ソース管理をすべての人に紹介することを申し出ました。分散型(gitまたはmercurial)をお勧めしますが、一元化されたものについても話し、チームに決定させます。応答は、物事が行われており、数週間以内に行われることでした。それを見たことがないし、会社の他の部分がそれを使っているかどうかも知らない。

8
機能のリクエストとソフトウェアの変更をどのように管理しますか?[閉まっている]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 私はソフトウェアエンジニアであり、過去数年間、事実上ソフトウェアプロジェクトマネージャーになりました。そのため、R&D /エンジニアリング部門の健全性を維持するために、お客様はリクエストに応じて私に来ることに慣れています。私はこの分野での経験がないので、ソフトウェアプロジェクトのプロジェクトマネージャーとして行動するのは初めてです。私は他のものを管理しましたが、ソフトウェアは管理していません。 それでは、ソフトウェアプロジェクトをどのように管理し、優先順位をマークしますか?リクエストはまれにしか届かないため、他の人のために何かに取り組むことができ、その後、別の人が「急いで」仕事をする必要があります。ファーストカム、ファーストサーブと言う方が簡単ですか、それとも最もお金を持っている人ですか?

5
「マンデルバグ」の存在をチームメンバーに納得させる方法
アプリケーションを開発しています。別のコーダーによって開発されたライブラリが含まれ、このライブラリは複数のネットワーク接続を介してサーバーと通信し、これには複数のスレッドが連携して動作する必要があります。サーバー側のコードは非常に複雑であり、ソースコードにはアクセスできません。 最近、時々アプリケーションをクラッシュさせるマンデルバグを発見しました。一度再現してスタックトレースを取得したので、バグレポートを開きました。バグ自体は簡単に修正できます(バックグラウンドスレッドの1つでキャッチされないWeb例外により、CLRはプログラムを終了します)。 問題は、開発者がバグを修正することを拒否していることです。「彼はそれが存在することを確信していない」からです。残念ながら、上司は彼の側にいて、バグの存在を証明するための「堅実なテストケース」を作成し、ユニットテストでそれがなくなったことを確認しない限り、このバグは修正できないと言います。バグの性質上、基本的に不可能なこと。 何かアドバイス?

9
ユーザーストーリーが要件を含まず(カードに記述されている場合)、実装可能である方法
「ユーザーストーリーは要件ではなく、顧客が望むものを思い出させるだけであり、ストーリー内に要件を置くことはできません」と言われました。しかし、顧客がクレジットカードごとに異なる処理を望んでいる例を見てみましょう。テストケースを作成できるように、実装する必要のある厳密な要件があります。ユーザーストーリーにない場合、要件はどこに行くべきですか? より低い要件がない場合、開発者はストーリーからどのように開発できますか?テスターはユーザーストーリーに基づいてテストケース(詳細なケース)をどのように作成できますか?DB制約、フィールドの検証などの要件は、ユーザーストーリーの外側にありますか?

1
フリーランサー:要件の収集についてはどうですか?
フリーランスのプログラマーとして: クライアントから要件を収集するためのプロセスは何ですか? 要件収集プロセスにはどれくらい時間がかかりますか?これは修正されておらず、クライアントの応答方法などの変数があります。一般に、応答の遅延などを考慮して、最終要件に達するまでにどのくらい時間がかかりますか? これらの要件を収集するために、どの通信チャネル(電子メール、電話、インスタントメッセンジャー、その他)を使用していますか? 要件の収集に費やした時間は請求されますか? 要件収集プロセスに成果物はありますか?もしそうなら、彼らは何ですか?

3
堅牢性と正確性の競争[終了]
閉じた。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善したいですか?詳細を追加し、この投稿を編集して問題を明確にします。 昨年は閉店しました。 要件の品質の段落の「コード完了2」を読んで、これを見つけました。 競合する属性間で許容できるトレードオフが指定されていますか(たとえば、堅牢性と正確性の間)。 (上記は要件の品質を確認するための大きなチェックボックスリストのポイントです) そのため、ウェブや学術書などで、堅牢性と正確性に関する多くの定義を見つけました。 例: 「Object Oriented Software Construction、2nd Edition、Bertrand Meyer、Prentice-Hall、1997」の本: 正しさ:システムの仕様、設計、および実装において[欠陥]がない程度。 堅牢性:無効な入力またはストレスの多い環境条件が存在する場合にシステムが機能し続ける度合い。 それにもかかわらず、なぜこの2つが対立するのか、どのような状況にあるのかは明確ではありません。 私の質問は、なぜこれらの2つの属性が競合するのかということです。

2
どの規格が830-1998に取って代わりましたか?
私はソフトウェアプロジェクトをより正式に文書化する方法を検討しており、IEEE 830-1998:ソフトウェア要件仕様の推奨プラクティスについて学びました。ただし、そのリンクからわかるように、このリンクは置き換えられています。 私は、830-1998、そしておそらく830-1993でさえ、おそらく使用に問題がないことを知っています。ただし、他に何もなければ、どの標準がそれに取って代わったかを知りたいと思います。この場合、それは問題ではないかもしれませんが、他の標準がより技術的なものに取って代わられる場合、どこの標準が別のものに取って代わるかをリンクすることは良い考えだと思います(同じ行に別の標準がない場合(830、場合))。 それに言及する価値があります: IEEE Standards AssociationのWebサイトで「Software Requirements Specifications」または「Software Requirements」を検索する際の最新の標準は830-1993です。 SWEBOKの2004(現在)バージョンは830-1993(段落2.5)を参照しています。 このドキュメントのウィキペディアの記事には、この標準が置き換えられたという記述はありません。 TLDR:どの規格が他の規格に取って代わり、どの規格が830-1998に取って代わりましたか。

5
最小システム要件はどのように決定されますか?
次のような「最小限のシステム要件」で出荷されるソフトウェアの例は数多く見られます。 Windows XP / Vista / 7 1GB RAM 200 MBストレージ これらは一般的にどのように決定されますか?明らかに特定の制約がある場合があります(プログラムがディスク上で200 MBを使用する場合、それは厳しい要件です)。これらの状況とは別に、RAMやプロセッサなどの場合は、多くの場合、ハードな制約なしで、より高速で高速であることがわかります。これらはどのように決定されますか?開発者は、合理的と思われる数字を作成するだけですか QAは、許容可能なパフォーマンスを備えた最も低い設定を見つけるまで、さまざまな要件をテストする厳密なプロセスを実行しますか?私の本能は、後者でなければならないが、実際にはしばしば前者であると言います。

8
機能と機能[終了]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 4年前に閉鎖されました。 多くの場合、PM(プロジェクトマネージャー)が機能について話すと聞きます。そして、私はそれらを区別するためにとても困惑しています。機能がユーザーストーリーに相当すると考えることもあります。「ユーザーとして、ボブは自分の支払いのリストを見ることができるはずです」などのように、彼らはそれを機能と呼びます。「Webアプリケーション経由でSMSを送信する機能」など、サブシステムと同じくらい大きくなる場合があります。一方、関数は「数字入力用の数字のグループ化を実装する」タスクと同じくらい小さくなりますが、CRUD操作全体と同じくらい大きくなる場合があります。 私の質問は、どのように機能と機能を区別することができますか?

8
ユーザーが自分で要件をまとめて取得できるようにするか、それらを一緒にガイドしますか?
誰もがこのようなことを経験したと確信しています。プロジェクトを持っているクライアントと会議に参加します。彼らは念頭に置いて/いくつかの要件と彼らが欲しい/必要なもののあいまいな理解を持っていません。この時点で、2つのオプションがあるようです。 1)ユーザーに、「わかりました。まだ説明することさえできなければ、私はあなたのために何かを構築することはできません。あなたが望むものを知ってから数週間で一緒に戻ってみませんか」。 2)ユーザーと数回会って、良いole Socraticの方法でユーザーをガイドすることで、ユーザーが望むものを理解するのを助けます。「Xを追跡する必要がありますか?」、「Yはどうですか?」、「機能Zが必要ですか?」 最初のオプションでは、他の人の仕事をしたり、精神力を獲得したりすることはありませんが、ユーザーは一貫した仕様をあなたに決して提示しないかもしれませんし、期限が近づき続けると永遠にかかるかもしれません。2番目のオプションでは、ビジネスアナリストになるために多くの時間を浪費し、おそらく二度と使用しないビジネス知識を頭の中に詰め込む必要がありますが、次のような仕様が出てくる可能性が高くなります。理にかなっています。 私にとって、これは開発の最も困難な側面の1つであり、この感情の中で私は一人ではないと感じています。あなたの経験では、これらのオプションのどれがよりよく機能する傾向がありますか?

4
開発者が期待できるユーザーストーリーの詳細
私が経験したアジャイル開発の最大の欠点は、開発に携わらない人が、ユーザーストーリー(3〜10人の理想的な人の日)が次のような1〜3文を超えてはならないというマントラに集中することです。 顧客として、フリーテキスト検索を使用して、探している製品を見つけることができます。 この文を与えて、プロジェクトマネージャーは私が開発者として見積もりにコミットし、ストーリーを開発することを期待しています。彼らは、アジャイル開発とは、開発者に提供する必要があるのはこのような文だけであると想定していることです。 アジャイル開発に関する有名な文献が、これが実際に機能するという印象を与えるので、私はそれらを責めません。「Planning XP」の記事ごとに自然言語で2ページのようなものを読みましたが、それだけです。「包括的なソフトウェア」よりも「動くソフトウェア」が好まれるため、このトピックは一般的には避けられているようです。 もちろん、現実には、開発者にそうする機会が与えられた場合、顧客とのインタビューによって、顧客がストーリーに関して持っている要件の長いリストが表示されます。 ANDやORなどのブール演算子が必要です。 すべての用語でファジー検索が必要です。 フレーズだけでなく単一の単語でも検索する必要があります。 基準X、Y、およびZを満たす製品を検索する必要はありません。 結果をソートします。ああ、ところで、ユーザーはオプションa、b、cのコンボボックスで並べ替え条件を選択できます。 技術的な詳細やソフトウェアの設計、実装の詳細についても話しているのではないことがわかります。それは純粋な要件です。話す時間が長ければ長いほど、顧客は実際に彼らが望むものについて多くのことを言うことに気付きます。 しかし、多くの場合、そのような情報が提供されていない状況や、非常に見苦しいやり方で自分自身を見つけます。私がインタビューを行うことも、インタビューを行う立場にある人がその結果を提供することもできません。 マネージャーは、「Lucene検索が必要」などの技術的な詳細を思い付く場合もありますが、製品名だけでなく製品の説明も検索するかどうかを考えたくない場合があります。時々私は彼らがただ怠け者だと思う;) 私にとって、これは私が働いているプロジェクトの最大の問題です(e-business Webアプリケーション、プロジェクトごとに500〜2000人日)。私はこの問題に十分な頻度で対処してきましたが、マネージャーはほとんどの開発者が状況に問題があることを認識しています。しかし、彼らは開発者があまりにも「完璧主義者」であると信じています。彼らは開発者が「常にすべてを指定したい」と悩んでいるようです。 一般的に認められている数字がないため、議論するのは難しいです。反復の長さは誰でも知っています。しかし、ストーリーを見積もり、開発するために必要な要件を誰も知ることができません。 参考資料はありますか?

4
ソフトウェア要件仕様の作成
仕様の作成についていくつか質問があります。 ソフトウェア仕様を作成するとき、トピック「ユーザー要件定義」の下で、「機能」と「制約」のみを指定する必要がありますか? 「ユーザーインターフェイス」は「機能」または「制約」に分類されますか? ソフトウェアを分割できる主な主要領域(要件)は何ですか(UIなど)。

4
アジャイルプロジェクトでは、要件管理は長期的にどのように機能しますか?
アジャイルプロジェクトの短期的な要件管理は、私にとっては解決された問題のようです。 スクラムアングルから、新しい要件または既存の要件への変更がユーザーストーリーを通じて提供されます。また、EpicまたはFeatureの下にグループ化されたユーザーストーリーにより、より複雑な要件の配信が容易になります。 もちろん、ユーザーストーリーは技術的には要件文書ではありません。これは、機能の垂直スライスと呼ばれることが多いものにマッピングされる、管理可能な作業グループです。また、これらのストーリーの範囲は、承認基準(AC)を使用して明確に定義できます。 そのため、ユーザーストーリーは正式な要件ではありませんが、ユーザーストーリーを参照することで、ユーザーの基本的な要件をかなり明確に把握できます。短期的に。 プロジェクトが進行するにつれて、ユーザーストーリーの数が増加するため、短期間で言います。したがって、増え続けるストーリーのリストを閲覧して要件を見つけることは、時間の経過とともに効率が低下します。 この問題は、以前のストーリーを拡張したり、置き換えたり、さらには無効にするユーザーストーリーを検討するとさらに悪化します。 ここで、プロジェクトでの開発の反復間の2年のギャップを想像してください(本番環境で安定)。元のチームはなくなり、すべての知識も失われました。 元のチームがこれが起こるとわかっていた場合(たとえば、ビジネスの性質)、その後のチームを支援するためにどのような対策を講じることができましたか? 確かに、バックログはいくつかの情報を提供しますが、簡単に閲覧できる形式ではほとんどありません。 それでは、後続のチームがプロジェクトの状態を理解するために何ができるか、なぜそれがどのようにそこに到達したのかを含めて? 私の経験では、次のことはうまくいきません。 バックログを要件ドキュメントとして読み取ることができるように、以前のユーザーストーリーを削除または更新するバックロググルーミング。 ドキュメントスプリント。チームメンバーがシステムの現在の状態をド​​キュメント化するタスクを担当します。 動作テストによる文書化。このアプローチは、私が仕事に近づいているのを見た唯一のものです。残念ながら、コード化された動作テストはネーミング問題の犠牲になります。テストはシステムを適切に文書化するかもしれませんが、変動する開発者チームが同じドメイン用語、表現、スタイルに従ってテストを作成することはほとんど不可能です。 繰り返しますが、 長期的にアジャイルプロジェクトの要件をどのように管理しますか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.