O mais baixo nível de detalhe para as especificações funcionais, a fim de ser útil
-
19-08-2019 - |
Pergunta
Onde eu trabalho, as pessoas não gostam de especificações gravação. (Boy, alguém?) Então, eles não fazê-lo, a menos que forçado por seus patrões. Se eles são forçados a escrevê-los, eles torná-los o mais curto possível. (By the way, que também inclui me .)
Isso resulta em especificações como
- Este software registra o tempo entre o evento A e B para o log de eventos
- Nome e caminho do parâmetro X são definidos em um arquivo de configuração no formato do ini.
- O software está ativo sem um usuário precise fazer logon no computador (implementação como um serviço Windows)
Este exemplo é retirado de um projeto muito pequeno, e funcionou muito bem, mas eu não acho que será suficiente para qualquer coisa mais complexa. Eu não especificou requisitos OS / hardware porque este é o desenvolvimento in-house e temos padrões da empresa ou departamento que cobrem aqueles.
Então, minha pergunta é: O que você considera o nível mínimo absoluto de detalhes em uma especificação funcional para qualquer software não-trivial?
Solução
IMHO a coisa importante sobre Specs Funcional (e todos os outros métodos / ferramentas formais para o desenvolvimento de software e planejamento do projeto (Yourdon, SSADM, PRINCE2, UML, etc) é que eles incentivar as boas práticas, fazendo você pensar ao longo lines.They comum não garantem o sucesso, mas eles encorajam sucesso formalizando boas práticas
Assim, o fato de que FSs são criados é uma coisa boa, mesmo que talvez pudessem ser melhor. Alguns planejamento e preparação é melhor do que nenhum -. Que é o que uma desenvolvedores muito a ver
O que idealmente deve entrar em um FS? Tanto quanto é necessário e tão pouco quanto possível. Só porque algumas especificações funcionais cobrir X, Y e Z não a sua média deveria. Se você tornar-se demasiado prescritivas, você irá adicionar burocracia desnecessária para projetos mais simples; correspondentemente, para projetos complicados, uma abordagem prescritiva pode incentivar o desenvolvedor para parar aquém do nível de detalhe que eles realmente deveria ir.
Outras dicas
Joel on Software escreveu um artigo de craqueamento em especificações.
Você pode encontrá-lo aqui Especificação Discussão