Eu tenho um projeto para a universidade que não iniciarei imediatamente, mas tenho pensado por um período razoavelmente longo. Eu entendo que o desenvolvimento de projetos da Universidade não é como a indústria (atualmente sou estagiário), então a situação que vou apontar no momento provavelmente parecerá um tanto ridícula para os desenvolvedores de software reais. ^^ '
O projeto em si exige que documentemos muito do nosso trabalho. Portanto, além de fornecer código, que conta para algumas das marcas, temos que entregar documentos, incluindo:
- Um documento de análise de requisitos
- Um plano de projeto
- Uma lista planejada de casos de uso, modelos dinâmicos e de objetos e testes de aceitação
- Documentação do processo de teste e quão bem-sucedidos os testes foram
- Algumas outras discussões e análises de uso do tempo, etc.
Esses produtos devem ser entregues da seguinte maneira:
- RAD primeiro
- Seguido pelo plano do projeto, casos de uso, modelos e testes (aproximadamente 3 semanas depois)
- Por fim, a documentação do programa atual, o processo de teste, etc. + a própria programação (aproximadamente 5 semanas depois)
Então, pelo que entendi, isso é realmente voltado para uma abordagem no estilo Waterfall do projeto. O único problema (na minha opinião) é que este é um projeto da Universidade, e os alunos já têm pressão suficiente, assim como tentam desenvolver projetos no final do semestre durante a semana do projeto. Eu realmente não quero codificar / desenvolver / testar tudo no final do semestre, quando entrarei em pânico com muitas outras avaliações com as quais tenho que lidar.
Eu gostaria de pelo menos tentar fazer algum tipo de ciclo de desenvolvimento iterativo que significa que podemos começar a codificar / prototipar mais cedo, ter um ciclo de desenvolvimento contínuo que não esteja focado em fazer tudo no último minuto e não tenha tanta pressão no momento. final do semestre para finalizar este projeto. E agora vem a minha pergunta real:
- Posso de alguma forma conciliar a necessidade de entregar toda essa documentação com um ciclo de desenvolvimento rápido, iterativo / de prototipagem?
- Existem estratégias para gerar documentação de maneira iterativa?
- Estou sendo totalmente irracional perguntando isso e esperando que seja possível na Universidade?
Além disso, entendo que essa pergunta é extremamente localizada, portanto, gostaria de fazer as mesmas perguntas que fiz acima em termos de indústria e se muitos desses tipos de problemas enfrentados pelos processos ágeis são diferentes para cada equipe ou empresa.
De qualquer forma, desculpe por quanto tempo isso dura e, se você terminou de ler todo o caminho, obrigado! Se você pudesse reservar um tempo para responder, ficaria muito grato! Obrigado!
fonte
Respostas:
A principal preocupação (eu tenho um problema semelhante com meu trabalho) é que, se "O Processo" exigir que você entregue certos artefatos em determinados momentos, e ninguém possa desafiar o todo-poderoso "O Processo", então, se você tentar, vai perder! Não se trata apenas de uma maneira melhor (qual é o desenvolvimento de documentos iterativos).
Portanto, o que você precisa fazer é trabalhar dentro do processo, mas encontre uma maneira de trabalhar da maneira que deseja. Por exemplo, seu processo permite a modificação de documentos após o envio? Caso contrário, nenhum desenvolvimento iterativo é possível. Nesse caso, você precisa pensar no custo da entrega (em termos de tempo, credibilidade, etc.) e gerenciar esse custo. Se, por exemplo, for uma cópia de arquivo e nada mais, vá em frente. Se (como eu) for uma revisão por pares, um release de revisão, impactar dezenas de pessoas e custar milhares de dólares, pense com cuidado e verifique se o novo documento realmente agrega valor.
Uma maneira comum de trabalhar é um documento essencial básico, mínimo, que atenda às necessidades de "O Processo" no início, seguido posteriormente por uma atualização final "como construída" que não apenas reflete a realidade, mas que possui os detalhes onde necessário e é breve onde o código fala por si.
fonte