A Feature Driven Development (FDD) é uma metodologia ágil de...

Próximas questões
Com base no mesmo assunto
Q39759 Engenharia de Software
A Feature Driven Development (FDD) é uma metodologia ágil de desenvolvimento de software, sobre a qual é correto afirmar:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A resposta correta é a alternativa B - Possui cinco processos: Desenvolver um Modelo Abrangente, Construir a Lista de Funcionalidades, Planejar por Funcionalidade, Detalhar por Funcionalidade e Implementar por Funcionalidade.

Para entender por que essa alternativa é a correta, precisamos nos aprofundar um pouco no que é a metodologia ágil Feature Driven Development (FDD). A FDD é uma metodologia de desenvolvimento de software orientada a características ou "features". Ela é centrada no desenvolvimento e entrega de funcionalidades tangíveis e de valor para o cliente ou usuário final. Essa metodologia é composta por cinco processos principais, que são, resumidamente:

  • Desenvolver um Modelo Abrangente: Esta etapa envolve a criação de um modelo de domínio abrangente, representando o escopo e a área de problema do projeto em alto nível.
  • Construir a Lista de Funcionalidades: Aqui, são listadas todas as funcionalidades ou "features" que o sistema deverá ter, geralmente escritas em um nível que possa ser compreendido tanto por clientes quanto por desenvolvedores.
  • Planejar por Funcionalidade: O planejamento envolve a atribuição das funcionalidades aos times de desenvolvimento e a definição de um cronograma para a entrega.
  • Detalhar por Funcionalidade: Antes de começar a implementação de cada característica, ela é detalhada em tarefas menores para facilitar o desenvolvimento.
  • Implementar por Funcionalidade: Nesta fase, o desenvolvimento propriamente dito acontece, com cada funcionalidade sendo codificada, testada e integrada ao sistema.

Esses processos são iterativos e cada um deles é essencial para o ciclo de vida da FDD, garantindo que o desenvolvimento seja feito de maneira eficiente, com foco claro nos requisitos do usuário e no valor de negócio entregue.

A alternativa B descreve corretamente esses cinco processos e, portanto, é a correta. As demais alternativas não representam com precisão os princípios e práticas da FDD. Por exemplo, a metodologia pode ser combinada com outras técnicas (o que invalida a opção A), não limita os papéis a um único participante por papel (o que invalida a opção C) e não se foca exclusivamente em modelagem ou implementação, mas abrange o ciclo completo de desenvolvimento (o que invalida as opções D e E).

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A FDD é, classicamente, descrita por cinco processos: * Desenvolver um Modelo Abrangente: pode envolver desenvolvimento de requisitos, análise orientada por objetos, modelagem lógica de dados e outras técnicas para entendimento do domínio de negócio em questão. O resultado é um modelo de objetos (e/ou de dados) de alto nível, que guiará a equipe durante os ciclos de construção. * Construir uma Lista de Funcionalidades: decomposição funcional do modelo do domínio, em três camadas típicas: áreas de negócio, atividades de negócio e passos automatizados da atividade (funcionalidades). O resultado é uma hierarquia de funcionalidades que representa o produto a ser construído (também chamado de product backlog, ou lista de espera do produto). * Planejar por Funcionalidade: abrange a estimativa de complexidade e dependência das funcionalidades, também levando em consideração a prioridade e valor para o negócio/cliente. O resultado é um plano de desenvolvimento, com os pacotes de trabalho na seqüência apropriada para a construção. * Detalhar por Funcionalidade: já dentro de uma iteração de construção, a equipe detalha os requisitos e outros artefatos para a codificação de cada funcionalidade, incluindo os testes. O projeto para as funcionalidades é inspecionado. O resultado é o modelo de domínio mais detalhado e os esqueletos de código prontos para serem preenchidos. * Construir por Funcionalidade: cada esqueleto de código é preenchido, testado e inspecionado. O resultado é um incremento do produto integrado ao repositório principal de código, com qualidade e potencial para ser usado pelo cliente/usuário.
A) ERRADA - Ela interage com outras metodologias.

B) CORRETA - O processo Implementar por Funcionalidade é mais conhecido como Construir por Funcionalidade (Build by Feature).

C) ERRADA - FDD implementa em torno de 15 cargos e responsabilidades entre as categorias principais, de apoio e adicionais.

D) ERRADA - O foco do FDD é tanto para o desenho como para construção do sistema.

E) ERRADA - O foco do FDD é tanto para o desenho como para construção do sistema.
Uma equipe de FDD pode ter até 250 pessoas, seria mais ou menos assim em ordem crescente de detalhamento:  XP < FDD < RUP

Sobre os papéis:

Temos:
  • Project Manager - Administração
  • Chief Architect - Interno ao projeto
  • Development Manager
  • Chief Programmers
  • Class Owners (Desenvolvedores Individuais)
  • Domain Experts ("Stake Holders" - servem pra tirar duvidas sobre os requisitos de domínio da aplicação)


OS CINCO PROCESSOS SÃO BEM DEFINIDOS E INTEGRADOS DO FDD:
1.   DMA (Desenvolver a lista de funcionalidades): Decomposição Funcional
2.   CLF  (Construir a Lista de Funcionalidades): Decomposição Funcional
3.   PPF  (Planejar por Funcionalidade): Planejamento Incremental
4.   DPF  (Detalhar por Funcionalidade): Desenho (Projeto) Orientado por Objetos
5.   CPF (Construir por Funcionalidade): Programação e Teste Orientados por Objetos

 b)Possui cinco processos: Desenvolver um Modelo Abrangente, Construir a Lista de Funcionalidades, Planejar por Funcionalidade, Detalhar por Funcionalidade e Implementar por Funcionalidade.

é uma metodologia adaptativa que opera em torno de features, cujos processos sao, consoante questao: Desenvolver um Modelo Abrangente, Construir ,Planejar, Detalhar e  Implementar features.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo