Continuous Feedback usando Visual Studio 2012

11 de outubro de 2012 Por Ramon Durães

O cliente 3.0 representa o modelo conectado de usuário que já conhece tecnologia, usa redes sociais e provavelmente está provocando a consumerizacão dentro da organização levando seu dispositivo pessoal para o trabalho. Esse novo cliente é altamente exigente e tem provocado mudanças rápidas na forma que construímos o negócio.

Para responder a essa mudança dentro do contexto da nova TI Dinâmica que precisa agir rápido com entregas de tecnologia saciando as novas necessidades do negócio é necessário construir uma comunicação com o cliente quase One-on-One. Ao longo da história essa relação entre desenvolvedores e área usuária sempre foi cercada de conflitos de entendimento e, principalmente,  distância de visão entre o que precisa ser feito e o que realmente está sendo entregue.

O primeiro passo para romper essas barreiras já tem sido alcançado dentro das metodologias ágeis provocando uma maior aproximação das partes com a troca de feedback mais efetiva o que resulta em um melhor direcionamento do negócio criando software conforme a evolução do valor de negócio. Só para você ter ideia, temos pesquisas apontando que em projetos tradicionais cerca de 30% das funcionalidades implementadas não foram solicitadas pelos clientes sendo descartadas, pois os mesmos não consideram valor de negócio.

O ponto importante que você precisa ter em mente é que feedback não deve ser encarado simplesmente como registro de bug, e, sim, alinhamento constante das entregas. Estamos dando um passo à frente  alinhando e mantendo a tecnologia o mais próxima do negócio para que possamos acompanhar e guiar conforme o negócio for evoluindo. Esse é o primeiro passo para pensarmos em Business as a servisse (BaaS).

Agora chegou o momento de trazer esse entendimento para o nosso ciclo de desenvolvimento de software e mostrar como podemos usar a tecnologia para modernizar a comunicação com o nosso cliente. Essa conexão é feita usando o conceito de Agile Application Lifecycle Management (ALM), onde conseguimos ser ágeis, colaborativos e, principalmente, ter uma gestão integrada, assim como focando em qualidade em todos os passos do projeto.

O Team Foundation Server é a nossa plataforma que endereça as questões de ALM criando um elo entre todas as pessoas que participam dos projetos de desenvolvimento, sejam usando o Microsoft .NET Framework (Visual Studio), Java (Eclipse) e outras tecnologias, proporcionando uma experiência ágil e conectada, favorecendo o principal ponto no projeto que é a colaboração entre as pessoas.

Toda a comunicação em um projeto usando o Team Foundation Server é mapeada usando registros chamados de Work Items, que de acordo com a metodologia de desenvolvimento adotada terá características especificas. Nesse momento estou usando o “Visual Studio Scrum 2.0” que traz os Work Items (Product Backlog Item, Task, Impediment, Bug,Test Case, Feedback Request, Feedback Response).

Para cada projeto de desenvolvimento criado no Team Foundation Server você tem acesso a um portal de colaboração, conforme descrito na Figura 01.

Nesse portal encontramos um resumo do projeto estilo dashboard para acompanhamento e uma das opções que encontramos é o Request Feedback para construir a nossa comunicação com o Product Owner (PO).

 
Fig01
Figura 01 – Solicitando um feedback

Após clicar no link para solicitar o feedback aparece a opção para informar o usuário ou e-mail, qual aplicação em questão que pode ser um link web e depois o item que você deseja o feedback, conforme descrito na Figura 02.

Após enviar o e-mail o cliente vai receber a notificação e terá link para instalar a aplicação de feedback caso não tenha feito ou iniciar o processo de feedback.

 
Fig02
Figura 02 – Solicitando um feedback

Após confirmar será gerado um registro de solicitação “Work Item” dentro do Team Foundation Server, conforme pode observar na Figura 03, permitindo um acompanhamento integrado de toda a comunicação com o cliente.

 
Fig03
Figura 03 – Solicitando um feedback

Na prática ele criou um Work Item de número 96 do tipo Feedback Request. Quando o usuário responder, a resposta irá gerar um novo registro de Work Item do tipo Feedback Response com relacionamento ao Feedback Request.

Ao receber o e-mail com o pedido, o cliente acionará a ferramenta seguindo as instruções e ela vai carregar conforme está observando na Figura 04, na parte esquerda da imagem.

Fig04
Figura 04 – Ferramenta de feedback rodando no cliente

Após avançar você verá a ferramenta de feedback em mais detalhes conforme a Figura 05, podendo capturar a tela, gravar a voz, vídeo e fazer comentários relacionando com as evidências para ajudar a tornar o feedback o mais claro, reforçando o nosso objetivo que é facilitar e integrar a comunicação evitando desperdício do projeto.

 Fig05
Figura 05 – Ferramenta de feedback

Como pôde observar, você pode capturar uma tela, gravar voz, escrever comentários e construir um feedback rico com as informações necessárias para que a comunicação possa fluir o mais rápido.
 
Fig06
Figura 06 – Capturando uma evidência para construir o feedback

Após finalizar, o resultado é levado para a ferramenta de feedback, conforme você pode observar na Figura 07.

 
Fig07
Figura 07 – Feedback

O próximo passo é complementar com as informações que ache importante, definir um Rate e depois confirmar o envio para o servidor do Team Foundation Server. Se você olhar no dashboard do projeto ele já estará aparecendo, conforme a Figura 08.

 

 Fig08
Figura 08 – Visão do feedback aparecendo no dashboard do projeto

Se acessar o registro do Feedback Respose terá todas as informações coletadas do usuário já integradas dentro do seu ciclo de desenvolvimento, conforme pode conferir na Figura 09.

Fig09 
Figura 09 – Visualizando o feedback recebido

Agora que já está com o feedback integrado, vai entender a importância e como pode usar a tecnologia a seu favor.
Conforme falei com vocês os negócios estão evoluindo muito rápido e cabe a nós respondermos o quanto antes. Nesse modelo podemos usar esse feedback e já gerar um novo item de backlog, conforme a Figura 10, representando uma evolução da visão do cliente ou, se preferir, um bug e tudo isso relacionado permitindo ampla rastreabilidade sem você se preocupar com isso.

 
Fig10
Figura 10 – Criando outro Work Item relacionado baseado no feedback.

Escolhendo a opção Product Backlog o feedback vai se transformar em informações para que o Product Owner (PO) atualize a sua visão e construa com o time um relacionamento integrado e sádio.
Confira na Figura 11 o novo Work Item de Product Backlog.

Fig11
Figura 11 – Criando um Backlog

Conforme você observou, com o Continuous Feedback passamos a contar com um grande elo entre os desenvolvedores de software e os clientes solicitantes, padronizando e distribuindo os feedback entre todos os participantes do projeto, permitindo a área de desenvolvimento evoluir de forma integrada às necessidades de negócio que estão em constante mudança dia a dia.
A grande proposta de valor de um ambiente de colaboração baseado em Agile Application Lifecycle Management é justamente simplificar o dia a dia nos projetos de desenvolvimento de software.

[],
Ramon Durães
MVP, Visual Studio ALM
PSM, PSD, CSD
Diretor executivo na 2PC