Princípios da engenharia de software.
A engenharia de software consiste no desenvolvimento de soluções de software que vão desde o planejamento à entrega final ao cliente. Para a boa entrega de soluções que geram valor para o cliente.
Mas o que é um princípio?
De acordo com o dicionário da literatura consultada. Princípio é o mesmo que, “uma importante afirmação ou lei básica em um sistema de pensamento”.
Já que entendemos o que é um princípio, vamos então entender os princípios da engenharia de software. O autor Daniel Hooker propôs 7 princípios para a engenharia de software como um todo.
Primeiro princípio: a razão de existir.
O primeiro princípio consiste na razão da existência de um software como qualquer outro produto: ele agrega valor para o cliente e seus usuários. Com essa ideia em mente nosso primeiro questionamento no planejamento de um software é se ele realmente agrega valor para uma empresa ou usuário. Caso a resposta para tal questionamento seja não, a solução é simples, não continue com o projeto.
Segundo princípio: KISS (Keep it simple. Stupid!).
Apesar do nome cômico, esse princípio é muito importante para manter o software. Sendo assim, um software deve manter-se simples, porém não simplista. Esse princípio torna um sistema mais fácil de ser mantido, quando trabalhamos em conjunto com a equipe a legibilidade se torna crucial no desenvolvimento e manutenção de softwares.
Terceiro princípio: mantenha a visão.
Quando trabalhamos no desenvolvimento é comum que com o tempo surjam ideias. Se não tivermos uma visão clara e bem estabelecida o nosso projeto acaba se perdendo do seu foco principal, por isso, um arquiteto responsável e capaz de manter essa visão ao longo do projeto é crucial.
Quarto princípio: o que um produz outros consomem.
Um software de qualidade industrial raramente é produzido de forma isolada. Existirão usuários, programadores documentando e mantendo o software e etc. Então sempre codifique pensando em quem irá manter e utilizar o seu software.
Recomendados pelo LinkedIn
Quinto princípio: esteja aberto para o futuro.
Um software é projetado levando em consideração um tempo de vida em meses. Isso não acontece com um software de qualidade industrial. Um software desse nível de qualidade é projetado levando em consideração as mudanças rápidas que estão ocorrendo e portanto vão ocorrer no cenário mundial da computação. Projetar um software com capacidade de se adequar e se manter com essas mudanças cada vez mais rápidas aumenta a longevidade do sistema e também gera maior valor para seus clientes.
Sexto princípio: planeje com antecedência visando a reutilização.
Quando falamos em reutilização de software, queremos falar sobre a capacidade de se reutilizar funções ou conhecimentos existentes de softwares já existentes e produzidos anteriormente. Esse princípio economiza tempo e recursos, tornando o desenvolvimento muito mais barato.
Sétimo princípio: pense!
É interessante em como esse princípio é subestimado. Mas como experiência de vida podemos dizer que os nossos melhores resultados são alcançados com ações pensadas e previamente planejadas. Devemos levar esse comportamento para a área de desenvolvimento de softwares, já que mesmo que o nosso pensamento esteja errado ele servirá para nos ensinar uma valiosa lição.
Esses princípios servem não só exclusivamente para o desenvolvimento de software, mas também, para áreas gerais que envolvam planejamento. Como podemos ver esses princípios são congruentes com a ideia do bom senso, porém, este também é muito subestimado.
Referências:
Engenharia de software 8ª edição. Pressman.
Seven principles of software Development. David Hooker.