web-dev-qa-db-ja.com

機能と機能

PM(プロジェクトマネージャー)が機能について話しているのをよく耳にします。そして、私はそれらを区別するのにとても困惑しています。機能はユーザーストーリーと同等であると考えることがあります。 「ユーザーとして、ボブは自分の支払いのリストを表示できるはずです」のようなものであり、彼らはそれを機能と呼びます。 「SMSを送信する機能」などのように、サブシステムと同じくらい大きくなる場合があります。一方、関数は、「数字の数字のグループ化を実装する」というタスクと同じくらい小さくなる場合があります。入力」、それが全体のCRUD操作と同じくらい大きくなる場合があります。

私の質問は、機能と機能をどのように区別できるかということです。

16
Saeed Neamati

機能は販売員が販売するものです。
関数はプログラマが開発するものです。

関数はユーザーストーリーのコンテキストにうまく適合せず、ほとんどユーザーに透過的です。それらは、他の機能または場合によっては他の機能を適切に実装できるようにするバックエンドプロセスまたは何らかの固有または共通のアプリケーション機能である場合があります。

一方、タスクは、機能または機能を提供するために完了する必要がある個々の作業単位です。

私のプロジェクトでは、機能と機能を区別しない傾向があり、機能のユーザーストーリーを作成し、単一の機能を完了するためのタスクとして機能またはリファクタリング作業を追加します。

これにより、プロジェクト計画で特定の機能が不必要に肥大化しているように見えることがありますが、機能1と2および機能3をリファクタリングして機能1を適切に提供する必要がある場合、おそらくそのスプリントの唯一の提供物は機能1になります。おそらく成果物はまったくありません。

スプリントの終わりまでに私がまだ機能するソフトウェアを持っている限り、私のプロジェクトはアジャイルです。

8
maple_shaft

機能とは、プログラムで実行できることです。機能は、ユーザー要件とビジネス目標の直接的な結果です。したがって、プログラムの機能は主にユーザーの要求を満たすために存在しますです。

一方、機能性は、前述の機能が実際に実装されているである方法です。

6
rrazd

PMの場合、「機能」は目的であり、「機能」はユーザーが操作できる製品の動作です。しかし、人々はしばしば2つを逆方向に受けます(私はあなたの質問のケースだと思います)。

場所Aから場所Bへの移動は、車の重要な機能です。その理由(目的)が存在する。ステアリングホイールは、ギアスティックと同様に機能です。ドライバーは複数の機能と相互作用して、どこかに到達する機能を実現します。

ここでの「関数」は、機能ソフトウェアの実装について語るプログラミング言語の関数(メソッド)と混同しないでください。 PMが「機能と機能」に言及しているとき、それが話していることではないでしょう)。

1つの機能が複数の製品機能をサポートするために使用される場合があるため、機能と機能に適切な階層はありません。

2
user91714

特定の方法論または特定の要件の文化に対して、正確な区別を行う必要があると思います。以下は私自身の解釈です。

Function:ユーザーが特定のリリースで持つ必要がある、ソフトウェアの価値に劇的に影響するコア要件。例:テキストエディターの保存機能。

Feature:ソフトウェアに優れた機能を提供します。これはソフトウェアに価値を付加しますが、ソフトウェアが適切に機能し、その機能を実行するための絶対的な要件ではありません。たとえば、データ入力フォームに元に戻す機能があるか、テキストエディター(ワイヤード!)のドキュメントをgifファイルとして保存します。

0
NoChance