Atenção: esse artigo tem um vídeo complementar. Clique e assista!
Uma visão geral do planejamento ágil que aborda as principais técnicas e práticas utilizadas nas metodologias ágeis para definir entregas e iterações que levem o projeto ao sucesso através do desenvolvimento de um software que atenda as necessidades do cliente.
Para que serve:
Melhorar o planejamento visando entender as necessidades e expectativas do cliente, descobrir as funcionalidades que o software deverá oferecer, definir a prioridade das funcionalidades a serem desenvolvidas e realizar entregas freqüentes que agreguem valor ao software como sugere o desenvolvimento ágil.
Em que situação o tema é útil:
O Planejamento é essencial para que um projeto de desenvolvimento de software seja bem-sucedido. As técnicas apresentadas neste artigo podem ajudar você e sua equipe a desenvolver software que ofereça ao cliente rápido retorno ao seu investimento.
Desenvolvendo com Agilidade:
O planejamento ágil tem como objetivo elaborar planos para que uma equipe de desenvolvimento de software possa freqüentemente entregar software que agregue valor ao negócio de seu cliente. Para isso um projeto ágil é dividido em vários releases ou entregas que contém diversas iterações. A cada iteração acontece uma reunião de planejamento em que através da estimativa e de técnicas de priorização define-se quais são as funcionalidades que deverão ser desenvolvidas na iteração. A equipe então discute cada uma das funcionalidades com o cliente para obter as informações necessárias para dar início ao desenvolvimento, e então as funcionalidades são implementadas, sendo entregues ao final da iteração. Em seguida, inicia-se uma nova iteração e o processo se repete até que todas as funcionalidades sejam desenvolvidas e entregues ao cliente.
O planejamento permite entender a expectativa do cliente em relação ao projeto e traçar estratégias para atendê-las, é o momento de entender as idéias e necessidades do cliente, descobrir as funcionalidades que o software precisará oferecer. Em um ambiente ágil, planejar é uma atividade constante. Dessa forma, é possível responder rapidamente às mudanças e realizar as adaptações que forem necessárias para que o software seja entregue com o máximo grau de qualidade e eficiência.
Nas metodologias ágeis os projetos são divididos em iterações curtas que geralmente têm uma ou algumas poucas semanas de duração. A cada iteração é realizada uma reunião de planejamento para definir o que será feito durante a iteração. O seu objetivo é identificar junto ao cliente o que poderá agregar mais valor ao seu negócio.
A seguir discutiremos em detalhes diversas técnicas e práticas utilizadas em metodologias ágeis.
A Visão do Projeto
Projetos nascem de idéias de pessoas. Idéias que geralmente nascem de tentativas de tornar um determinado processo mais eficiente. Os donos dessas idéias são chamados visionários, eles possuem a visão do projeto, entendem a necessidade e conhecem o problema que o software deve resolver. A visão revela para onde o projeto está indo e porque ele está indo.
Todo projeto possui um ou mais visionários, alguém que conseguiu enxergar uma necessidade e teve uma ideia de solução para suprir essa necessidade. Ainda que um projeto possua muitos visionários, é necessário que alguém tome a responsabilidade de promover e comunicar essa visão à equipe de desenvolvimento e a todos os outros interessados no projeto. Esse papel geralmente é de responsabilidade do gerente de projetos, do próprio cliente, ou de alguém que represente o cliente, na metodologia Scrum, por exemplo, a visão do projeto é responsabilidade do Product Owner.
É muito importante que o visionário esteja próximo a equipe de desenvolvimento para esclarecer as freqüentes dúvidas que surgem ao longo do projeto. Por isso, um dos princípios da Programação Extrema (XP) é ter o Cliente Presente. Uma vez que todos forem contagiados com a visão do projeto, as chances de sucesso se tornam muito maiores.
Existem três perguntas essenciais que o visionário precisa responder:
1. Que objetivo o projeto deve atingir?
2. Porque esse projeto agregará valor?
3. Como medir se o projeto foi bem-sucedido?
Para que a equipe possa desenvolver um software alinhado com a visão do projeto, é necessário que ela (a visão) esteja sempre acessível para todos, por isso a importância do visionário presente na equipe. Muitas equipes mantêm uma breve descrição da visão, como por exemplo, a resposta das três perguntas acima, em um wiki ou até mesmo impresso e anexado a um quadro; o importante é que esteja ao alcance de todos.
...