Функция против функции [закрыто]


16

Часто я слышу, как менеджеры проектов говорят о возможностях и функциях. И я просто так озадачен, чтобы различать их. Иногда я думаю, что функция эквивалентна истории пользователя. Что-то вроде «Как пользователь, Боб должен видеть список своих платежей», и они называют это функцией. Иногда она становится такой же большой, как подсистема, что-то вроде «возможности отправлять SMS через веб-приложение». Функция, с другой стороны, иногда становится такой же маленькой, как задача, «реализующая группирование цифр для числового ввода», в то время как бывают случаи, когда она становится такой же большой, как вся операция CRUD.

Мой вопрос, как мы можем отличить функцию от функции?


9
Я бы не стал зацикливаться на этом. Они оба означают, что «программа должна быть способна делать то или иное»; если менеджер проекта делает различие, это, вероятно, личное, и вам нужно просто прочитать между строк, чтобы извлечь намерение.
tdammers

8
Или просто попросите их определения каждого. Вероятно, они используют оба как свободные синонимы.
Петер Тёрёк

Пуля очков против значения
Эрик Реппен

Ответы:


35

Особенности - это то, что продают продавцы.
Функции - это то, что программисты разрабатывают.


4
Хороший, запоминающийся, узнаваемый ответ.
Саид Нимати

@RobertHarvey У вас есть конкретный аргумент против этого ответа?
Зиббобз

@Zibbobz: Вы имеете в виду, кроме как вообще не информировать? Также обратите внимание на близкие голоса, примененные к вопросу.
Роберт Харви

8

Функции плохо вписываются в контекст пользовательской истории и в основном прозрачны для пользователя. Они могут быть внутренним процессом или какой-то уникальной или общей функциональностью приложения, которая позволяет соответствующим образом реализовать другие функции или, возможно, другие функции.

Задачи, с другой стороны, являются отдельными единицами работы, которые должны быть выполнены для предоставления функции или функции.

В моих проектах я не делаю различий между функцией и функцией, и я пишу пользовательские истории для функций и добавляю функции или усилия по рефакторингу в качестве задач для выполнения одной функции.

Иногда это приводит к тому, что определенные функции выглядят излишне раздутыми в плане проекта, но это нормально, потому что если мне потребуется рефакторинг функций 1 и 2 и функции 3 для правильной доставки функции 1, то, возможно, мой единственный результат для этого спринта - это функция 1 или возможно, никаких результатов вообще.

Пока к концу спринта у меня еще есть работающее программное обеспечение, мой проект Agile.


6

Особенности - это то, что может сделать ваша программа. Функции являются прямым результатом требований пользователей и бизнес-целей. Таким образом, функции программы существуют в основном для удовлетворения потребностей пользователей .

Функциональность, с другой стороны, заключается в том, как фактически реализованы вышеупомянутые функции .


2

Для PM «Функция» - это цель, а «Функция» - это поведение продукта, с которым пользователь может взаимодействовать. Однако люди часто получают два назад (что, я думаю, имеет место в вашем вопросе).

Получение меня от места A до места B является ключевой функцией автомобиля. Его причина (цель) это существует. Рулевое колесо является особенностью, как и рычаг переключения передач. Драйвер взаимодействует с множеством функций, чтобы достичь функции получения чего-либо.

«Функцию» здесь не следует путать с функцией (методом) языка программирования, которая говорит о реализации функционального программного обеспечения. Скорее всего, это не то, о чем будет говорить премьер-министр, когда они ссылаются на «Функции и функции».

Не существует хорошей иерархии функций и возможностей, так как одна функция может использоваться для поддержки нескольких функций продукта.


0

Я считаю, что необходимо проводить правильное различие для конкретной методологии или конкретной культуры требований. Следующее - моя собственная интерпретация.

Функция: основное требование, которое существенно влияет на стоимость программного обеспечения, которое пользователь должен иметь в конкретной версии. Пример: функция сохранения в текстовом редакторе.

Особенность: Приятно иметь возможности программного обеспечения, которое добавляет ценность к программному обеспечению, но не является обязательным условием для правильной работы программного обеспечения и выполнения его функций. Например, используйте функцию отмены в форме ввода данных или сохраните документ в виде gif-файла для текстового редактора (проводной!).


1
Я не знаю , где вы получили их от, но ИМХО самые обычные определения функций и возможностей не делают никакого различия по важности.
Док Браун

Я уточнил ответ, спасибо за ваш комментарий.
NoChance

-1

За каждой функцией находится функциональность, необходимая для предоставления пользователю предполагаемого назначения функции.

Пример: система регистрации в университете будет иметь функцию «реестры студентов для занятий». Эта задача требует немного функциональности, а также доступа к базе данных. Проектирование этой функции предполагает понимание фактической задачи пользователя - регистрации для занятий. Это было бы предпосылкой к «дизайну взаимодействия», необходимому для облегчения задачи пользователя. Функциональность будет разработана для реализации требований взаимодействия.

Программисты ищут функции для кодирования. Разработчики интерактивного взаимодействия ищут лучший способ предоставления этой необходимой функциональности посредством проектирования взаимодействия программного обеспечения с пользователем. Понимание того, как пользователь может наилучшим образом достичь своей цели, на первом месте. Определение необходимой функциональности следует.

Вышесказанное не является научным, это только мое мнение.


2
Спасибо за добавление вашего первого сообщения в Stack Exchange Programmers. Ознакомьтесь с часто задаваемыми вопросами programmers.stackexchange.com/faq, чтобы узнать, как писать вопросы и ответы, которые будут набирать голоса и улучшать вашу репутацию.
DeveloperDon

-1

Важно помнить о различии между функциями продукта и его характеристиками. Функции - это «ответ продукта на ряд пользовательских задач»; Функции - это «инструменты пользователя», присущие продукту, используемому для выполнения функций. Выполнение телефонного звонка является функцией; тональный сигнал готовности и тональная клавиатура - это функции, используемые для выполнения этой функции.


-2

Я согласен, что не стоит зацикливаться на этом, поскольку в некоторых контекстах термины часто используются взаимозаменяемо. Тем не менее, в более широком контексте управления, я думаю, есть некоторые важные моменты. Во-первых, PM также может означать менеджера по продукту. Кто-то должен взять на себя ответственность за решение о том, что рынок будет поддерживать в цене, сроках поставки и возможностях. Я обычно считаю, что эта функция предпочтительнее, когда вы находитесь в маркетинговом контексте. Роль руководителя проекта заключается в управлении проектом таким образом, чтобы желаемый продукт был доставлен вовремя и в рамках бюджета. Архитекторам и дизайнерам эта функция предоставляется и может рассматриваться как предоставляемая функция в человеческой организации, предлагающая преобразование и хранение данных, но должна быть усовершенствована до тех пор, пока проект не будет сокращен до делегированных единиц работы, которые могут быть назначены разработчикам. , Часто случается, что функция не соответствует чисто набору функций в системе машины. Например, быстрые и безопасные функции являются желаемыми потребителями, но не могут быть выделены в коде. Эти возникающие свойства делают так, что нефункциональные требования так трудно удовлетворить.


этот пост довольно трудно читать (стена текста). Не могли бы вы изменить его в лучшую форму?
комнат
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.