Pergunta

Eu sempre usei o ágil dirigido por recurso processo de Desenvolvimento para o desenvolvimento de software. O que faz todos uso mais, e por que você prefere isso? Eu prefiro FDD porque é isso que eu comecei com o fresco da faculdade. Na faculdade, tudo era muito de forma livre e meu "cliente" era tipicamente meu professor, que pode não ter tido muita indústria experiência fora de fazer pesquisa para a universidade.

Agora, o meu cliente (s) não são tão indulgente e eu faço um monte de trabalho no campo da medicina. Ser ágil e ter um alto nível de qualidade é uma obrigação!

Foi útil?

Solução

No trabalho, usamos o processo ICONIX. É um subconjunto de técnicas ágeis e é requisitos comportamentais conduzidos. Os objectivos do processo ICONIX ser tão baixo celebração quanto possível, tendo como pouca documentação quanto possível -, a fim de permitir que você mantenha facilmente-lo up-to-date (esta é uma grande diferença de outros processos ágeis, para os praticantes exemplo XP costumam fazer não parecem manter a documentação up-to-date após a 1ª projecto alegando que seu código é a documentação).

Aqui está uma visão prática do processo:

  1. Projecto rápida de Funcional Requisitos
  2. Definição rápida de um Modelo de Domínio
  3. Modelo de Casos de Uso de a base de etapas anteriores
  4. Opcional - Desenhe um diagrama de robustez descartável para cada uso caso, só para entender as relações entre suas classes
  5. Desenhe uma Diagrama de sequência para cada caso de uso
  6. modelar seus estudos de casos sobre os casos de uso
  7. Implementar
  8. Test

Em cada passo que você rever o seu trabalho como uma atualização todo o seu modelo de domínio (que é impossível obtê-lo direito primeira vez) e adicionar comentários sobre seus casos de uso. Até o final do passo 5) você acabar com ready-to-implementar classes e lógica com apenas pouca documentação para manter a se re-fator ou a mudança qualquer coisa:

  • Use diagrama de casos
  • diagrama de seqüência para cada caso de uso
  • Teste diagrama caso (ou plano de teste)

Se você precisa adicionar um recurso, você adicionar um novo caso de uso e acompanhar todo o processo.

Recursos:

Iconix website processo

Iconix Engenharia de Software

Livros Referências:

desenvolvimento ágil com o Processo ICONIX

Outras dicas

metodologias de desenvolvimento ágil com uma combinação de XP Engenharia Práticas:

  • TDD juntamente com Refactoring
  • YAGNI (yagni)
  • KISS (Keep it simple stupid)
  • Refactor para Design Patterns
  • A programação em pares com comutação de pares
  • código compartilhado Base de Dados
  • Implantar cedo e muitas vezes

Seja qual for o projeto atual exige.

Eu faço um monte de consultar no meu próprio tempo para vários (principalmente baseado em PHP) dev web. Eu não têm dedicado o tempo para chegar ao TDD para esses projetos ainda, e muitos deles estão usando quadros existentes que realmente não fazer TDD tão fácil.

No trabalho que não está trabalhada para TDD ainda, por isso usamos um híbrido de processos baseados em especificações de estilo antigo ágil e. Tentando obter um movimento para TDD, mas nós somos uma pequena loja com projetos bem entrincheirados existentes (lotes de trabalhos de manutenção) e trabalho de integração com sistemas ERP. Eu acho que eu poderia começar TDD indo no meu próprio trabalho de integração (e estou fazendo pequenos passos nessa direção), mas as outras coisas é em grande parte uma causa perdida.

Parece haver alguma confusão aqui:

TDD é mais sobre como você implementar do código e não sobre como gerenciar o desenvolvimento global de um projeto de software. TDD não vai ajudá-lo a decidir quais recursos a programação, quando a entregar, ou a forma de estabelecer prioridades.

Em contraste, coisas como o Lean / Agile ou mesmo Cachoeira são sobre estas questões de nível superior. (Meu voto é para Scrum que cai firmemente na área de Lean / Agile.)

XP (Extreme Programming) é porque interessante é misturas idéias de ambas as áreas.

Eu vou com Agile Scrum , Dá-me o sentimento de 'ligado à equipe. E ter um bom controle sobre os marcos e scrums taks.Morning indivudual são muito úteis. Usamos Agile Scrum no Team System http://www.scrumforteamsystem.com/en/default.aspx

Eu acho que eu sou da velha escola. Eu desenvolver a especificação do cliente. Uma fase de concepção vigorosa seguido por um ciclo de desenvolvimento, teste, erro-correcção cabeças para baixo. Em seguida, implementar.

Uma vez que a especificação é definido e acordado, nenhuma mudança pode ocorrer. Todas as mudanças devem esperar por desenvolvimento e correções de bugs ter sido concluída. Isto evita âmbito creep-e permite que o software para se escrito, testado, depurado e implementadas. Nesse ponto, as mudanças tornam-se melhorias, novas funcionalidades, etc.

Eu vim a descobrir que para quase todos os meus clientes ao longo dos últimos 10 anos, cerca de 90% das coisas que eles teriam "atirado" durante o desenvolvimento, criando margem-fluência, são consideradas como não sendo necessário. Eu não posso dizer-lhe quantos clientes me agradeceu por mantê-los na baía. Então eu não sei o que processar você chamaria isso, mas funciona para mim e para muitos outros desenvolvedores que conheço.

Eu sou um fã de magra desenvolvimento de software, que é promovido pelas Poppendiecks, em grande parte com base em princípios de manufatura enxuta, com a Toyota como o garoto-propaganda. Ele tem muito em comum sagacidade as outras metodologias ágeis, o foco está na eliminação de resíduos, fazendo uso da teoria das filas, e um "just in time" mentalidade (por exemplo, especificando uma história no último momento responsável).

magra é muitas vezes associada a Kanban , que é um método de acompanhamento de tarefas através de um gasoduto .

Design by Contract com um complemento de testes de unidade

Nós usamos cachoeira onde eu trabalho, mas depois de algum empurrando em minha parte nós estamos nos movendo mais para um ágil / TDD / CI modelo híbrido para alguns de nossos novos projetos. Se Deus quiser, nós vamos ser capazes de abandonar o método cascata. Cada versão de manutenção que fazemos, nosso principal cliente simplesmente ignora Reqs prazos e as mãos nos exigência muda direito no último segundo e, em seguida, apenas olha fixamente para nós enquanto explicar por que eles não podem continuar fazendo isso.

Código e Fix !!

Apenas brincadeira, TDD é realmente uma ótima maneira de ir.

Test Driven Projeto TDD

A confiança que você começa de saber que uma alteração de código não quebrou algo sutil é grande

Eu segundo o voto para Agile. Eu estou explorando Incline-se nos dias de hoje, mas como com qualquer processo de desenvolvimento, não é algo que você pode simplesmente cair em seu grupo atual. No entanto, existem características do Lean e Agile que pode ser facilitado em seus processos atuais e ganhar valor imediato.

Meu projeto anterior usado o método Cachoeira e estavam orgulhosos dele. Eles uma vez desmamados-se fora da Cachoeira e para Prototype, que é um bom passo.

Eu trabalho para uma empresa que faz tanto o desenvolvimento web e sistemas. O nosso modelo de desenvolvimento é um desenvolvimento rápido. Nós usamos a definição mais moderna do mesmo, por isso é semelhante ao desenvolvimento ágil. Sem os conceitos XP.

Nós usamos scrum também ... Eu acho standups pode ser bom em alguns aspectos, mas às vezes os rápidos 15 minutos torna-se, pelo menos, 30.

As minhas inclinações pessoais ao longo dos últimos anos têm sido no sentido de Desenvolvimento Lean, com uma forte influência de tudo o que eu aprendi com XP. Eu acho que é importante notar aqui que Scrum é insuficiente como um processo de desenvolvimento, uma vez que não informar o trabalho de desenvolvimento de software, mas o trabalho de tentar gerenciar o fluxo de tarefas de desenvolvimento de software. Meu pensamento foi informada pela ICONIX também. Eu acho que é uma ótima maneira de abordar um caso de uso e diagrama ambiente orientado sem ficar atolado em burocracia contra-produtivo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top