Metodologia Ágil para Documentadores (Technical Writers)

Metodologia Ágil para Documentadores (Technical Writers)

A metodologia Ágil de desenvolvimento de software está se tornando um lugar comum, mas levando em consideração que a grande maioria dos documentados não possuem qualquer experiência em desenvolvimento de software, ser jogado na metodologia Ágil pode ser assustador. Este texto é para os Documentadores que não tem familiaridade com o estilo Ágil de desenvolvimento de software e nem com os frameworks que sustentam esta metodologia. Processos, papéis, e outros temos comuns serão explicados.

Entender o desenvolvimento Ágil ajuda o documentador a ganhar confiança e assim, trabalhar de forma mais colaborativa com os especialistas para produzir uma documentação qualidade.

O que é Ágil?


Ágil é um termo guarda-chuva para uma metodologia de desenvolvimento de software iterativa (repetitiva) e incremental. A metodologia Ágil surge como alternativa às formas tradicionais de produção de software que eram baseadas em fases como o método “Casta”, que enfatiza o gerenciamento de cima para baixo em paralelo com a fase de criação de toda documentação técnica de requisitos e de arquitetura seguido pelo desenvolvimento do código e depois do teste daquilo que foi criado e da documentação para usuário. A metodologia Ágil dá ênfase ao trabalho de pequenas equipes que entregam pequenas portões que funcionam de um software com grande freqüência, enquanto se trabalha em colaboração do cliente e se adaptas às requisições de mudanças.

O Manifesto Ágil


O Manifesto Ágil declara o seguinte:

  • 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

Ou seja, mesmo havendo valor nos itens à direita, valorizamos mais os itens à esquerda.

Os princípios por trás do Manifesto Ágil

O Manifesto Ágil encarna 12 princípios:

  1. Nossa maior prioridade é satisfazer o cliente através da entrega adiantada e contínua de software de valor.
  2. Aceitar mudanças de requisitos, mesmo no fim do desenvolvimento. Processos ágeis se adequam a mudanças para que o cliente possa ter vantagens competitivas.
  3. Entregar software funcionando com freqüência na escala de semanas até meses, com preferência aos períodos mais curtos.
  4. Pessoas relacionadas à negócios e desenvolvedores devem trabalhar em conjunto e diariamente durante todo o curso do projeto.
  5. Construir projetos ao redor de indivíduos motivados. Dando a eles o ambiente e suporte necessário e confiar que farão seu trabalho.
  6. O Método mais eficiente e eficaz de transmitir informações, para e por dentro de uma equipe de desenvolvimento, é através de uma conversa cara a cara.
  7. Software funcional é a medida primária de progresso.
  8. Processos ágeis promovem um ambiente sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter indefinidamente passos constantes.
  9. A contínua atenção à excelência técnica e bom design aumenta a agilidade.
  10. Simplicidade: a arte de maximizar a quantidade de trabalho que não precisou ser feito.
  11. As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis.
  12. Em intervalos regulares a equipe reflete em como ficar mais efetiva, então, se ajustam e otimizam seu comportamento de acordo.

O que é Scrum?

Scrum (ato ou método de reiniciar algo) é uma forma popular do framework (estrutura) de desenvolvimento Ágil no qual equipes multi-funcionais desenvolvem produtos ou projetos de forma iterativa e incremental. Ele estrutura o desenvolvimento em ciclos chamados Sprints (corridas). Essas iterações não duram mais de quatro semanas cada (o mais comum é que sejam de duas semanas), se sucedendo sem pausa. As Sprints são time-boxed, elas terminam numa determinada data mesmo que o trabalho esteja terminado ou não, e nunca são estendidas.

No início de cada Sprint, uma equipe multi-funcional (de cerca de 7 pessoas) selecionam itens (requisitos de cliente) de uma lista priorizada, chama Backlog (carteira de trabalho). A equipe acorda coletivamente o objetivo que supõe alcançar ao fim da Sprint, algo que seja tangível e possa ser realmente “Concluído”. Durante uma Sprint, nada de novo deve ser adicionado, O Scrum acolhe mudanças somente na próxima Sprint, pois a pequena Sprint atual deve se concentrar em alcançar um objetivo pequeno, claro e relativamente estável.

Todos os dias a equipe se encontra para conferir os progressos realizados, e ajustar tudo que for necessário para concluir os passos seguintes para completar o trabalho que ainda falta. No fim de uma Sprint, a equipe revisa o que foi alcançado com os Stakeholders (interessados no projeto como um Gerente de Projeto, um Analista de Sistemas ou mesmo um Patrociandor, ou Cliente), e demonstram o que foi construído. A equipe assim, recebe o Feedback (uma resposta, ou opinião) que pode ser incorporado na próxima Sprint.

O Scrum enfatiza o produto “Concluído” funcionando ao fim da Sprint, no caso de um software, isso significa um sistema integrado completamente testado com documentação de usuário pronta e potencialmente entregável.

Papéis do Scrum

Product Owner: O Product Owner é dono do produto. Ele fornece o conhecimento do negócio em forma de requistos para a equipe, assim como sua ordem de aplicação. Na prática, o Product Owner é a interface entre a empresa e os clientes. 
Ele alimenta a equipe com requisitos e correções solicitadas por diversas fontes. É ele o ponto de contato para esclarecimento das dúvidas da equipe sobre os requisitos do produto.
Trabalha em conjunto com a equipe definindo as necessidades dos usuários, os requisitos técnicos, documentando-os conforme a necessidade, e determinando a ordem de sua execução.
Ele gerencia o Product Backlog (que é o repositório de todas essas informações), mantendo-o ao nível de detalhe e qualidade que a equipe necessita.
O Product Owner também define o cronograma para liberação das releases, e faz a validação final para saber se as implementações têm as características e qualidade necessárias para a liberação.

Scrum Master: O Scrum Master é o guardião do processo. Ele é responsável por fazer o processo correr bem removendo os obstáculos que atrapalham a produtividade da equipe, organizando e facilitando as reuniões.
As responsabilidades do Scrum Master incluem:

  • Remover as barreiras entre a equipe e o Product Owner.
  • Ensinar o Product Owner como maximizar o retorno sobre o investimento (ROI), e cumprir seus objetivos através do Scrum.
  • Facilitar o trabalho da equipe removendo impedimentos que impeçam a equipe de trabalhar.
  • Melhorar a produtividade da equipe da forma que for possível.
  • Melhorar as práticas de engenharia e ferramentas para que cada incremento de funcionalidades seja potencialmente entregável.
  • Manter as informações sobre o progresso da equipe visível a todos de uma forma clara e organizada.
  • O Scrum Master não atribui tarefas aos membros da equipe, isso é uma responsabilidade da equipe. Sua abordagem geral para a equipe é incentivá-la e facilitá-la na capacidade de tomada de decisões e resolução de problemas relacionados ao desenvolvimento, de modo que eles possam trabalhar com maior eficiência sem a necessidade de supervisão. Seu objetivo é ter uma equipe auto-organizável.

Equipe: A equipe, no framework Scrum, deve ser auto-organizada e multidisciplinar, composta por pessoas que fazem o trabalho de desenvolvimento, teste e documentação do produto.

Uma vez que a equipe é responsável pelo desenvolvimento do produto, ela também deve ter a autonomia para tomar decisões sobre como executar o seu trabalho. A equipe possui, portanto, auto-organização: os membros da equipe decidem como dividir o trabalho em tarefas, e ao longo da sprint decidem a ordem de execução das tarefas em função da história que está sendo desenvolvida, respeitando sempre a prioridade.

O tamanho da equipe deve ser mantido até nove pessoas, se possível. Um número maior pode dificultar a comunicação e afetar a produtividade.

Termos do Scrum

Sprint Plan: O que queremos entregar? (Stories) E como vamos fazer isso? (Tasks)

Stories: São itens do Product Backlog que representam parte do produto a ser implementado. As Histórias devem conter uma descrição detalhada do que deve ser implementado.

Tasks: Cada história em cada Sprint deve ser quebrada em tarefas que representam no máximo 1 dia de trabalho de um membro da equipe de desenvolvimento.

Sprints: Representa um ciclo de trabalho no Scrum. Esse ciclo pode ser de 2 semanas, 3 ou 4 semanas, que é o time-box das Sprints. As Sprints devem ter sempre a mesma duração.

Daily Scrum: Reunião realizada diariamente, preferencialmente no início da manhã ou ao final do dia.com participação da Equipe de Desenvolvimento e do Scrum Master. A reunião é realizada com todos os participantes de pé, de duração máxima de 15 minutos. O objetivo dessa reunião é comunicar o andamento dos trabalhos deixando-o transparente para todos da Equipe de Desenvolvimento. Nesta reunião os membros da equipe assumem compromissos com os demais. Respondendo a 3 perguntas:

  • O que você fez ontem?
  • O que você fará hoje?
  • Há impedimentos no seu caminho?

Sprint Review: Demonstração aos Stakeholders do que foi feito no projeto. São reportados o status e situação do projeto e são realizadas demonstrações. Onde se recebem os feedbacks pra as próximas Sprints.

Reunião Retrospectiva: Duração máxima de 2 horas para Sprints de time-box de 2 semanas. O objetivo é inspecionar a Sprint encerrada para permitir a adaptação. Nessa reunião a Equipe deve levantar os pontos positivos e negativos da Sprint e ao final da discussão deve-se ter como resultado final uma lista de ações para melhoria do processo como um todo.

Story time: Momento para analisar e refinar o backlog
Inspecionar e Adaptar: Esta frase é o coração do processo continuo que é o método Ágil. O framework Scrum oferece a oportunidade através das Sprints de inspecionar e adaptar as coisas como uma equipe, como um indivíduo e como um produto.

O que é Kanban?

O Kanban é mais um método Ágil para gerenciar a criação de produtos com ênfase na entrega contínua enquanto não sobrecarregam a equipe de desenvolvimento. Como o Scrum, o Kanban é um processo pensado para ajudar as equipes a trabalharem melhor juntas de forma mais efetiva oferecendo:

  • Uma forma visual de perceber o Fluxo de trabalho
  • Quebrando o trabalho em pedaços descritos num quadro posto numa parede
  • Utilizando colunas com nomes para ilustrar onde cada item está no fluxo de trabalho


Através deste dispositivo pode-se:

  • Visualizar o limite do trabalho em processo (WIP), sabendo-se assim a quantidade máxima de itens que podem estar em processo em cada fase do fluxo.
  • Medir o tempo estimado para completar um ítem e otimizar o processo para tornar o lead time(1) menor e mais previsível o possível 

(1) Lead time é o tempo necessário para que um produto evolua da concepção ao lançamento, do pedido à entrega ou da matéria-prima ao cliente e inclui o tempo de processamento e o tempo de fila.

Scrum + Kanban

Algumas equipes de desenvolvimento de software criaram um sistema híbridos de Scrum com Kanban chamados de Scrumban:

  • Utilizando a natureza prescrita do Scrum para ser Ágil
  • Utilizando o poder de melhoria de processo do Kanban para permitir que a equipe melhore seu processo continuamente.

Ferramentas

As ferramentas utilizadas para gerenciar um projeto Ágil vão de notas adesivas e lousas até sofisticados softwares que ajudam as equipes a controlar todo o projeto. Uma breve pesquisa na internet sobre softwares para projetos ágil oferecer mais de 11 milhões de resultados em artigos, ferramentas, comparações e blogs. Os Documentadores com algum entendimento básico sobre a metodologia Ágil e vontade de aprender podem incorporar à sua rotina praticamente todas as ferramentas que os desenvolvedores estão utilizando em seu dia-a-dia.

Fontes

Sueli Ruiz Fernandes Gomides

Redatora Técnica | Analista de Documentação | Perícia em Grafoscopia e Documentos | Biometria Digital | Documentoscopia Digital

8 a

Sim são entregas num curto período por isso precisa ter a colaboração de todos os envolvidos.

Lucas Pereira

Design Instrucional | Treinamento & Desenvolvimento | Educação corporativa | LMS | Articulate 360 | JavaScript | Escritor Técnico Sênior | Comunicação Técnica |

8 a

Há colegas que odeiam, a maioria, e há os que adoram trabalhar na metodologia Agil. Para mim, é uma forma de ter um texto enxuto, com conteúdo necessário e objetivo para o que se está desenvolvendo. Agora, esta metodologia não permite preciosismos e nem avanços de valor no conteúdo, pois o tempo e as entregas pequenas engolem uma porção da qualidade.

Sueli Ruiz Fernandes Gomides

Redatora Técnica | Analista de Documentação | Perícia em Grafoscopia e Documentos | Biometria Digital | Documentoscopia Digital

8 a

Já tive a oportunidade de trabalhar com o Scrum e é bem interessante o resultado no final do projeto.

Entre para ver ou adicionar um comentário

Outras pessoas também visualizaram

Conferir tópicos