Recurso vs. Função [fechado]

16

Frequentemente, ouço PMs (gerentes de projeto) falar sobre recurso e função. E eu estou tão confusa em diferenciá-los. Às vezes, penso que um recurso é equivalente a uma história de usuário. Algo como "Como usuário, Bob deve poder ver uma lista de seus pagamentos", e eles chamam isso de recurso. Às vezes, fica do tamanho de um subsistema, algo como "a capacidade de enviar SMS via aplicativo da web". A função, por outro lado, às vezes fica tão pequena quanto uma tarefa, "implementando o agrupamento de dígitos para entradas numéricas", enquanto há casos em que fica tão grande quanto uma operação CRUD inteira.

Minha pergunta é: como podemos diferenciar recurso de função?

Saeed Neamati
fonte
9
Eu não ficaria muito obcecado com isso. Ambos significam 'o programa deve ser capaz de fazer isso ou aquilo'; se um gerente de projeto faz uma distinção, provavelmente é pessoal e você deve apenas ler nas entrelinhas para extrair a intenção.
tdammers
8
Ou apenas peça sua definição de cada um. Provavelmente eles usam os dois como sinônimos soltos.
Péter Török
Bullet pontos valor vs.
Erik Reppen

Respostas:

35

Os recursos são o que os vendedores vendem.
Funções são o que os programadores desenvolvem.

Michael Riley - também conhecido por Gunny
fonte
4
Resposta boa, memorável e distinta.
Saeed Neamati
@RobertHarvey Você tem um argumento específico contra esta resposta?
Zibbobz
@Zibbobz: Você quer dizer outro que geralmente não informa? Além disso, observe os votos próximos aplicados à pergunta.
Robert Harvey
8

As funções não se encaixam bem no contexto de uma história de usuário e são principalmente transparentes para um usuário. Eles podem ser um processo de back-end ou algum tipo de funcionalidade de aplicativo exclusivo ou comum que permite que outros recursos ou possivelmente outras funções sejam implementadas adequadamente.

As tarefas, por outro lado, são unidades de trabalho individuais que devem ser concluídas para fornecer um recurso ou uma função.

Nos meus projetos, costumo não diferenciar entre um Recurso e uma Função e escrevo histórias de usuários para recursos e adiciono funções ou esforços de refatoração como Tarefas para concluir um único recurso.

Às vezes, isso faz com que certos recursos pareçam desnecessariamente inchados no plano do projeto, mas tudo bem, porque se eu precisar que as funções 1 e 2 e a função 3 sejam refatoradas para fornecer adequadamente o recurso 1, talvez meu único produto para esse sprint seja o recurso 1 ou possivelmente nenhum produto final.

Enquanto até o final do sprint eu ainda tiver um software em funcionamento, meu projeto será o Agile.

maple_shaft
fonte
6

Recursos são o que seu programa pode fazer. Os recursos são um resultado direto dos requisitos do usuário e dos objetivos de negócios. Portanto, os recursos de um programa existem principalmente para atender às demandas dos usuários .

Por outro lado, a funcionalidade é como os recursos mencionados acima são realmente implementados .

rrazd
fonte
2

Para um PM, "Função" é o objetivo e "Recurso" é um comportamento do produto com o qual um usuário pode interagir. No entanto, as pessoas costumam ter os dois para trás (o que eu acho que é o caso na sua pergunta).

Levar-me do lugar A ao lugar B é uma função essencial de um carro. É a razão (propósito) que existe. O volante é uma característica, assim como a alavanca de câmbio. O driver interage com vários recursos para alcançar a função de chegar a algum lugar.

"Função" aqui não deve ser confundida com uma função (método) da linguagem de programação que fala sobre a implementação de um software de recurso. Provavelmente não é disso que um PM estaria falando quando se referem a "Recursos e funções".

Não há uma hierarquia agradável para funções e recursos, pois um recurso pode ser usado para oferecer suporte a várias funções do produto.

user91714
fonte
0

Eu acredito que uma distinção correta deve ser feita para uma metodologia específica ou uma cultura de requisitos específicos. A seguir, é minha própria interpretação.

Função: um requisito básico que afeta drasticamente o valor do software que o usuário deve ter em uma versão específica. Exemplo: Salvar função em um editor de texto.

Recurso: Um bom recurso do software, que agrega valor ao software, mas não é uma necessidade absoluta para o software funcionar adequadamente e desempenhar suas funções. Por exemplo, tenha um recurso de desfazer em um formulário de entrada de dados ou salve um documento como arquivo gif para um editor de texto (com fio!).

NoChance
fonte
1
Eu não sei onde você conseguiu estes a partir, mas IMHO a maioria das definições usuais de funções e características não fazem qualquer distinção em importância.
Doc Brown
Eu qualifiquei o anser, thnx pelo seu comentário.
NoChance
-1

Por trás de cada recurso está a funcionalidade necessária para fornecer ao usuário o objetivo pretendido do recurso.

Exemplo: o sistema de registro de uma universidade teria o recurso "registros de alunos nas aulas". Essa tarefa requer um pouco de funcionalidade, além de acesso a um banco de dados. O design do recurso envolveria uma compreensão da tarefa real do usuário - o registro em classes. Isso seria um pré-requisito para o "design de interação" necessário para facilitar a tarefa do usuário. A funcionalidade seria projetada para implementar os requisitos de interação.

Os programadores estão procurando funções para codificar. Os designers de interação estão procurando a melhor maneira de fornecer essa funcionalidade necessária através do design da interação do software com o usuário. A compreensão de como o usuário pode alcançar melhor seu objetivo é o primeiro. A identificação da funcionalidade necessária segue.

O exposto acima não é científico, é apenas minha opinião.

Bob Buckley
fonte
2
Obrigado por adicionar sua primeira postagem aos Stack Exchange Programmers. Consulte as Perguntas frequentes programmers.stackexchange.com/faq para obter idéias sobre como escrever perguntas e respostas que receberão votos e melhorarão sua reputação.
DeveloperDon
-1

É importante lembrar a distinção entre funções e recursos do produto. Funções são a "resposta do produto ao conjunto de tarefas do usuário"; Os recursos são as “ferramentas do usuário” inerentes ao produto usado para executar as funções. Fazer uma ligação telefônica é uma função; o tom de discagem e o teclado de toque são recursos usados ​​para realizar a função.

kahsay Terefe
fonte
-2

Concordo que não vale a pena ficar obcecado, já que os termos são frequentemente usados ​​de forma intercambiável em alguns contextos. No entanto, no contexto mais amplo da administração, acho que existem alguns pontos importantes. Primeiro, PM também pode significar gerente de produto. Alguém deve assumir a responsabilidade de decidir o que o mercado suportará em preço, data de entrega e recursos. Geralmente, acho que esse recurso é preferido quando você está em um contexto de marketing. A função do gerente de projeto é gerenciar o projeto de forma que o produto desejado seja entregue dentro do prazo e do orçamento. Para o arquiteto e os designers, o recurso é fornecido e pode ser considerado uma função entregue na organização humana que oferece transformação e armazenamento de dados, mas deve ser reificado até que o design seja reduzido a delegar unidades de trabalho que podem ser atribuídas aos desenvolvedores . Geralmente, um recurso não é mapeado corretamente para um conjunto de funções no sistema da máquina. Por exemplo, rápido e seguro são recursos desejados pelos consumidores, mas não podem ser segregados no código. Essas propriedades emergentes são o que tornam os requisitos não funcionais tão difíceis de satisfazer.

Dale Fletter
fonte
é difícil ler este post (parede de texto). Você se importaria de editá -lo em uma forma melhor?
mosquito