DEV Community

Cover image for Um guia ilustrado de 8 hábitos de Especialistas em Design de Software
Eduardo Rabelo
Eduardo Rabelo

Posted on

Um guia ilustrado de 8 hábitos de Especialistas em Design de Software

Experiência e habilidade inata não são os únicos caminhos para o sucesso. Ilustração: Yen Quach

Os melhores designers de software empregam hábitos específicos, práticas aprendidas e princípios que observaram empregados nos seus trabalhos. Aqui estão alguns deles.

O que faz um designer de software ser um especialista? A resposta típica: experiência e habilidade inata - isso é menos do que satisfatório. Essa observação carrega alguns elementos verdadeiros, mas chega a oferecer pouco do que podemos realmente aprender e generalizar. Os especialistas claramente não abordam seu trabalho aleatoriamente. Muito pelo contrário, eles têm hábitos específicos, práticas aprendidas e princípios que observaram empregados nos seus trabalhos, deliberadamente durante a fase de design.

Alguns podem estar familiarizados com eles, outros não. Alguns são facilmente colocados em prática, outros não. Alguns têm impacto imediato, outros não. Uma constante, no entanto, é que os especialistas em designers de software estão profundamente cientes de todas essas práticas e as recorrem quando a situação exige.

Enraizado em muitos anos estudando designers de software profissionais e suas maneiras de trabalhar, nosso livro "Software Design Decoded" ilustra 66 desses hábitos, práticas e princípios, vários dos quais são apresentados abaixo. Eles foram confirmados por nós várias vezes, principalmente por aqueles que trabalham no campo e cada um deles pode ser rastreado até a literatura acadêmica que documenta esse comportamento. O site complementar do livro fornece uma bibliografia anotada que compila a literatura principal, bem como a oportunidade de sugerir idéias adicionais.

Hoje, o software não é mais limitado pela tecnologia, mas pela imaginação. No entanto, o software que transforma o imaginado em realidade pode ser complexo, e o contexto em que essa transformação deve ocorrer pode ser ainda mais complexo. Isso impõe demandas extraordinárias aos designers de software, demandas que só podem ser atendidas se, em conjunto, "intensificamos" a excelência do design. Esperamos que essas ilustrações possam ter um pequeno papel no seu aprendizado.

1. Os especialistas envolvem o usuário


Baseado em botões apropriados para cães, projeto por Clara Mancini.

Os especialistas estão cientes dos usuários. Eles envolvem deliberadamente usuários no processo de design, estudando-os, conversando com eles, engajando-os no teste de designs intermediários e até perguntando para eles desempenharem um papel ativo na fase de design.

No entanto, os especialistas não aceitam tudo o que os usuários dizem. Eles percebem as limitações potenciais, pois o pensamento dos usuários é frequentemente colorido pelas experiências atuais. Os especialistas analisam além do que os usuários solicitam e do que os usuários realmente precisam.

2. Especialistas projetam abstrações elegantes

Enquanto todos os desenvolvedores criam abstrações, os especialistas as projetam. Uma boa abstração torna evidente o que é importante, tanto no que faz como no como faz. Através de uma única lente, comunica o problema que resolve e os detalhes de sua solução.

Os especialistas não estão satisfeitos com qualquer abstração, procuram deliberadamente abstrações elegantes através das quais estruturas complexas podem ser introduzidas, entendidas e referenciadas com eficiência.

3. Especialistas focam na essência

Todo problema de design tem uma essência, um conjunto principal de considerações que devem ser entendidas e "pregadas" na solução para resolver o problema com êxito. Essa essência pode ser perturbadora: as mudanças na parte principal alteram drasticamente as decisões externas que precisam ser tomadas. Os especialistas concentram seus esforços na essência primeiro e deixam para depois os esforços para projetar a parte externa.

4. Especialistas simulam continuamente

Os especialistas imaginam como um design funcionará - simulando aspectos do software e como as diferentes partes do design suportam uma variedade de cenários. Ao trabalhar com outras pessoas, os especialistas analisam regularmente um projeto verbalizando sua operação passo a passo. Quando sozinhos, eles simulam mentalmente, exercitando o design repetidamente ao longo do tempo.

5. Especialistas olham em volta

Da mesma forma que os arquitetos percorrem as cidades para examinar e inspirar-se em edifícios existentes, os especialistas em software examinam os projetos de outros softwares para "ver como eles fizeram isso". Eles costumam fazer isso em resposta a um desafio específico que enfrentam, mas geralmente também gastam tempo olhando em volta, apenas para adicionar ao seu repertório de possíveis soluções de design para usar no futuro.

6. Especialistas remodelam o espaço do problema

Os especialistas geralmente se afastam do problema declarado e consideram o espaço do problema de maneira mais ampla, procurando maneiras alternativas de entender “qual é o problema”. Eles podem mudar de direção ao reconhecer o espaço do problema ou abordar um problema diferente no mesmo espaço. Eles escolhem intencionalmente objetivos um pouco diferentes do problema do design original, pois isso leva a "insights" sobre onde está o problema real ou sobre como superar os principais obstáculos.

7. Os especialistas veem o erro como uma oportunidade

O design envolve regularmente erros: coisas que “dão errado”, mal-entendidas, obstáculos, desvios errados, questões emergentes. Ao invés de temer o erro, os especialistas adotam o erro como uma oportunidade. Eles a aceitam como parte inerente do design e levam tempo para explorar tanto a falha quanto o contexto ao seu redor. A compreensão do que aconteceu geralmente revela informações sobre o problema - ou sobre a solução - como suposições, conceitos errados, desalinhamentos e propriedades emergentes.

8. Os especialistas pensam sobre o que não estão projetando

Embora seja natural se concentrar no que um projeto deve realizar, os especialistas também gastam tempo pensando no que um projeto não se destina a fazer. Ao articular e considerar os limites, eles descobrem onde estão super ou sub-projetando.


Créditos

Top comments (0)