Estimativa de projetos de software: decompondo tarefas
- Ao planejar um projeto de software, é importante definir claramente a lista de tarefas.
- O processo de decompor tarefas pode parecer intuitivo, mas é preciso passar por etapas concretas.
- O processo de decomposição de tarefas inclui dividir o projeto nas tarefas que o compõem e definir cada tarefa em detalhe.
Decomposição de tarefas por meio de um exemplo
- O processo de decomposição de tarefas é demonstrado por meio do exemplo de criar um rastreador pessoal de streaks.
- O rastreador de streaks acompanha atividades ao ar livre e é parecido com o app Streaks, mas inclui várias opções de atividades externas e o recurso de
streak freeze do Duolingo.
Primeira tentativa
- Começa-se com um esboço para visualizar o que será criado.
- No caso de um projeto pessoal, um esboço simples pode ser suficiente, mas, quando é necessário delegar tarefas ou estimar tempo, é preciso uma decomposição de tarefas mais detalhada.
Segunda tentativa
- O planejamento é expandido de uma única tarefa para seus componentes, considerando dependências, mas ainda sem se preocupar com o tamanho ou o escopo das etapas.
- É criada uma lista de tarefas como modelagem de dados, visualização de calendário, calendário interativo, cálculo e exibição da streak atual e implementação do
streak freeze.
Terceira tentativa
- Etapas maiores são divididas em componentes menores e mais detalhes são adicionados.
- Tarefas como modelagem de dados, visualização estática de calendário, visualização dinâmica de calendário semanal, cálculo e exibição de streaks e
streak freeze são definidas de forma mais granular.
Processo de decomposição de tarefas
- A decomposição de tarefas é um processo interativo: pensa-se em uma tarefa grande, registra-se e depois ela é dividida em etapas menores.
- Verifica-se se cada tarefa está suficientemente definida; se não estiver, o algoritmo é repetido para dividi-la com mais detalhe.
O que é uma tarefa?
- Uma tarefa significa algo suficientemente definido, que inclui um trabalho completo e produz uma mudança.
- Uma tarefa “suficientemente definida” precisa de uma visão clara, e uma tarefa “completa” deve incluir todo o trabalho necessário.
O que é uma tarefa suficientemente definida?
- A pessoa que executa a tarefa deve conseguir entender a mudança desejada, compreender como será o “concluído” e definir todas as etapas para chegar a esse “concluído”.
Isso é uma habilidade e exige prática
- Decompor tarefas é uma habilidade que evolui com a prática.
- Para desenvolvedores experientes, isso pode parecer intuitivo, mas para quem tem menos experiência pode ser difícil.
- É importante pedir planejamento de projetos em um ambiente de aprendizagem seguro, decompor as tarefas e fornecer feedback.
Resumo do algoritmo de decomposição de tarefas
- Comece com um ponto de partida, uma lista de tarefas, um esboço ou uma ideia.
- Decida se cada item está suficientemente definido e, se a resposta for “não”, decomponha ainda mais a tarefa.
- Repita até que todas as tarefas estejam suficientemente decompostas.
Bônus sobre estimativa de projetos
- Como a série é sobre estimativas, a estimativa do projeto também é concluída.
- A carga real de trabalho pode ter sido superestimada, o design pode ser simplificado e o algoritmo de
freeze pode conter bugs.
Opinião do GN⁺
- A decomposição de tarefas é uma habilidade central em gestão de projetos e desenvolvimento de software, e este artigo pode ajudar engenheiros de software iniciantes a entender a importância e o método da decomposição de tarefas.
- A decomposição de tarefas é essencial para definir com clareza o escopo do projeto e gerenciar tempo e recursos com eficiência.
- Como este artigo explica o processo de decomposição de tarefas passo a passo, ele oferece um bom exemplo de referência para aplicação em projetos reais.
- A precisão da decomposição de tarefas pode ter grande impacto no sucesso do projeto, e é importante minimizar erros ou omissões que possam surgir nesse processo.
- Ferramentas de gestão de projetos com funcionalidades semelhantes incluem Jira, Trello e Asana, que podem ser usadas para visualizar e gerenciar o processo de decomposição de tarefas.
Ainda não há comentários.