É possível o desenvolvimento de documentação iterativa e fornece documentação eficaz?


11

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!


2
Isso não responde, então não vou colocá-lo como resposta. Mas não faça isso . Parte do que seu instrutor deseja é que você organize seu pensamento e desenvolva sua capacidade de planejar e discutir um sistema que você ainda não criou. Essas são habilidades muito boas de se ter e altamente negociáveis ​​depois de alguns anos no ramo de programação.
Ross Patterson

Ah, tudo bem. No entanto, se eu perguntar, parece que alguns métodos de planejamento para obter requisitos e conceituar soluções para clientes envolvem a criação de protótipos de um possível produto - essa é uma boa maneira de ajudar a evoluir ou auxiliar o estágio de planejamento e documentação? Ou isso é apenas um desejo irracional?
blahman

2
Claro, a prototipagem é válida. De fato, em uma grande empresa, você pode criar um protótipo para justificar P&D capitalizada (é uma coisa contábil, não técnica), mesmo que não tenha intenção de usar o protótipo como base para o sistema final. De fato, os melhores protótipos são aqueles que fornecem orientação e que são descartados. Se eu tivesse um níquel para cada protótipo "produtivo" que necessitasse de uma reescrita total alguns anos depois, eu teria muito níquel.
Ross Patterson

Respostas:


5

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.


Obrigado pela sua contribuição! Pensei um pouco mais sobre o que você disse e como posso aplicá-lo aos meus próprios projetos. Com grande parte de nossa documentação, devemos ter um cliente para consultar, mesmo que tenhamos que enviar dentro de um prazo e não fazer modificações significativas depois disso. Ainda é possível o desenvolvimento iterativo por consulta ao cliente? Quero dizer, esse é o ponto de se desenvolver em ciclos, certo?
blahman
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.