O que é uma fase de descoberta?
Uma fase de descoberta (também conhecido como uma fase de escopo) é a primeira etapa do processo de desenvolvimento de software. Destina-se a:
- conhecendo o produto e o usuário final,
- esclarecendo a visão,
- contexto os objetivos,
- decidindo sobre requisitos comerciais e técnicos,
- identificando riscos e elaborando um plano de como evitá-los de acontecer.
Uma fase de descoberta é geralmente executado por Analista de Negócios e UX Designers que falam com as partes interessadas detendo o conhecimento do domínio, e juntos, eles decidem sobre a forma e o escopo da solução final. Isso ajuda a estabelecer se a visão deles é factível e viável.
Mas dada a sua enorme importância para o sucesso final de todo o projeto, é crucial que a fase de descoberta é atendida não apenas por alguns responsáveis por ela, mas também por todos os membros da equipe de desenvolvimento. Deixe-nos explicar por que acreditamos que essa abordagem é tão benéfica.
Por que a fase de descoberta deve ser acompanhada por toda a equipe de desenvolvimento?
Quando apenas alguns membros da equipe participam da fase de descoberta, é muito mais difícil “vender” a visão geral e a sensação do produto final para o pessoas que realmente o desenvolvem, fazendo isto muito mais complicado para alcançar o resultado que você está procurando.
A participação de toda a equipe de desenvolvimento na fase de descoberta é de suma importância, e tem um impacto enorme nas seguintes áreas:
1. Decidindo os objetivos
Uma das primeiras atividades ligadas à fase de descoberta é decidir sobre seus objetivos. Trabalhando em conjunto, toda a equipe deve estabelecer pontos de verificação frequentes para garantir que seu trabalho esteja indo na direção certa. Tal abordagem ajuda a minimizar o risco de gastar tempo improdutivo isso não vai deixar ninguém mais perto do objetivo final.
Para definir as metas de forma eficaz, é importante levar em consideração todas as áreas de trabalho que precisam ser feitas durante o processo de desenvolvimento. Isso não pode ser feito adequadamente sem que toda a equipe participe e compartilhe informações sobre qual é a sua parte de trabalho.
2. Fluxo de informações
Com a fase de descoberta que reúne toda a equipe, fluxo de informações torna-se muito mais eficaz, ajudando todos os membros entender o quadro geral, o contexto de negócios e a perspectiva das partes interessadas. Quando toda a equipe que trabalha em um projeto de desenvolvimento de software acesso a informações boas e completas de que precisam, isso permite que eles gerir melhor o seu tempo e não desperdiçá-lo em atualizações posteriores e transferência de conhecimento.
3. Engajamento da equipe
A participação de toda a equipa na fase de descoberta tem um impacto enorme no sucesso do projeto final. Desenvolvedores que participar nos estágios iniciais do processo estará mais ciente do contexto de negócios do aplicativo. Durante a fase de desenvolvimento eles estarão mais engajados devido ao seu envolvimento inicial, e eles cometerão menos erros – o trabalho de toda a equipe e o fluxo correto de informações permitirão detectar todos os bugs em estágios anteriores.
Tal atitude garante uma melhor compreensão dos motivos para por que o software está sendo criado em primeiro lugar. Além disso, graças à participação dos desenvolvedores em todas as etapas do processo de desenvolvimento de software, eles podem participar da criação da visão da solução final em vez de apenas reunir os requisitos listados por outra pessoa. Por outro lado, conhecimentos técnicos que possuem ajuda a construir um roteiro mais confiável do produto.
4. Gestão de riscos
Envolvimento de toda a equipe na fase de descoberta permite que cada membro identificar e relatar quaisquer riscos que encontrarem durante o trabalho deles. Dependendo de seus antecedentes, todos podem prestar atenção a diferentes tipos de riscos: os desenvolvedores identificarão aqueles relacionados à arquitetura ou aos aspectos técnicos, os analistas de negócios observarão mais de perto aqueles ligados ao lado comercial ou ao roteiro.
Detectar todos os riscos no início permite encontrar as soluções certas com antecedência, ajuda a evitá-los em etapas futuras e contribui para o sucesso do produto final.
5. Limpar os próximos passos
Durante a fase de descoberta, toda atividade precisa terminar com uma lista de próximos passos. Cada um deles deve ter uma pessoa designada responsável por isso e um prazo preciso. O verdadeiro benefício de toda a equipe estar envolvida na fase de descoberta só pode ser alcançado se todos os membros da equipe estão cientes do que acontece a seguir, quais são suas responsabilidades e o que exatamente se espera deles.
6. Entrada para atividades futuras
As conclusões e documentos criados durante a fase de descoberta constituem uma grande contribuição para as atividades futuras relacionado a contínuo descoberta – o processo contínuo que visa coletar feedback, identificar problemas e tomar boas decisões durante todo o projeto de desenvolvimento de software – permitindo uma abordagem mais holística e organizada para o processo ágil de desenvolvimento de software. Uma entrada tão completa só é possível com toda a equipe trabalhando em conjunto e estando ciente de todas as etapas do processo de desenvolvimento de software.
Como envolver todos?
A boa notícia é que você não precisa se esforçar muito para envolver todos na fase de descoberta. Como consiste em muitas atividades diferentes, como pesquisa, ideação, teste de usuário, criação/prototipagem, validação, documentação e pré-refinamento, cada papel encontrará uma grande e significativa tarefa para fazer.
Desenvolvedores por exemplo, deve gerar ideias, construir protótipos (provas de conceito) e participar de todas as atividades trazendo perspectiva técnica. Graças ao seu envolvimento, será mais fácil encontrar lacunas na lógica, identificar problemas potenciais que podem surgir no futuro e propor melhores soluções.
O envolvimento especial de toda a equipe é mais visível em atividades como brainstorming de ideias, construção do mapeamento da história, priorização, e descoberta de requisitos não funcionais.
Conclusão
No processo de desenvolvimento de software, uma fase de descoberta é extremamente importante porque conduz a um produto final que responde às necessidades dos clientes e do negócio e cumpre todos os seus requisitos.
Envolvendo toda a equipe desde a primeira fase dá uma vantagem incrível em outras fases do desenvolvimento de software, fazendo com que a equipe trabalhe em conjunto e entenda perfeitamente para onde está indo e por quê.
É exatamente assim que executamos as fases de descoberta para nossos clientes. Sabemos que essa abordagem tem consequências extremamente positivas e duradouras e melhora drasticamente o resultado final do nosso trabalho.
Fonte: www.future-processing.com