Primeiro Passo: Saber o que é essencial ao processo ...
1.
Saber
identificar o que se deseja – VISÃO do projeto
Alguns artefatos podem nos ajudar nesta tarefa:
·
A
correta forma de comunicação (um GLOSSÁRIO
ajuda)
·
Qual
problema espera-se resolver?
·
Quem
são os envolvidos (clientes, usuários, desenvolvedores)?
·
Quais
são as características do produto? (USE CASES)
·
Quais
são os requisitos não funcionais?
·
Quais
são as limitações do projeto?
Neste momento, o grupo será capaz de levantar a essência dos requisitos
e da melhor conduta para gestão do projeto.
2.
Saber
como dimensionar o projeto de software – ARQUITETURA pretendida
·
O
projeto arquitetural do sistema pretendido
define a organização ou estrutura dos componentes mais relevantes, a forma de
interação entre eles (interface), e os subsistemas.
·
Em
geral, ajuda questionar: quais são os principais pedaços do sistema? Como eles
se comunicam? Existe algum esquema geral onde o sistema proposto se encaixe?
·
Tal
arquitetura traz múltiplas visões: usuários finais, projetistas, gerentes,
engenheiros, mantenedores, etc.
·
Inicia-se
com uma arquitetura candidata, prosseguindo com refinamentos sucessivos.
3.
Saber
como a gestão do projeto se dará
Alguns artefatos
poderão ajudar nesta tarefa:
·
Avaliar
o escopo e risco inerente ao projeto – LISTA DE RISCOS
·
Monitorar
e controlar o projeto – algumas métricas para
medição do progresso do projeto + Planos específicos para cada ITERAÇÃO
Aqui você tem a
essência da gerência definida!
4.
Aplicar
uma rotina de construção de código + teste contínua (ITERATIVA)
UP1 é iterativo, entende-se que a construção (build) e teste das
versões do produto sejam realizados em prazos curtos para fins de rápida
detecção de problemas e/ou inconsistências com as demandas do cliente.
5.
Saber
como controlar mudanças – GESTÃO DE VERSÕES
Toda
e qualquer mudança no código (também em outros artefatos) deve ser controlada e
efetivamente gerenciada. Sugere-se que ferramentas sejam usadas (por exemplo, CVS).
Mudança
é uma das certezas que se tem no desenvolvimento de software!
6.
Entregar
o produto CERTO ao cliente
A meta do processo é gerar um produto CORRETO. Todas as atividades do
processo deverão levar isto em conta! O produto final obtido é mais do que um
software, envolve também:
·
um
Guia do Usuário (help online, pelo menos)
·
um
Guia para Instalação
·
uma
definição sobre a versão liberada.
Os
aspectos essenciais do processo deverão nos oferecer uma conduta de como
identificar áreas onde melhorias devem ser buscadas para alcance do produto
desejado. Caso algum desses aspectos seja ignorado, alguns problemas poderão
surgir:
·
Ausência
de uma visão – você corre o risco de se perder no caminho, caindo em trilhas
indesejáveis
·
Ausência
de um plano das iterações – você terá dificuldades em acompanhar o progresso do
projeto
·
Ausência
de uma arquitetura – você terá dificuldades para gerencias aspectos de
comunicação, sincronização e acesso aos dados. Terá também problemas com escala
e desempenho
·
Ausência
de uma lista de riscos – você poderá estar com foco em aspectos errados,
guardando alguma bomba que poderá explodir a qualquer momento
·
Ausência
de um produto (protótipo) – apenas acumular artefatos em papel não dará a
certeza ao cliente de que você é capaz de construir um produto de sucesso
·
Ausência
de métricas e avaliações – não esconda
a cabeça embaixo do travesseiro. É importante que a verdade seja conhecida
·
Ausência
de um controle de versões – como você poderá controlar mudanças?
·
Nenhum
suporte ao cliente – o que vai acontecer se o cliente não puder usar o seu
produto?
Segundo
Passo: Começar o seu projeto ...
Algumas dicas:
1.
Antes
de começar o projeto: definir quem são as pessoas envolvidas com o processo,
seus papéis, recursos que necessita, disponibilidade de tempo, necessidades de
treinamento. Isto é crucial para o sucesso do projeto. Se os membros do projeto
não sabem o que fazer, provavelmente não sairão do lugar!
2.
Fase
de Planejamento: Nesta fase o foco é procurar entender quais são os requisitos
e como o projeto deve ser gerenciado.
3.
Fase
de Elaboração: Ao final desta fase, todo o processo e as ferramentas estarão
OK. O mais crítico aqui é colocar em funcionamento um ambiente onde as mudanças
estejam sendo controladas. Lembre-se que na fase que vem a seguir, vários
membros do projeto estarão desenvolvendo coisas em paralelo!
4.
Fase
de Construção: Nenhum novo processo ou ferramenta será introduzido. O foco é
FAZER o produto. Tudo deve ser feito num ambiente de desenvolvimento estável e
com pessoas motivadas.
5.
Fase
de Transição: Nenhum novo processo ou ferramenta será introduzido. Nesta fase,
além de repassar os resultados ao cliente, o foco é ganhar maturidade com o que
foi realizado até então. A reunião dos envolvidos numa avaliação final é
importante (post-mortem), sumarizando e empacotando as recomendações de forma
que possam ser usadas em projetos futuros (ou mesmo em iterações tardias).