adelia_santos_askblue

Desenvolvimento centrado em negócio com Story Mapping

Story Mapping é uma técnica que consiste em criar e priorizar user stories, do ponto de vista dos utilizadores e alinhadas com as necessidades de negócio. Adélia Santos explica as vantagens da sua aplicação.

Uma das vantagens da implementação do desenvolvimento de software em Agile é a divisão de grandes conjuntos de requisitos em fatias mais pequenas e verticais de funcionalidades, permitindo uma construção incremental do produto e em que todos os participantes podem acompanhar o resultado do trabalho realizado em cada iteração.

Esta visibilidade ajuda a incentivar uma maior participação dos utilizadores e áreas de negócio no projeto. No entanto, quando começamos a decompor os requisitos, a construção do product backlog pode ficar confuso e ter consequências negativas, uma vez que facilmente se pode perder a visão geral do produto, o que o software deve fazer e como as user stories se devem relacionar de forma coerente, podendo levar ao desenvolvimento de um software que não adiciona valor a negócio.

Story Mapping é uma excelente técnica que consiste em criar e priorizar user stories, do ponto de vista dos utilizadores e alinhadas com as necessidades de negócio.

O ovo de Colombo do story mapping

Story mapping é um método inventado por Jeff Patton e consiste numa técnica utilizada em desenvolvimento de software em Agile, que ajuda a equipa a entender e sistematizar o âmbito do projeto. Complementa as atividades de uma equipa Scrum permitindo reunir uma lista de objetivos na perspetiva do cliente e com o foco no valor de negócio. Um workshop de story mapping é realizado em sessões de dois a três dias, dependendo do objetivo que se pretenda atingir, devendo ser realizada com a equipa técnica, Product Owner, Business Analysts e especialistas de UX.

Vantagens do Story Mapping

Visão global – disponibiliza uma visão holística e espaço para pensar em como as user stories se relacionam;
Versatilidade – pode ser utilizado em várias fases de um projeto, como, por exemplo, num workshop inicial para sistematizar a visão de produto ou aplicado num contexto mais reduzido para redefinir e priorizar as user stories que integram o product backlog;
Conhecimento partilhado – permite construir um entendimento partilhado das funcionalidades a desenvolver e como estas se relacionam. Faz com que os participantes compreendam melhor a visão do produto e promove o debate entre as áreas de negocio e as equipas de IT;
Foco no valor de negócio – permite identificar as dependências e prioridades entre user stories, evitando que a entrega de uma funcionalidade fique condicionada pela dependência de outra, que embora com menor valor de negócio possa impedir a utilização do produto pelos utilizadores.

Criar um Story Mapping

Na construção do story mapping é criada uma visualização simples que suporta a discussão, começando a debater-se os objetivos, as grandes ideias e princípios do produto a desenvolver.

Ao longo do eixo horizontal, e por prioridade, são descritas as atividades que o utilizador pretende realizar no software. No eixo vertical os detalhes associados a cada atividade, que ajudam a criar um backlog mais refinado. A dinâmica é centrada nos utilizadores e fomenta o debate sobre a melhor forma de entregar valor de negócio no mais curto espaço de tempo.

O resultado é uma estrutura simples, em forma de matriz, que conta uma história da esquerda para a direita e a divide em detalhes de cima para baixo.

Narrar a história numa perspetiva futura, i.e., tendo como pressuposto de que forma os utilizadores pretendem realizar as atividades no software a desenvolver, permite explorar os detalhes e as opções, reduzir lacunas, identificar dependências entre atividades e repriorizar o trabalho a desenvolver.

Esta técnica permite ainda identificar o conjunto de funcionalidades que garantem a entrega de uma primeira versão do software que constitua o MVP(Minimum Valuable Product), garantindo entregas significativas e que permitam aos utilizadores realizar uma jornada.

A principal prioridade no desenvolvimento de software em Agile consiste em satisfazer o cliente através da entrega antecipada e contínua de valor. É uma estratégia baseada em colocar o cliente no centro do negócio.

Adélia Santos
Advanced Certified ScrumMaster da askblue

Share on linkedin
Share on facebook