Quais são as 5 primeiras coisas que você faz antes de iniciar um novo projeto?
Você sempre passa um dia pesquisando novas estruturas? Ou, usando produtos similares ou concorrentes?
project-management
programming-practices
rjstelling
fonte
fonte
Respostas:
Isso depende bastante do projeto. É um projeto que estou começando com a intenção de vender ou um projeto para um cliente específico? Além disso, o que constitui "começar"? Isso é antes ou depois da coleta de requisitos? Uma lista aproximada, no entanto:
Obtenha um contexto para o projeto. Ou seja, descubra o que seu cliente ou usuário em potencial está tentando realizar e por quê. Se você está construindo um sistema de registro de hotel, o que há de errado com as opções do OTS, por exemplo.
Reunir requisitos. Reúna-se com as partes interessadas. Encontre-se com usuários. Encontre-se com qualquer pessoa que tenha uma palavra a dizer no projeto, se puder. Observe as soluções existentes que este projeto substituirá, que o cliente está usando ou que existem no mercado. A partir daí, escreva tudo em uma linguagem não técnica, como você pode - um bom documento sobre requisitos deve descrever o que deve ser feito, mas não como fazê-lo. Em seguida, discuta esse documento com o cliente e repita até que ele concorde. Essa etapa pode ser menos formal para projetos menores (possivelmente até totalmente verbais).
Comece a tomar decisões técnicas. Escolha idiomas, estruturas, ORMs, bancos de dados, etc. que melhor resolvam o problema, se isso significa ficar com algo que você conhece ou aprender algo novo.
Analise os riscos para este projeto. Se este for um contrato do governo, você provavelmente desejará um relatório de risco com capa de couro de 100 páginas. Se for um projeto de três meses e quatro meses, você pode ficar bem com algumas anotações em um arquivo de texto ou em uma planilha. De qualquer maneira, você quer descobrir o que pode dar errado no projeto, qual a probabilidade de acontecer, o quanto isso vai doer e o que você fará para se preparar, lidar com ele e / ou atenuá-lo. efeitos após o fato. Um comum, por exemplo, é "Um dos desenvolvedores é atropelado por um ônibus, sai, fica doente, etc." Portanto, você pode atenuar isso ao programar em pares para compartilhar conhecimento, usar boas práticas de controle de origem para manter o código centralizado etc.
Configure a tecnologia. É o tipo de coisa que ninguém quer fazer quando você está no meio da codificação, então configure seu repo, seu servidor de compilação, seu sistema de compilação, suas wikis, seu rastreador de bugs ou o que você pretende usar para seu projecto.
fonte
Vou apenas responder a esta parte da pergunta, porque é a única parte com a qual eu poderia me relacionar:
Não. Duvido seriamente que isso funcione ... Como alguém pode pesquisar novas estruturas em apenas um dia, antes de cada projeto, e aprender algo relevante? Simplesmente não acontece assim. Em vez disso, passo partes do meu dia, todos os dias, pesquisando diferentes tecnologias (não apenas novas estruturas). Pesquisa não é algo que eu faço quando preciso. É algo que faço o tempo todo e já está lá quando preciso que esteja lá. Programar é divertido, é por isso que estou nesse ramo. Você não pode me impedir de experimentar coisas diferentes todos os dias.
Um escritor passa um dia coletando idéias antes de iniciar um novo livro?
fonte