|
Comparação da Metodologia TenStep PGP®
com - Agile Desenvolvimento de Software
 |
A
TenStep PGP® é uma metodologia
para gerenciar trabalhos em projetos. Tem outras metodologias e
filosofias também disponíveis – algumas são similares e algumas
são complementares para a metodologia TenStep PGP®. O propósito desta
seção é para fazer uma comparação entre umas e outras
metodologias comum. A intenção é ser honesta e imparcial nas
descrições das diferenças e similares. Mas, se os leitores
tiverem opiniões diferentes ou maiores informações, por favor
envie-nos um e-mail para
feedback@tenstep.com.br |
Visão Geral -
Agile Desenvolvimento de Software
Nos últimos anos, foram publicadas um número de idéias, sobre
como fazer o processo de desenvolvimento de software mais
simples, mais fácil de implementar e mais responsivo às
necessidades do cliente. As metodologias de Programação Extrema,
Scrum e Cristal servem de exemplos. Dezessete pessoas que foram
na vanguarda deste pensamento, tiveram um encontro nos dias 11,
12 e 13 de fevereiro de 2001 em Utah no EUA. Este encontro foi
realizado para coletar e documentar idéias comuns sobre o
desenvolvimento de software. O resultado foi um manifesto de um
grupo de princípios de desenvolvimento de software e filosofias,
que foram copiadas abaixo.
|
Produtos
Metodologia
TenStep PGP®
Metodologia
TenStep PB™
Metodologia
LifecycleStep™
Metodologia
SupportStep™
Metodologia
ProcessStep™
Termos
e Condições de Uso
Software
cOrdin8
TenStep PPMO Solution
Outros Produtos
Produtos
de PMP Prep
Loja
Virtual
|
Enquanto que, a maior parte da filosofia tratar dos processos
atuais de desenvolvimento de software, alguns pontos tocam na
área de gerenciamento de projetos. Em geral, a metodologia TenStep PGP®, complementa estes processos de
desenvolvimento, na maioria das áreas. Há uma divergência de
opiniões nas outras áreas. Você poderá ler o manifesto da Agile
abaixo, junto com os comentários da TenStep, Inc., sobre como este
manifesto se relaciona com a a metodologia TenStep PGP®.
|
Manifesto da Agile Desenvolvimento de Software
Dezessete anarquistas concordam:
Nós estamos descobrindo, melhores maneiras de
desenvolver software e ajudando outros a desenvolverem.
Através deste trabalho nós viemos a valorizar: |
Metodologia
TenStep PGP® |
|
Mais os Indivíduos e as interações,
que
os processos e as ferramentas.
Mais o Software que funciona,
que a documentação detalhada.
Mais a Colaboração do cliente,
que a negociação do contrato.
Mais as Respostas às mudanças,
que seguir um plano. |
Na experiência da TenStep, Inc., os projetos múltiplos que são
executados em uma organização, têm uma possibilidade de
sucesso muito maior, se for utilizado um grupo de
processos consistentes, flexíveis e escaláveis. Se estes
processos já foram utilizados antes com sucesso, há uma
grande probabilidade de que eles sejam bem sucedidos
novamente. |
|
Isto é, enquanto nós valorizamos os itens acima do lado
direito, nós valorizamos ainda mais, os itens da
esquerda.
Nós seguimos os seguintes princípios: |
|
|
A nossa prioridade mais alta é satisfazer o cliente
através da entrega cedo e continua de um software
valioso. |
A filosofia Agile é para o desenvolvimento iterativo. Ou
seja, obter as exigências iniciais e criar um código que
funcione, seguidos por mais exigências e por mais
códigos que funcione. Isto é bom, mas o desenvolvimento
iterativo não é a melhor abordagem para todos os
projetos de software. Entretanto, onde puder ser
executado, deve ser tentado. |
|
As exigências de mudanças são bem-vindas, mesmo sendo
tarde no desenvolvimento. Os processos Agile controlam
as mudanças para a vantagem competitiva do cliente.
|
Sobre o desenvolvimento iterativo geral, as exigências
não necessitam serem finalizadas cedo. Entretanto,
conforme com o processo de desenvolvimento iterativo
tradicional, em algum ponto, as exigências necessitam
ser finalizadas para entregar algo. Nesse ponto, deve
ser utilizado o processo de gerenciamento de mudanças do
escopo.
NA Agile, as exigências de desenvolvimento podem mudar
em algum ponto. Isto é bom em um ponto de vista de
desenvolvimento, mas o gerenciamento de mudanças do
escopo é também utilizado para beneficiar o cliente. O
patrocinador do cliente concordou em financiar o
projeto, baseado em receber uma determinada solução, por
um determinado custo em uma determinada data. Se a
equipe do projeto continuar a aceitar as mudanças do
escopo por conta própria, o projeto poderá requerer mais
tempo e um custo muito mais elevado do que o concordado
pelo patrocinador.
O ponto é que, quando as mudanças de negócio acontecem,
a equipe do projeto deve estar preparada para responder.
Entretanto, as mudanças das exigências têm conseqüências
nos termos de orçamento e nas datas de entregas, e as
mesmas devem ser aprovadas pelo patrocinador. |
|
Entregar freqüentemente software que funcione. Por
exemplo, entregar software entre um período de duas
semanas até dois meses, dando preferência ao prazo mais
curto. |
A TenStep, Inc., recomenda que os projetos grandes
sejam fracionados em uma série de projetos menores.
Assim, cada um dos projetos menores poderá ser entregue
mais rápido e poderão reutilizar os mesmos processos.
Nem todos os projetos têm esta flexibilidade, mas a
preferência é fracionar os projetos grandes em projetos
menores, quando possível.
Os processos da Agile, podem ser utilizados para
entregar os deliverables em curtos ciclos. Alguns
projetos que utilizam a Programação Extrema podem ser
entregues em ciclos semanais. Isto pode ser difícil para
gerenciar e controlar, mas não há nada inerentemente
errado. |
|
Os clientes e os desenvolvedores trabalham juntos
diariamente durante todo o projeto. |
Esta é a melhor abordagem para permanecer a par, das
necessidades dos clientes. |
|
Construir os Projetos, em torno dos indivíduos muito
motivados. Dê-lhes o ambiente e o suporte necessário, e
confie que o trabalho será feito. |
Às vezes, as pessoas muito motivadas, sentem
dificuldades para entregar os projetos dentro dos
prazos. Elas focalizam em demasiado nos detalhes de
desenvolvimento e não o suficiente em gerenciar os
orçamentos e os prazos. Se as pessoas muito motivadas,
sempre concluíssem os seus projetos dentro dos prazos,
haveria uma porcentagem mais elevada de projetos bem
sucedidos. Às vezes você necessita colocar as pessoas
motivadas, em um ambiente mais estruturado onde elas
possam ser bem sucedidas. A TenStep, Inc. acredita que a
melhor abordagem, é construir projetos em torno das
pessoas motivadas, e se certificar então, de que elas
têm as ferramentas, os processos e as habilidades certas
para concluir o trabalho. |
|
O método mais eficiente e mais eficaz para comunicar as
informações á equipe de desenvolvimento, é comunicar
pessoalmente.
|
Não há duvidas, de que comunicar pessoalmente é a melhor
opção em muitas circunstâncias. Entretanto, há épocas em
que outros meios de comunicação são muito bons, por
exemplo, quando emitimos os relatórios de andamento
(Status) do projeto a 20 pessoas. Também, alguma
documentação relevante necessita ser escrita para ser
utilizada após o trabalho dos desenvolvedores serem
concluídos. Esta documentação deve ser somente de
informação importante. A documentação raramente é
mantida atualizada pela equipe de suporte, e assim
poderá transformar-se menos valiosa. |
|
A medida mais importante sobre o progresso do projeto
são as entregas de código que funcionam. |
No desenvolvimento iterativo, ter o software funcionando
no final de cada iteração é uma medida boa do progresso.
Entretanto, nem todos os projetos podem ser feitos
usando o desenvolvimento iterativo, por exemplo, um
pacote de implementação. Assim, a maioria dos projetos,
continua a monitorar o plano através dos Marcos
Principais, para assegurar que os projetos estão dentro
dos prazos concordados. |
|
Os processos Agile, promovem um desenvolvimento
sustentável. Os patrocinadores, os desenvolvedores e os
usuários, devem manter indefinidamente um ritmo
constante. |
O desenvolvimento através da Agile, força uma semana do
trabalho de 40 horas e um ritmo que será mantido
indefinidamente. Naturalmente, com o planejamento e o
gerenciamento apropriado, esta é a melhor abordagem. |
|
A atenção contínua na superioridade técnica e o bom
design realçam a agilidade. |
A superioridade técnica e o bom design são essenciais.
Entretanto, se as horas ou os processo de trabalho do
design, forem cortados devido a tentativa de produzir o
software (funcionando) mais rápido, isto poderá ser um
problema. |
|
Simplesmente - A arte de maximização da quantidade de
trabalho não feito – é essencial. |
Concordado. Os desenvolvedores de software e os
clientes, devem focalizar em entregar primeiramente as
exigências principais e mais importantes. Isto "maximiza
o trabalho não feito." Permite também que o software
seja entregue com maior rapidez. |
|
As equipes que são bem organizadas e que gerenciam a si
mesmo, produzem as melhores arquiteturas, exigências e
designes. |
Se todas as equipes tivessem um desempenho elevado e
tecnicamente superior, seria mais fácil de concordar com
este ponto. Entretanto, a maioria das equipes de
projetos, não tem o amadurecimento suficiente e não tem
o nível de habilidade adequado para desenvolver os
melhores designes e arquiteturas. As arquiteturas
necessitam serem desenvolvidas especialmente em um nível
organizacional ou empresarial. Se isto fosse deixado
para as equipes individuais, o resultado estaria
sobrepondo as tecnologias e virando um caos no nível da
empresa. |
|
Em intervalos regulares, a equipe reflete sobre como
transformar-se mais eficaz, então ajustam o
comportamento apropriado. |
Concordado. As equipes devem constantemente tentar
compreender as suas forças e fraquezas e tentar
compreender, como os processos de gerenciamento de
projetos, podem ser melhorados. A TenStep, Inc. também
acredita que estas recomendações de mudanças, devem
também ser aplainadas à organização, de modo que as
idéias de melhorias possam ser utilizadas por todas as
equipes. |
|
Kent Beck, Mike Beedle, Arie van Bennekum, Alistair
Cockburn, Ward Cunningham, Martin Fowler, James Grenning,
Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern,
Brian Marick, Robert C. Martin, Steve Mellor, Ken
Schwaber, Jeff Sutherland, Dave Thomas -
www.agilealliance.org |
|
Tudo que você precisa para
gerenciar projetos!
A TenStep Brasil oferece um número significativo de serviços de
consultoria para ajudar a sua organização a destravar o
potencial de seus processos de negócio. Todos os serviços serão
personalizados de acordo com as necessidades da sua organização.
Contate-nos para discutirmos sobre suas necessidades.
consultoria@tenstep.com.br
ou +55 51 3665 6242
|