pontoNETpt
A comunidade PontoNetPT está direccionada a todos os programadores que trabalhem com a plataforma .NET.
Voltei a programar - A Construção do Sistema (Gestão de Projecto)

Se bem se recordam, nos dois posts anteriores abordei o modo como ataquei o problema de ter de realizar um projecto de forma ágil, como eu acredito que é mais produtivo e motivador, num enquadramento mais tradicional, de quatro fases: Concepção, Elaboração, Construção e Transição. Nos outros dois posts abordei as duas primeiras fases, vou agora falar da terceira.

A Construção

A fase de Construção foi aquela em que se tornou mais simples conciliar a agilidade com a formalidade.

Iniciei esta fase com a definição do planeamento detalhado de toda a fase de Construção (+/- 2 meses), o que não é muito ágil... No entanto dividi o planeamento em iterações semanais, tendo por base duas linhas orientadoras:

  • As user stories. As tarefas foram definidas em termos de implementar user stories, utilizando sempre a Linguagem Ubíqua e evitando termos técnicos. Por exemplo, não dividimos as tarefas em termos de camadas (UI, Negócio, BD), mas em termos de "Implementar Repositório de Templates", ou "Gerar documentos Word Mono-Conteúdo".
  • Obter um aplicação funcional em permanência. No fim de cada iteração, a aplicação teria de ter qualidade para passar a produção se necessário.... e fazer algo de útil.

Estas duas linhas orientadoras permitiram que a aplicação estivesse num estado "controlado", quase em permanência, e permitiu também que a aplicação estivesse "usável" quase desde a primeira iteração. Reparem que estas duas características, pelo menos na minha experiência, são difíceis de conseguir numa aplicação desenvolvida através do modelo tradicional, simplesmente porque estas duas características não fazem parte dos objectivos definidos ao longo do projecto, mas apenas no fim do projecto.

Para além disso, no início de cada iteração, ou seja, semanalmente, tinha uma reunião com o meu chefe, onde analisávamos a iteração anterior e, em função dessa iteração e das anteriores a essa, ajustávamos o planeamento. Neste caso em concreto, a diferença em relação ao normal não é muita. A diferença é que ajustávamos sempre o planeamento tendo como regra dividir as tarefas em iterações de uma semana. Tarefas que não estivessem terminadas numa dada iteração eram partidas em duas, sempre que possível.

Do ponto de vista de gestão do projecto, estas eram as grandes linhas. Por exemplo, no que diz respeito ao relacionamento com o cliente não havia grandes questões porque os clientes eramos nós... Posso afirmar que as duas linhas orientadoras que definimos tiveram uma importância fundamental no controlo (e sucesso) do projecto. É algo que recomendo vivamente, seja qual for (bom, já sabemos que hão-de existir algumas excepções...) o tipo de metodologia utilizada.

No próximo post abordarei a parte mais técnica do projecto, ou seja, a construção propriamente dita.


Posted 5-7-2005 8:23 por João Hugo Miranda

Comments

Anonymous wrote re: Voltei a programar - A Construção do Sistema (Gestão de Projecto)
on 1-7-2009 1:09
João, Parabéns pelo sucesso do projecto.

Ao ler este post, só me vinha uma palava à cabeça: Scrum, eventualmente por ser um grande defensor da metodologia Scrum, a qual de uma forma muito resumida é uma framework de gestão com princípios muito básicos.

A tua linha orientadora de ter no final de cada iteração um incremento de funcionalidade no produto, pronto para ir para PRD, é aquilo que a malta do Scrum designa de "sashimi" (origens japonesas), e quanto a mim é extremamente importante. Este facto, conjuntamente com a prioritização das funcionalidades por parte do cliente, traz grande valor para o negócio, pois as funcionalidades que o cliente valoriza mais, são aquelas que terá disponível mais cedo e o respectivo retorno do investimento.

Por curiosidade, tenho duas questões:
1) Qual era a dimensão da equipa?
2) O planeamento estava em forma de Gantt?

BFC
Anonymous wrote re: Voltei a programar - A Construção do Sistema (Gestão de Projecto)
on 1-7-2009 1:09
Oi João,

Parabens pelo teu post. A "metodologia" que utilizaste é a que eu quase sempre utilizo !!!
O "pessoal" por aqui está contente ;)

Isto de ter no final de cada iteração algo pronto para ir para PRD é optimo ;)

Um abraço
Anonymous wrote re: Voltei a programar - A Construção do Sistema (Gestão de Projecto)
on 1-7-2009 1:09
Olá BFC, :)

Julgo que referi a dimensão num post anterior, mas a dimensão era de uma pessoa, eu (com uma gestão ligeira do meu chefe). Um verdadeiro faz tudo. Por um lado foi bom, porque tive controlo sobre todo o processo e pude utilizar o projecto como case study. Por outro lado, eu sei que com uma equipa maior, as coisas podem ser diferentes. Mas o facto é que as práticas são ainda mais benéficas para equipas de vários elementos, como deves concordar.

O planeamento estava em forma de Gantt, até porque não tinha alternativa. Fez parte dos constrangimentos de conciliar com formalidade com agilidade... Tu costumas usar o quê?
Anonymous wrote re: Voltei a programar - A Construção do Sistema (Gestão de Projecto)
on 1-7-2009 1:09
João,

não é fácil na nossa cultura abandonar o Gantt. Actualmente estou num projecto em que estamos a usar Scrum. No Scrum, o Gantt não existe como artefacto, sendo substituido pelo Sprint Backlog. Básicamente o Sprint Backlog é uma folha excel onde constam as tarefas para o Sprint e o esforço que falta para concluir as mesmas. A visão do projecto como um todo está no Product Backlog, onde constam os requisitos. No nosso caso, fizemos uma estimativa inicial de identificação de qual o sprint que implementará determinado requisito.

Mas na maior parte dos projectos onde participei usei Gantt. Um destes projectos era extremamente instável em termos de requisitos. Eu bem sei o que passei na actualização diária do Gantt ;-)

BFC
Anonymous wrote re: Voltei a programar - A Construção do Sistema (Gestão de Projecto)
on 2-7-2009 1:47
João, Parabéns pelo sucesso do projecto.

Ao ler este post, só me vinha uma palava à cabeça: Scrum, eventualmente por ser um grande defensor da metodologia Scrum, a qual de uma forma muito resumida é uma framework de gestão com princípios muito básicos.

A tua linha orientadora de ter no final de cada iteração um incremento de funcionalidade no produto, pronto para ir para PRD, é aquilo que a malta do Scrum designa de "sashimi" (origens japonesas), e quanto a mim é extremamente importante. Este facto, conjuntamente com a prioritização das funcionalidades por parte do cliente, traz grande valor para o negócio, pois as funcionalidades que o cliente valoriza mais, são aquelas que terá disponível mais cedo e o respectivo retorno do investimento.

Por curiosidade, tenho duas questões:
1) Qual era a dimensão da equipa?
2) O planeamento estava em forma de Gantt?

BFC
Anonymous wrote re: Voltei a programar - A Construção do Sistema (Gestão de Projecto)
on 2-7-2009 1:47
Oi João,

Parabens pelo teu post. A "metodologia" que utilizaste é a que eu quase sempre utilizo !!!
O "pessoal" por aqui está contente ;)

Isto de ter no final de cada iteração algo pronto para ir para PRD é optimo ;)

Um abraço
Anonymous wrote re: Voltei a programar - A Construção do Sistema (Gestão de Projecto)
on 2-7-2009 1:47
Olá BFC, :)

Julgo que referi a dimensão num post anterior, mas a dimensão era de uma pessoa, eu (com uma gestão ligeira do meu chefe). Um verdadeiro faz tudo. Por um lado foi bom, porque tive controlo sobre todo o processo e pude utilizar o projecto como case study. Por outro lado, eu sei que com uma equipa maior, as coisas podem ser diferentes. Mas o facto é que as práticas são ainda mais benéficas para equipas de vários elementos, como deves concordar.

O planeamento estava em forma de Gantt, até porque não tinha alternativa. Fez parte dos constrangimentos de conciliar com formalidade com agilidade... Tu costumas usar o quê?
Anonymous wrote re: Voltei a programar - A Construção do Sistema (Gestão de Projecto)
on 2-7-2009 1:47
João,

não é fácil na nossa cultura abandonar o Gantt. Actualmente estou num projecto em que estamos a usar Scrum. No Scrum, o Gantt não existe como artefacto, sendo substituido pelo Sprint Backlog. Básicamente o Sprint Backlog é uma folha excel onde constam as tarefas para o Sprint e o esforço que falta para concluir as mesmas. A visão do projecto como um todo está no Product Backlog, onde constam os requisitos. No nosso caso, fizemos uma estimativa inicial de identificação de qual o sprint que implementará determinado requisito.

Mas na maior parte dos projectos onde participei usei Gantt. Um destes projectos era extremamente instável em termos de requisitos. Eu bem sei o que passei na actualização diária do Gantt ;-)

BFC

Add a Comment

(requerido)  
(opcional)
(requerido)  
Remember Me?
If you can't read this number refresh your screen
Enter the numbers above:  
Powered by Community Server (Commercial Edition), by Telligent Systems