Como você cria um processo de software para um projeto?


13

Como já escrevi em outras perguntas aqui, o projeto no qual estou trabalhando agora não tem processo de software. Isso significa que não há documentação (incluindo especificações ou requisitos de cópia impressa) , nenhum controle de origem , nenhum banco de dados de bugs, bugs são "corrigidos" (espero) e um novo código é adicionado ao mesmo tempo, e não há testadores formais - falharíamos no teste Joel tão ruim, não é nem engraçado.

Ontem, meu gerente me pediu para escrever um documento sobre como começar a corrigir essas deficiências. Note que eu sou apenas um estagiário, aqui por 6 meses. Vou sair no dia de Ação de Graças em novembro para voltar à escola. No entanto, acho que talvez consiga colocar esse projeto na direção certa, mas não sei por onde começar. Atualmente, estou usando o CiteSeer e a Wikipedia para tentar encontrar alguns documentos que descrevam processos de software e implementá-los, mas qualquer conselho, experiência pessoal ou link para blogs, documentos, artigos wiki ou qualquer outra coisa seria muito apreciado.


Processo rápido, barato e bom - quando um projeto ficar para trás, reduza o processo.
ChuckCottrill

2
Como isso aconteceu?
Robert Harvey

Respostas:


10

Eu sugeriria que você analisasse a programação Agile.

Existem muitas variantes, mas elas tendem a ter algumas coisas em comum:

  • Revisão regular e priorização de recursos.
  • Integração contínua e testes de unidade automatizados.
  • Concentre-se na comunicação sobre a documentação (na prática, isso significa documentação no estilo wiki, enquanto você examina enormes especificações inflexíveis escritas com antecedência).
  • Estimativas flexíveis, resultando em gráficos de queima e métricas de velocidade.
  • Protótipos regulares revisados ​​em mais de 200 especificações de página com assinaturas.
  • Qualidade na fonte ou o mais próximo possível.
  • Revisão regular das partes interessadas - uma extensão da compreensão de seus clientes.
  • Coloque o software no mercado (e ganhe dinheiro) o mais rápido possível.
  • Comunicação direta, tanto quanto possível.

Um bom lugar para começar seria MSF Agile ou Scrum .


7

Dada a situação, você estará ausente em seis meses e a equipe não iniciará nenhum processo, limitaria o escopo do que você apresenta a uma ou duas coisas que podem ser razoavelmente implementadas e se sustentam no tempo que você está lá. Se fosse eu, eu daria uma olhada em uma ferramenta de controle de origem e em um rastreador de erros.

A razão pela qual eu começaria lá é porque a instalação dessas ferramentas o ajudará a estabelecer uma linha de base para o desempenho atual das equipes e, possivelmente, identificar problemas recorrentes. As alterações do processo são boas, mas esses são os itens básicos básicos que devem ser implementados primeiro.


Sim, pretendo limitar o escopo do que faço, mas também quero deixá-los com um roteiro para que não fiquem imaginando o que fazer a seguir, especialmente se as coisas começarem a melhorar.
Thomas Owens

@ Thomas Owens Acho que é louvável que você queira deixar um roteiro para a equipe depois que você se for. No entanto, é improvável que alguém se refira a um roteiro criado por um estagiário. Isso não reflete suas habilidades e habilidades. Sendo esse o caso, eu colocaria o máximo de esforço possível para dar os primeiros passos. Não subestime o esforço necessário para mudar os hábitos e processos de uma equipe existente. De fato, tentar obter o controle da fonte e um rastreador de erros implementado em seis meses pode ser mais do que pode ser razoavelmente feito.

Eu acho que isso pode ser feito. Esta é uma equipe de 5 pessoas, exceto eu. Dois são desenvolvedores em período integral, um é desenvolvedor de meio período nesse projeto e meio período em outros projetos, um é gerente e outro é do tipo marketing. Ambos os desenvolvedores em tempo integral estão a bordo de um processo e o gerente deseja ver melhorias no desempenho da equipe. Não é como se estivesse sendo forçado contra a vontade deles.
Thomas Owens

1

Usamos o Prince2 para os processos de gerenciamento de projetos e funciona muito bem. Eu sugeriria que pareceria tortuoso para uma empresa sem gerenciamento de projetos, no entanto!



1

Apenas para ecoar os sentimentos de alguns dos itens acima, as equipes que não têm estrutura se encaixam melhor com uma estrutura ágil. Obtenha o controle da fonte hoje mesmo, basta começar a colocar suas alterações no SVN e mostrar a alguns de seus desenvolvedores um diferencial quando você estiver procurando por bugs. Comece a adicionar logs de revisão. Se eles não conseguem ver os benefícios e a facilidade de uso do SVN, estão condenados.


0

Confira estes artigos sobre integração contínua para programação .NET usando MSBuild, CruiseControl.NET, FxCop, NUnit, NCover e Subversion ...

Das trincheiras de desenvolvimento de software


1
@Zack: Nós não usamos programação .NET. Estou procurando conselhos gerais que possam ser usados ​​em qualquer projeto usando qualquer pilha de tecnologia. Coisas como escolher um modelo, implementá-lo e assim por diante.
Thomas Owens
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.