Agile: A importância do contexto
Contexto é mais valioso do que qualquer documentação, por mais detalhada que ela seja.
Segundo o manifesto ágil, software funcional é mais importante do que documentação extensa. Ainda assim, a documentação é importante, e uma das principais formas de se fazer isso em metodologias ágeis é por meio das histórias de usuário, ou user stories. Independente de utilizarmos documentação formal de escopo ou histórias de usuário, o fato é que nenhum tipo de documentação, por mais detalhada que seja, conseguirá cobrir todos os detalhes que podem surgir durante o desenvolvimento de um projeto, produto ou feature.
E isso pode não ser culpa do P.O. (ou P.M., P.M.O., os nomes variam), na verdade, em muitos casos não é culpa de ninguém, pois é impossível antecipar todos os cenários possíveis que se pode encontrar num software, principalmente os de grande porte.
É aí que entra a importância do contexto: um time que está bem alinhado ao contexto da companhia, sua estrutura, produtos e as estratégias do produto/projeto poderá levantar os possíveis pontos não cobertos pela história de usuário, seja antecipadamente, durante o refinamento, ou de maneira mais tardia, durante o desenvolvimento.
No entanto, um time que não tenha esse alinhamento, poderá passar em branco sobre estes pontos, por simples desconhecimento, e acabar entregando funcionalidades com pouco valor ou gerar comportamentos inesperados. De qualquer maneira, estaremos sacrificando o produto, seja por não entregar o valor esperado, seja por retrabalho que pode prejudicar as próximas entregas.
Como dar contexto aos membros do time?
O contexto é algo impalpável e imensurável, então como podemos facilitar a contextualização dos membros do time e ter certeza de que todos tem o contexto, inclusive os mais novos?
Um dos problemas em falta de contexto são a terceirização completa para profissionais externos, pois estes são especialistas em entrega de software, no entanto, não tem o contexto completo. Neste caso, incluir os profissionais externos o máximo possível dentro da estrutura da empresa e do produto/projeto, apresentando as áreas da empresa, estrutura física, etc, pode ser muito útil na contextualização.
No caso de time interno, a receita é bastante parecida, soma-se aos pontos de apresentação da estrutura e do produto/projeto a facilitação do contato com outras áreas, pois nada é mais útil no entendimento do que conversar com quem faz cada função. Blindar o time é tentador, no entanto, pode acabar privando-os de informações importantes sobre o contexto da empresa.
Negociar apresentações das diferentes áreas da empresa, bem como promover visitas a outros departamentos, preferencialmente guiadas por alguém da área visitada, além de envolver os membros do time nas reuniões com os stakeholders podem ser excelentes ferramentas na contextualização.
O que se ganha com contexto?
Quanto mais incluídos os membros do time estiverem no contexto, mais rápido novos membros serão contextualizados, e mais pontos serão antecipados durante o refinamento do backlog, sprint planning e desenvolvimento das atividades, provocando reflexões no P.O. sobre pontos que poderiam escapar até que as histórias estivessem totalmente desenvolvidas, seja durante o review, seja na utilização em produção.
Os casos que se tornarem repetitivos, ou seja, gerarem o mesmo questionamento em diversas atividades, serão assimilados pelo próprio P.O., permitindo antecipar estes pontos no levantamento das histórias, mas ainda assim será impossível antecipar todos os detalhes na história de usuário e seus critérios de aceite. Por isso, encorajar atos de liderança em todos os níveis, somado a contextualização do time, permitirá alcançar resultados cada vez melhores.
Recentemente, promovi uma visita dos membros de meu time, que inclui um desenvolvedor em outro Estado, ao Centro de Distribuição da empresa, e no dia seguinte, já pude ver o ganho no nível de questionamentos que começaram a surgir em relação a um projeto que envolve a área logística, ou seja, o ganho foi imediato.
Além do ganho para o produto/projeto, a contextualização permite ainda um maior senso de pertencimento, de responsabilidade sobre o produto que está sendo construído e melhora o engajamento dos membros do time. Quanto mais uma pessoa se sente parte do contexto, mais ela se dedicará ao produto/projeto.