Please enable JavaScript.
Coggle requires JavaScript to display documents.
FDD - Feature Driven Development, Dentro de um intervalo de tempo…
-
Dentro de um intervalo de tempo predeterminado, geralmente de duas semanas ou menos, são realizadas as seguintes atividades: Calcular o valor de uma compra, Calcular itens em estoque e Listar fornecedores locais.
-
Uma feature é uma funcionalidade que agrega valor ao cliente e pode ser desenvolvida em um período de duas semanas ou menos.
-
CLF (Construir a Lista de Funcionalidades): Nesta fase, ocorre a decomposição funcional, onde é criada uma lista de funcionalidades do sistema. Cada funcionalidade é descrita e associada à área de domínio correspondente. Essa lista é fundamental para o processo, uma vez que cada funcionalidade representa uma tarefa menor que precisa ser implementada no projeto. É importante ressaltar que essas funcionalidades não devem demandar mais de duas semanas para serem concluídas. A lista de funcionalidades é ordenada com base na prioridade de desenvolvimento.
PPF (Planejar por Funcionalidade): Nesta fase ocorre o planejamento incremental, baseado na lista de funcionalidades. Para cada funcionalidade, são designados programadores-chefe que serão responsáveis por determinadas classes ou códigos. Com base nessa atribuição, as equipes de planejamento são formadas, e cada membro da equipe é encarregado de uma parte específica do projeto.
DPF (Detalhar por Funcionalidade): Nesta etapa, ocorre o desenho (projeto) orientado por objetos, onde é criada uma modelagem das funcionalidades a serem desenvolvidas. A diferença dessa modelagem é que o programador chefe a cria com base em uma funcionalidade específica e a divide em classes, métodos e atributos. Após a conclusão do detalhamento da funcionalidade, ocorrem as testagens realizadas pela equipe de desenvolvimento.
CPF (Construir por Funcionalidade): Nesta fase ocorre a programação e teste orientados por objetos, onde o código começa a ser implementado no sistema. As funcionalidades são incorporadas e podem ser utilizadas. Durante essa etapa, são realizadas a implementação das regras de negócio das classes, a inspeção do código, a realização dos testes unitários e o lançamento da funcionalidade. Após a finalização do código, a funcionalidade é concluída e disponibilizada para uso.
Gerente de Desenvolvimento: O gerente de desenvolvimento desempenha o papel de líder nas atividades diárias do desenvolvimento. Ele é responsável por resolver quaisquer conflitos que possam surgir dentro da equipe. Além disso, o gerente de desenvolvimento trabalha para remover quaisquer impedimentos que a equipe possa enfrentar, garantindo que as atividades possam ser realizadas de forma eficiente. Ele também é responsável por facilitar as reuniões necessárias, especialmente aquelas envolvendo clientes ou usuários finais. Uma de suas responsabilidades é avaliar se o código produzido pela equipe de desenvolvimento está em conformidade com os padrões do projeto. Caso contrário, o gerente de desenvolvimento deve fornecer sugestões e melhorias que contribuam para o aprimoramento da equipe, tanto em relação ao código quanto ao trabalho em equipe.
Arquiteto-Chefe: O arquiteto-chefe desempenha um papel fundamental na modelagem do projeto. Ele tem a responsabilidade de auxiliar a equipe de desenvolvedores e contribuir para a construção do software. O arquiteto-chefe é encarregado de questões relacionadas à definição dos componentes de software, suas propriedades externas e seus relacionamentos com outros softwares. Seu objetivo é facilitar a organização dos componentes do software, visando melhorar a flexibilidade, portabilidade e facilidade de manutenção do sistema. O arquiteto-chefe busca criar uma estrutura sólida e bem projetada que atenda aos requisitos do projeto e permita um desenvolvimento eficiente e sustentável.
Proprietários de Código (Programadores-Chefe): Os proprietários de código são os responsáveis pela modelagem e desenvolvimento de novas funcionalidades de um software. Sua principal atividade é implementar as funcionalidades definidas, seja pelo Gerente de Projetos ou pelo Gerente de Desenvolvimento. É importante ressaltar que o código deve ser realizado por um único desenvolvedor, ou seja, iniciado e concluído pela mesma pessoa. Isso promove a responsabilidade e a coesão na implementação das funcionalidades, garantindo que o código seja consistente e de alta qualidade. Os programadores-chefe têm um papel crucial na criação do código que impulsionará o software e devem seguir as diretrizes e padrões estabelecidos pelo projeto.
Especialistas de Domínio (Negócio): Os especialistas de domínio são pessoas que possuem um amplo conhecimento sobre o software em particular e desempenham um papel importante em ajudar as equipes a compreendê-lo. Esses especialistas podem ser usuários, clientes ou patrocinadores do projeto, e sua responsabilidade é adquirir e transmitir informações sobre os requisitos e o funcionamento do sistema. Eles atuam como uma fonte valiosa de conhecimento para os desenvolvedores, fornecendo insights e esclarecimentos sobre o domínio específico em que o software está sendo desenvolvido. Os especialistas de domínio desempenham um papel crucial na garantia de que o software atenda às necessidades e expectativas dos usuários finais, contribuindo com seu conhecimento especializado para o processo de desenvolvimento.