Conferência SC 24 | Estratégias de precificação: loja própria e marketplace
Documentar de forma ágil e simples
1. Globalcode – Open4education
Trilha – Análise de Negócios
Neiva Nessi
Analista de Negócios e Sistemas na CWI Software
Afinal, os detalhes são ou não importantes?
2. Globalcode – Open4education
Agenda
Diferenças da Documentação
Nos Métodos Tradicionais
Nos Métodos Ágeis
Casos de Uso x Histórias de Usuário
Documentação
Por que documentar?
O que documentar?
Como documentar?
3. Globalcode – Open4education
Características da
Documentação nas
Abordagens Tradicionais
A análise e a confecção da documentação é a
primeira fase, o que cria dependência com as
demais fases.
A documentação escrita é a principal fonte de
comunicação (requisitos/casos de uso).
Alto nível de detalhamento.
4. Globalcode – Open4education
O problema com isso é que muitas vezes essa
documentação é longa e cheia de padrões, o que
pode torná-la:
Cansativa para ler;
Difícil para escrever e, posteriormente, para manter;
Possui alto custo e;
Algumas vezes, compromete o orçamento e cronograma
do projeto.
Desvantagens da
Documentação nas
Abordagens Tradicionais
5. Globalcode – Open4education
Relembrar é viver...
• O problema é a documentação?
• A documentação escrita é uma forma de comunicação
suficiente?
• O problema é a falta de comunicação verbal entre os
envolvidos?
6. Globalcode – Open4education
Métodos Ágeis
XP (Final da década de 90) e SCRUM (2000)
Tomaram sua base no Manifesto Ágil.
Indivíduos e interações mais que processos e ferramentas
Software em funcionamento mais que documentação abrangente
Colaboração com o cliente mais que negociação de contratos
Responder a mudanças mais que seguir um plano
http://agilemanifesto.org/iso/ptbr/manifesto.html
Interpretação inicial pode ser errônea:
Uma mudança do “Documentar tudo” para o “Não documentar nada”.
A documentação escrita é algo ruim e ultrapassado.
7. Globalcode – Open4education
Casos de Uso e Histórias
de Usuários são Iguais?
Martin Fowler (que ficou conhecido pela autoria do livro
“UML Essencial”), afirma que Casos de Uso e Histórias
de Usuário são similares.
Ele afirma que ambos servem para organizar os requisitos.
https://www.martinfowler.com/bliki/UseCasesAndStories.html
8. Globalcode – Open4education
Existe relação entre
Casos de Uso e Histórias
de Usuários?
“Um pequeno caso de uso pode corresponder inteiramente
a uma história; no entanto, uma história pode ser um ou
mais cenários em um caso de uso, ou uma ou mais etapas
em um caso de uso.”
https://www.martinfowler.com/bliki/UseCasesAndStories.html
Por exemplo: Uma história pode ser um único cenário do
caso de uso, ou ainda uma versão “otimizada” do caso de
uso.
9. Globalcode – Open4education
Histórias de Usuário
Histórias de Usuário visam a segmentação do projeto (Itens
épicos, funcionalidades, etc). Elas não substituem a
documentação do projeto.
https://www.ibm.com/developerworks/community/blogs/rationalbrasil/entry/user-stories?lang=en
São ideais para a documentação dinâmica do projeto
durante a sprint/release.
https://agilemomentum.com.br/2015/02/14/voce-investiria-nas-suas-historias-use-o-invest-e-melhore-a-
qualidade-das-suas-user-stories/
11. Globalcode – Open4education
Em Resumo
Casos de Uso:
São mais indicados para projetos grandes e complexos, onde a
interação com o cliente (usuário) não possa ser tão freqüente
quanto exigido pelas histórias de usuário.
O detalhamento é feito previamente, em geral, antes do
desenvolvimento.
Histórias de Usuário:
Capturam o "quem", "o quê" e "por quê" de um requisito em uma
forma concisa e simples, geralmente limitada em detalhes, de
forma que possa ser escrita a mão em um pequeno cartão de notas
de papel.
O detalhamento é normalmente feito conjuntamente com o
desenvolvimento e testes.
12. Globalcode – Open4education
Qual Método Devemos
Usar?
Casos de Uso e Histórias de Usuário são similares em seus
propósitos. Não são “quase iguais”. São úteis para
diferentes contextos.
Não há por que “comparar” ou criar uma “equivalência”
entre ambas as formas de descrição.
Nenhuma documentação visual ou escrita substitui a
necessidade de comunicação entre a equipe.
13. Globalcode – Open4education
Em Um Mundo Ideal...
Casos de Uso Histórias de Usuário
Cliente exige documentação
formal?
Cliente deseja apenas documentação de
uso?
Orçamento fixo? Orçamento flexível conforme demandas?
Gestão de Projetos formal? Equipe auto-organizada e/ou auto-
gerenciável?
Projeto grandes e complexos? Projetos rápidos?
Escopo bem definido? Escopo ainda indefinido?
Poucas definições de mudança? Muitas mudanças?
Cliente/Usuários “sempre
ocupados”?
Cliente/Usuários dedicados?
14. Globalcode – Open4education
Na Vida Real...
eXtreme Go Horse (XGH)
1. Pensou, não é XGH.
2. Existem 3 formas de se resolver um problema, a correta, a errada e a
XGH, que é igual à errada, só que mais rápida. (...)
http://sou.gohorseprocess.com.br/
Como dividir as histórias de
usuários para que elas
possam ser desenvolvidas na
nossa sprint?
?
?
?
15. Globalcode – Open4education
Onde se encaixam os
detalhes?
A documentação no mundo atual deve ser
simplificada, direta, mais “leve”: não há como
escapar!
Exemplo: Manuais técnicos.
Como eram?
Diversos livros com especificações, modo de usar, etc..
Como são?
Uma folha dobrada (para caber na caixa) e manuais online
(quando existem).
A necessidade da comunicação com o “S.A.C.” se
mantém?
16. Globalcode – Open4education
Por que documentar
(ainda)?
Facilitar o uso do sistema pelos usuários;
Nivelar conhecimento da equipe de
desenvolvimento;
Garantir o futuro do sistema (facilitar futuras
manutenções);
Transmitir uma mensagem e evitar que se
esqueça de coisas importantes;
Extrair o conhecimento do usuário, analista de
negócios ou P.O..
17. Globalcode – Open4education
O que documentar?
Faça as seguintes perguntas a si mesmo:
É necessário ou serve somente para padronização?
Quem vai ler? Quem vai utilizar?
É o momento certo para fazer?
Deverá ser permanente ou temporária?
Quantas vezes teremos de atualizar?
18. Globalcode – Open4education
Como documentar?
Ops... melhor seguir estas dicas:
Documente na hora certa;
Documente somente o que gerar valor para o projeto;
Detalhe somente o que é necessário;
Atualize apenas o que permanece útil.
SIMPLICIDADE + PRECISÃO + CLAREZA + COERÊNCIA +
FACILIDADE DE CRIAR + FACILIDADE DE ENTENDER + ...
Basta seguir a fórmula:
19. Globalcode – Open4education
Como documentar?
Não documentar o que é óbvio.
Não faça uso de redundâncias.
Utilize software que gere documentação tais como:
modelos de classes, modelos de dados, etc.
Evite registros formais desnecessários (“Me
mande por e-mail por favor...”).
Não acredite no subentendido: Ninguém precisa
adivinhar nossos pensamentos. Detalhe, deixe
explícito, informe, comunique!
20. Globalcode – Open4education
O Que Vai Depender da
Forma de Documentação?
A análise deve estar sempre a frente do
desenvolvimento?
A experiência (ou inexperiência) do profissional
que gera a documentação influencia no resultado
final do software?
Aumentar o tempo dedicado para detalhar significa
gerar uma melhor documentação?
Casos de teste e testes automatizados podem ser
documentações úteis.
21. Globalcode – Open4education
Dica Útil Para Qualquer
Metodologia
Use e abuse de recursos multimídia (uma imagem
vale mais que um caso de uso?):
Use um quadro branco para desenhar diagramas;
Cole post-its para lembrar do que foi conversado;
Faça uma foto do esquema desenhado no quadro;
Crie protótipos visuais;
Grave uma conversa com o usuário.
22. Globalcode – Open4education
Para finalizar
Não há fórmulas mágicas, mas sempre deve haver
bom senso, flexibilidade e adaptação.
Ao final do desenvolvimento: guarde somente o
que faz sentido, o que ainda poderá ser
aproveitado e...
NÃO esqueça dos detalhes!