DEV Community

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

Posted on

15 5

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

Sentry blog image

How I fixed 20 seconds of lag for every user in just 20 minutes.

Our AI agent was running 10-20 seconds slower than it should, impacting both our own developers and our early adopters. See how I used Sentry Profiling to fix it in record time.

Read more

Top comments (0)

AWS Security LIVE!

Join us for AWS Security LIVE!

Discover the future of cloud security. Tune in live for trends, tips, and solutions from AWS and AWS Partners.

Learn More

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay