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.

Thomas Owens
fonte
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 .

Keith
fonte
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.


fonte
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!

ColinYounger
fonte
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.

Johnno Nolan
fonte
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

Zack Peterson
fonte
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