Skip to content

O design da solução é o processo de criar uma abordagem técnica e funcional para atender as necessidades identificadas durante o discovery e levantamento de requisitos. É a fase em que os requisitos coletados são transformados em uma estrutura concreta de como a solução será projetada, desenvolvida e implementada. Adotar práticas e técnicas que promovam a clareza, a compreensão e a viabilidade da solução é fundamental para o sucesso do projeto.

"Os requisitos estão focados na necessidade. Designs estão focados na solução".

Guia Babok - IIBA

Compreendendo Para Quem e Porquê?

O processo de definição e refinamento de requisitos é a etapa em que as soluções ganham forma e se alinham aos objetivos do projeto. Nesse momento, você como analista deve mapear qual é a melhor solução para atender a necessidade dos usuários e do negócio.

O design da solução deve atender às necessidades dos usuários e do negócio, englobando product owners, project managers, CTOs, clientes finais e demais stakeholders. Seu objetivo é criar uma descrição minuciosa o suficiente para ser desenvolvida e ao mesmo tempo objetiva.

A comunicação eficaz com as partes interessadas é um dos pilares dessa fase, para assegurar que aspectos não mapeados sejam identificados e compreendidos.

A compreensão compartilhada, a validação das necessidades, a análise de viabilidade, escalabilidade, usabilidade, segurança e a identificação de dependências e conflitos, também são elementos-chave nesse processo para fornecer diretrizes claras para os desenvolvedores e garantir uma solução robusta e eficaz.

Técnicas para análise de software.

Para alcançar o sucesso no processo de design da solução e refinamento de requisitos, é vital adotar padrões sólidos. Para isso você pode utilizar uma ou várias das técnicas e práticas listadas a seguir:

  1. Compreensão Profunda: Certifique-se de compreender completamente os requisitos de negócios, os objetivos do projeto, as necessidades de usuários e restrições técnicas antes de criar a descrição da solução. Identifique alternativas de solução para a necessidade e esclarecimento de ambiguidades que possam surgir durante o levantamento.
  2. Viabilidade Técnica: Avalie a viabilidade técnica da solução proposta, considerando a infraestrutura existente, as capacidades da equipe e as limitações tecnológicas. Analise as informações coletadas para identificar padrões, relacionamentos e prioridades. Você pode envolver nesse discovery a liderança técnica do time, que irá fornecer informações valiosas para este discovery.
  3. Identificação de Desafios: Identifique e aborde potenciais desafios de negócios e técnicos, bem como riscos que possam surgir durante o desenvolvimento.
  4. Documentação: Documente os requisitos de forma clara e concisa, utilizando linguagem compreensível. Crie um documento detalhado que sirva como referência para todas as partes interessadas, facilitando a comunicação entre stakeholders e equipes técnicas.
  5. Usabilidade e Segurança: Priorize a usabilidade e a segurança, seguindo práticas de design e implementando medidas de segurança adequadas ao projeto e contexto do cliente.
  6. Diretrizes para Desenvolvimento: Forneça diretrizes claras para os desenvolvedores, incluindo informações sobre a estrutura, fluxos de trabalho, regras de negócios, considerando a reutilização de componentes quando possível e outros aspectos relevantes.
  7. Validação Rigorosa: Valide os requisitos com as partes interessadas, corrigindo discrepâncias e garantindo alinhamento com os objetivos. Apresente a solução proposta à equipe técnica para avaliação e discussão, garantindo que seja aceita e implementável.
  8. Negociação: se ocorrerem diferenças de opinião entre as partes interessadas ou se houver restrições de recursos, você deve conduzir a negociação para chegar a um consenso.
  9. Definição Técnica: Trabalhe com a equipe para definir como a solução será implementada tecnicamente, incluindo arquitetura, tecnologias e integrações necessárias. A definição do requisito não termina até que ele seja totalmente implementado. Participe! Você é fundamental no processo.
  10. Comunicação Efetiva e Flexibilidade para Mudanças: Mantenha um canal aberto e eficaz de comunicação com todas as partes interessadas. Comunique formalmente o cliente sobre quaisquer alterações necessárias devido a limitações técnicas no software ou nas regras de negócios.
  11. Formalize: Uma vez que a descrição detalhada da solução esteja completa e tenha passado por avaliações e aprovações necessárias, formalize o documento. Isso envolve a criação de uma versão final que seja clara, concisa e de fácil acesso a todas as partes interessadas.