Please enable JavaScript.
Coggle requires JavaScript to display documents.
Elicitando e Escrevendo Requisitos com Agile e Lean (Descobrindo…
Elicitando e Escrevendo Requisitos com Agile e Lean
Requisitos Agile e Lean
Filosofia Agile e Lean
Filosofia Agil
Surgiu da necessidade de lidar com os problemas relacionados ao desenvolvimento de software
Existem muitas técnicas e metodologias que aplicam os principios ageis
Possui a idéia da entrega rápida e iterativa
Baseado no Manifesto agil
Filosofia Lean
Não surgiu do meio do software, mas da manufatura
Foca em trabalhar somente no necessário agora para ter o trabalho feito, para não haver desperdício
Kanban
É uma metodologia Lean de desenvolvimento de produtos, onde o controle do que está sendo feito é por meio de cartões em um quadro divido em estágios
DevOps
Também uma metodologia Agil por que foca em entregas pequenas e incrementas, e Lean por que só altera o necessário evoluindo o produto constantemente conforme a necessidade
Foco em Testes automatizados CI/CD
Cynefin
Um framework para lidar com projetos em que você não faz idéia do que fazer
Comunicando necessidades de negócio em ambientes Lean e Agile
Niveis de requisitos
Requisitos de negócio
Metas e Objetivos que beneficam o grupo como um todo
Em geral são poucos por projeto, como 2 ou 3
SMART
Requisitos de Stakeholder
Necessidades e desejos de individuos ou grupos
Requisitos de solução
Funcionais
Não funcionais
Features
Como a palavra 'requisitos' se tornou muito pesada, foi aproveitada a idéia de features do Lean.
Feature passa a idéia de flexibilidade de algo que será testado e receberá feedback, e será retroalimentado
Requisito passa a idéia de algo que alguém pediu e deve ser desta maneira
User Stories
Foram criadas com idéia de entender o que o usuário espera do sistema de forma que possa ser armazenada até o momento certo da discussão do assunto
Regras de Negócio
São regras que definem o processo de negócio e precisam ser levadas em conta na automação
Restrição (Constraint)
Uma limitação expressamente imposta ao sistema
Examples
Ao invés de me dizer o que o cliente quer, me mostre
Caso de Uso
Mostra as interações que são feitas com os sistema
Cenarios de teste
São testes criados upfront que vão nortear o desenvolviimento do sistema
Using Cynefin to Prioritize and Analyze Features, User Stories, and
Requirements
Cynefin lida com incerteza, por exmplo quando você lida com uma estoria de usuário
Disordem
Você não sabe onde está
Obvio
Problema simples
Já passei por esse problema
Sei o que estou fazendo
Solução evidente
Implemente melhores práticas
Complicado
Eu sei as perguntas que devo saber
Preciso de respostas de especialistas
Vou analizar as respostas - muitas vezes conflitantes - e implementar o que seria melhor na minha situação
Procure boas práticas
Complexo
Não sei a pergunta
Não sei a resposta
Não sei onde procurar ajuda
Deve sair desta área para complicado ou óbvio o mais rápido
Implementar testes e asserções
Sempre que começar um projeto comece pelo que é mais complexo, de forma que todo o seu trabalho não seja perdido caso você não consiga encontrar a solução para esse problema ou ainda a solução desse problema faça com que você tenha que refazer o trabalho.
Caótico
Causa desconhecida
Efeito desconhecido
Aja e valide
Faça qualquer coisa para aliviar o problema
Pare o sangramento
Diferente do domínio complexo, você não tem tempo para analisar a situação ou para fazer testes que provem proposições
Você nunca esteve nessa situação antes
Você não faz idéia de como resolver
Analise em ambientes Lean e Agil
Analise significando saber o que o cliente precisa antes de fazer
SCRUM
Vision Statement Document
Product Bakclog
Sprint planning
Sprint backlog
Release planning
Sprint
Daily Meeting
Just in time
Just in Case
Descobrindo requisitos em Projetos ageis e lean
Tecnicas e Desafios de Elicitacao comum
Descobrir requisitos trata-se de ajudar os outros a descobrirem o que querem
Uma forma simples seria apenas perguntar a eles o que desejam
O que está errado na forma como é feito hoje?
Qual é a solução correta para o problema?
O que está faltando na forma como é feito hoje?
Como podemos aprimorar a forma como é feito hoje?
Analisar documentos e discussões
Através de modelos e exemplos
Pode ser intimidador
Especialmente se você precisa lidar com pessoas que estão num nivel mais alto que o seu
Você precisa lidar com essa intimidação
Você precisa das respostas que precisa
Para evitar desperdício de tempo, comunique o motivo e o escopo da conversa
Certifique-se de fazer as perguntas corretas para as pessoas corretas
Rastreando progresso com um arquivo de questões
Algumas vezes seu gestor irá perguntar como está o andamento do seu progresso na obtenção de requisitos, quanto tempo ainda irá durar
Voce pode manter um documento registrando todas as questões que precisam ser resolvidas
Data em que a questão surgiu - A questão - Quem deve responder - A resposta - Quando foi respondida
Dicas para conversas efetivas
Elicite
Determine qual a granularidade da conversa
Escolha a melhor forma de represntação (notas, conteudo eletronico ...)
Escolha o modo como será representado (texto, visual, audio)
Saiba quando já é o suficiente
Planejamento e preparação
Prepare as perguntas corretas
O que eu preciso saber desse indivíduo?
Encontre quem realmente sabe ou toma as decisões, não alguém que só ouviu falar
Procure uma zona neutra ou vá até eles, não faça eles virem até o seu lugar. Queremos que eles estejam o mais confiantes possíveis.
Decida como irá manter as respostas
Cartões de User Stories, ou em aplicativos
Comunique o objetivo do encontro
Identificando e interagindo com stakeholders
Não identificar os stakeholders no início do projeto, sendo privado de informações que precisavamos é o principal motivo de falhas de projetos de software
Procure pelos que são afetados diretamente pelo sistema
Procure por pessoas que não interagem com o sistema diretamente mas são afetados por ele por estarem na mesma unidade da organização. Talvez tenham que mudar a forma como trabalham ou tenham que coletar novas informações
Procure na organização como um todo pessoas que tenham algum interesse ou tenham algum resultado vinculado a aplicação, que possam ter algo a dizer
Procure por organizações externas que podem afetar ou serem afetadas pelo sistema ( como agencias reguladoras )
Procure pelos clientes que utilizam a aplicação
Utilize o OrgChart da organização, procurando desde os niveis mais baixos se tem alguém que tenha decisão sobre o projeto. A pessoa que mais influenciar outras áreas é a mais propensa a ser considerada como ponto de partida.
Stakeholders podem ser qualquer um que tem algo a dizer sobre o projeto
Usuarios finais
Patrocinadores
Reguladores
Usuários formais
Aqueles que deixaram de usar a aplicação
Busque neles o porque eles deixaram a aplicação
Criadores
Usuários indiretos
O stakeholder ideal é o que tem mais influencia a maior quantidade de pessoas, com maior quantidade de tempo e interesse disponivel para o projeto
Não adianta ser o que tem mais autoridade, mas que nunca está disponível
Em geral é a pessoa com menor autoridade, mas com maior influencia nos stakeholders
Conduzindo a conversa com stakeholders
Jogando conversa fora (Rapport - small talk)
Se mantenha no tópico da conversa, não fuja do assunto
Lista de perguntas a serem respondidas
Comunicação não verbal
Esteja genuinamente interessado, porque a pessoa vai sentir se você nao estiver
Estudos mostram que ficar em uma posição de dominancia e grandeza por dois minutos muda seu humor
Diminua mal entendidos
Utilize técnicas de escuta
Saiba lidar com pessoas difíceis
Saiba usar perguntas abertas e fechadas
Perguntas abertas para obter o máximo de informação possível
Perguntas fechadas para confirmar o que você entendeu
Seja você mesmo
Você precisa estar confortável para se expressar bem
Comunicação não verbal
4 Cs da comunicação não verbal
Contexto
Pessoas podem estar com os brações cruzados por causa do frio e não por que estão bloqueadas
Cluster
Você não pode avaliar um sinal sozinho, eles vêm em grupo indicando a mesma coisa.
Cultura
Congruencia
Se o corpo está dizendo algo diferente das palavras escolhidas, o corpo possui mais verdade
Lidando com pessoas
Requisitos faltantes ou mal entendidos são a causa número de falha de projeto
Mal entendidos são um desperdício
Pessoas diferentes tem interpretações diferentes
Você não deve buscar que todos entendam, mas que todos encontrem um entendimento comum
Carateristicas que podem atrapalhar o processe de elicitação
Dominators
Pessoas que querem tomar o controle
Não é algo ruim em todas as situações apenas podem atrapalhar nessa.
Quitters
Pessoas que não concluem o pensamento
Pessoas que do nada perdem o interesse no projeto e não participam mais
Distracters
Pessoas que destraem a reunião
Desviam do foco principal
Talkers e Whisperers
Distraem o grupo por ficarem conversando paralelamente
Resistors e Doubters
Se opõem a qualquer idéia
Querem que a forma como eles pensam seja implementada
Desinteressed
Pessoas que não estão prestando atenção na reunião
Talvez não vejam urgência ou importancia no assunto
Podem se tornar distrações para o resto do grupo
Técnicas de escuta
Active Listening
Parafrasear
Ligações verbais: aham, ok, certo, nao
Acenos de concordancia
Mantenha contato visual
Highway 350
Você pode ouvir 500 ppm
Uma pessoa fala 150 ppm
Use os 350ppm faltantes para se importar em enviar sinais não verbais
Distrações
Emotional Bias
Você interpreta o que está sendo dito de acordo com o que sente e por isso perde informações importantes
Conirmation Bias
Ao ouvir algo você coloca no contexto que conhece e por isso pode perder informações importantes
Vivid Effects
Quando algo que você ouviu te fez lembrar de uma memória vívida e que te distrai
É impossível evitar qualquer tipo de distrações, mas esteja alerta aos tipos que podem surgir e tente não deixar ser distraído
Escutar é importante para estabelecer um entendimento comum
Information Listening
Saber pegar os conceitos e as palavras mais importantes em uma conversa
Você conversa com uma pessoa sabendo quais informações quer obter, e a medida que escuta descarta aquilo que não é necessário
No final da reunião termine mostrando o que você adquiriu da reunião.
Critérios de sucesso para comunicação efetiva
Esteja preparado com um objetivo realista
SMART
Seja voce mesmo
Fique no tópico
Entenda a linguagem do domínio
Gerencie bem o tempo
Se não deu tempo de conseguir tudo deixe pra outro dia, conclua mostrando o que coneseguiu
Esteja com mente aberta
Faça as perguntas certas, no tempo certo, para as pessoas certas
Em conversas por email ou IM
Esteja preparado
Fale por que você precisa das respostas
Deixe o entrevistado saber qual o seu papel
Deixe suas perguntas curtas e objetivas com exemplos de como você deseja a resposta
Deixe o número de perguntas pequeno (5-9)
Deixe as suas questões numericamente
Inclua uma questão aberta final: Alguma coisa que eu nao considerei?
Estabeleça um tempo para que as perguntas sejam respondidas. Se não forem, envie uma lembrete, se não forem faça suposições
Não esqueça de agradacer antes pelo tempo disponivel
Uma vez que tudo foi respondido, siga com mais perguntas ou conclua.
Definição do problema de negócioQu
Tente identificar qual o verdadeiro problema que está sendo resolvido assim como um médico tenta identificar qual a verdadeira doença
O que está errado? Quais são os sintomas?
Qurem sofre com o problema?
Quem pode afetar o problema?
Quem está interessado que o problema seja resolvido?
Quem não quer resolver o problema?
O que causou o problema?
Qual o problema real?