Digamos que recebi as especificações de um projeto de um cliente e agora é hora de começar a desenvolvê-lo. Normalmente, eu apenas começo com o primeiro módulo (geralmente registro de usuário) e depois passo de um módulo para o outro. Eu só planejo na minha cabeça antes de começar um módulo como vai funcionar, mas não há planejamento antes disso.
No entanto, acho que seria melhor se eu examinasse as especificações e planejasse como o sistema funcionaria antes de codificá-lo, por exemplo, quais são os principais componentes, como eles vão interagir etc. Estou apenas não sei exatamente o que devo planejar.
Para ter uma idéia melhor do que estou pedindo, como devo-
a) Divida o projeto em componentes,
b) Planeje suas interações, por exemplo, devo fazer diagramas de classe, escrever testes de unidade etc.?
Alguma ideia?