Vous êtes sur la page 1sur 19

ISSN: 1646-8929

IET Working Papers Series No. WPS09/2009

Mrio Rui Sampaio Toms (FCT-UNL)


(e-mail: mariotom_net@hotmail.com )

Mtodos geis: caractersticas, pontos fortes e fracos e possibilidades de aplicao

IET Research Centre on Enterprise and Work Innovation Centro de Investigao em Inovao Empresarial e do Trabalho Faculdade de Cincias e Tecnologia Universidade Nova de Lisboa Monte de Caparica Portugal

Mtodos geis suas caractersticas, pontos fortes e fracos e possibilidades de aplicao1 Mrio Rui Sampaio Toms (FCT-UNL)

NDICE:
Resumo: ............................................................................................................... 3 Abstract: ............................................................................................................... 3 1 2 Introduo: ..................................................................................................... 4 Metodologia gil ............................................................................................. 5

2.1 Caractersticas fundamentais a encontrar em equipas geis.............................................. 6 2.2 Modelos geis de Processo ............................................................................................................... 7 2.2.1 Extreme Programming (XP) ........................................................................................................... 7 2.2.2 Scrum ......................................................................................................................................................... 8 2.2.3 Feature Driven Development ( FDD ) ......................................................................................... 8 2.2.4 Dynamic Systems Development Method ( DSDM) ................................................................. 9 2.3 Justificaes acerca das empresas presentes no documento ............................................. 9 2.4 Vantagens e desvantagens ............................................................................................................. 10 2.5 Mtodo de escolha ............................................................................................................................... 12

3 4 5 6

Introduo do processo gil numa organizao ............................................. 14 Ferramentas que suportam a Metodologia gil ............................................. 15 Concluses .................................................................................................... 17 Referncias ................................................................................................... 18

Trabalho realizado sob orientao do Prof. Antnio Brando Moniz para a disciplina Factores Sociais da Inovao do Mestrado Engenharia Informtica realizado na Faculdade de Cincias e Tecnologia da Universidade Nova de Lisboa

Resumo:
Os mtodos geis esto cada vez mais a ser discutidos pelas empresas, sendo que muitas tm receio de adoptar esta metodologia, devido s dificuldades na reestruturao organizacional. Sero aqui discutidos caractersticas, alguns pontos fortes e fracos desta abordagem, quando deve ser escolhida, bem como os meios informticos que ajudam implementao da mesma. Ficar reforado que este mtodo tem aplicao prtica e que ganhar vrios adeptos nos prximos tempos. Este , por excelncia, o mtodo para projectos de pequena e mdia dimenso para a Web, com cada vez mais empresas a apostar em criar ferramentas para a aplicao destes conceitos. Estas ferramentas tm de assentar no controlo do estado das tarefas e funcionalidades para determinada release e na distribuio delas pelas equipas de trabalho. tambm fundamental permitir que o cliente ajude de modo integrado com a aplicao a capturar requisitos para serem resolvidos pelas equipas de trabalho.

Abstract:
Agile methods are increasingly being discussed by companies, and many are afraid to adopt this approach due to the difficulties in organizational restructuring. In this working paper some characteristics, strengths and weaknesses of this approach will be discussed, as well as when it should be chosen, and the IT tools that help to implement it. It will be reinforced that this method has practical application and that it will gain more followers in the near future. This is, par excellence, the method for small-and medium-sized projects for the Web, and many companies are investing in the creation of tools for applying these concepts. These tools must be based on monitoring the status of tasks and functionalities for a given 'release' and the distribution of these tasks and functionalities to work teams. It is also essential to allow the client to help in an integrated manner with the application to capture the application requirements to be solved by work teams. Key-words: Agile methods; organizational restructuring JEL codes: M15; O31

1 Introduo:
At cerca do ano de 2001, a maioria dos modelos de sucesso para a realizao de projectos de software eram baseados no modelo Waterfall, onde existe uma grande fase de planificao que d todo o suporte ao desenvolvimento posterior. Pela utilizao deste modelo, muito difcil s empresas aceitarem mudanas de requisitos nas fases posteriores ao planeamento, j que tal exige uma regresso fase de planificao, de onde pode resultar uma mudana drstica no cdigo produzido. As ideias subjacentes que guiam o desenvolvimento gil, comearam significativamente antes da dcada de 90, mas s em 2001 so publicados sob a forma de manifesto os princpios desta metodologia revolucionria e como veremos mais gil e mais adequada a determinados tipos de projectos [Seco 2]. Este manifesto, Manifesto for Agile Software Developer[1] define os doze princpios defendidos pela metodologia em causa, a partir dos quais foram criados Modelos geis de Processo para os colocar em prtica no mercado. O modelo em Cascata ou Waterfall Model ser referenciado sempre que traga algo de til comparao com a abordagem por Mtodos geis. Alm dos doze princpios, encontramos no Manifesto [1] as linhas orientadoras que fundamentam esta nova abordagem. Os conceitos chave so: -Indivduos e interaces em vez de processos e ferramentas. -Software que funciona em vez de documentao abrangente. -Colaborao do Cliente em vez de negociao de contratos. -Resposta a modificaes em vez de seguir um plano. Os elementos relegados para segundo plano, no tm de deixar de existir, assumem sim, papis menos importantes. As mudanas (por exemplo, ao nvel da estrutura organizacional, da forma de pensar e trabalhar dos colaboradores) a que esta nova prtica obriga, assustam os que vem nela uma alternativa para a evoluo, e esta foi uma das principais razes pela qual a sua entrada no mercado foi lenta. Apesar de tudo, novos casos de estudo foram realizados e da foram retiradas diversas recomendaes para a sua introduo. um engano pensar que, segundo esta metodologia que se abandona por completo os mtodos tradicionais e as prticas de engenharia de software, at hoje adquiridas, no entanto o processo transformado e certas fases so encurtadas e outras ganham mais relevo. Na prxima seco caracteriza-se a Metodologia gil, as suas caractersticas e definem-se os processos mais conhecidos que a suportam. Sero vistas tambm as vantagens e desvantagens, da metodologia gil e explica-se 4

resumidamente um mtodo para a escolha entre Metodologias geis ou Clssicas para um projecto. Na seco 3, discute-se como pode ser abordada a introduo dos processos geis numa organizao. Na seco seguinte (Seco 4), listam-se ferramentas que suportam a Metodologia gil e as suas caractersticas, fazendo-se uma comparao qualitativa entre elas. Finalmente, na seco 5, apresentam-se as principais concluses a que se chegou.

2 Metodologia gil
De acordo com as linhas orientadoras da Metodologia gil, as pessoas tm um papel fundamental no desenvolvimento dos projectos, sendo para isso essencial que em todas as equipas exista uma boa comunicao entre os intervenientes, haja motivao e que cada indivduo se preocupe com a qualidade. pois valorizada a entrega de um produto funcional e adequado ao que o cliente realmente deseja; a preocupao centra-se na produo do software pedido, sendo a maioria da documentao gerada a partir das ferramentas usadas na produo. O cliente frequentemente chamado a intervir, iterao a iterao, tendo um papel decisivo na definio dos novos requisitos, contrariando a prtica de quase tudo ser planificado e acordado no inicio do projecto. geralmente aceite, e muitas vezes comprovado na prtica, que numa Metodologia Plan-driven/Waterfall o plano definido grande parte das vezes no chega ao fim igual ao que foi proposto no incio do projecto. Nenhum projecto totalmente previsvel, portanto ser gil ter conhecimento desta realidade e aceitar que os requisitos habitualmente mudam, em suma, estar pronto para acomodar a mudana de forma simples e rpida. Pretende-se ento a reduo dos ciclos de entrega, maior adaptabilidade e flexibilidade a alteraes ou ao aparecimento de novos requisitos dos stakeholders, assim como o cumprimento dos prazos de entrega. Existem j algumas abordagens/modelos geis de processo, que seguem estes princpios. Entre estas temos as seguintes listadas e na respectiva subseco sero explicadas as suas principais diferenas: ([21]): -XP (Extreme Programming) [2],[3] -SCRUM [4], [5] -Feature Driven Development (FDD) [6] -Dynamic Systems Development Method (DSDM) [7] -Lean Development [8] -Crystal [9]

Os stakeholders e gestores de projectos tendem a ser mais exigentes e a querer reagir mais rapidamente ao mercado. Pretende-se ento com este mtodo um incremento da produtividade, uma concluso mais rpida, uma entrada antecipada do projecto no mercado (pode no ser a sua verso final), retorno mais rpido do investimento, maior qualidade, menores custos e aumento da satisfao do consumidor. Os clientes so considerados parte da equipa de desenvolvimento, uma vez que a todo o momento so questionados sobre prioridades e testes de verses. A equipa de desenvolvimento inspecciona relatrios, define novas metas e atribui tarefas em iteraes curtas, oferecendo ao cliente verses do software incrementalmente mais funcionais e melhoradas. Quer-se portanto que as aplicaes vo ao encontro das necessidades reais de negcio. No se entrega um grande projecto ao cliente que no foi por ele testado, e que s quando o v se apercebe que no era bem aquilo que necessitava, apesar de este corresponder s especificaes acordadas.

2.1 Caractersticas fundamentais a encontrar em equipas geis


Podem-se encontrar vrios papers, de autores reconhecidos a enfatizar a importncia das pessoas e das equipas neste processo, como por exemplo [22]. De onde se retira a ideia de que o processo se deve adaptar s equipas. fundamental que certas caractersticas-chave estejam presentes entre as pessoas da equipa gil segundo Roger S. Pressman[21]: -Competncia: Quer em metodologias geis, quer em tradicionais diz respeito a talento inato, habilidades especficas relacionadas a software e a um conhecimento global do processo que a equipe decidiu aplicar. A habilidade deve ser ensinada a todos os membros das equipas geis. -Foco Comum: Os membros podem ter diferentes competncias e habilidades, mas todos eles deve ter o mesmo foco, que entregar um incremento de software em funcionamento ao cliente dentro do prazo prometido. -Colaborao: A equipa precisa de colaborar uns com os outros, com o cliente e com os gerentes de forma a conseguir analisar, avaliar e usar/comunicar informao de forma eficiente. -Capacidade de tomada de deciso: importante que a equipa tenha autonomia para tomar decises de tpicos tcnicos e de projecto. -Habilidade de resolver problemas vagos: Uma equipa gil lida continuamente com ambiguidades e ser confrontada com modificaes, os problemas que resolvem num dia, podem no ser significantes numa fase posterior, porque teve de se mudar a maneira de realizar algo. No entanto a 6

equipa aprendeu a resolver aquele tipo de problema. Respeito e confiana mtua: citando DeMarco e Lister [23] a equipa tem de funcionar como um todo, e deve-se tornar to fortemente aglutinada que o todo maior que a soma das partes. Auto-organizao: (1) A equipa gil organiza-se para o trabalho ser feito; (2) a equipa organiza o processo para melhor acomodar seu ambiente local; (3) a equipa organiza o cronograma de trabalho conseguir melhor entrega do incremento de software. neste pontos que se deve formar uma equipa gil preparada para enfrentar as dificuldades e conseguir ter sucesso.

2.2 Modelos geis de Processo


No inteno documentar todas as abordagens, cada uma delas dava para um relatrio, descreve-se de seguida as principais caractersticas dos processos mais conhecidos. 2.2.1 Extreme Programming (XP) O XP usa uma abordagem orientada a objectos como seu paradigma de desenho. O processo composto por quatro actividades: Planeamento, Projecto, Codificao e Teste, que so repetidas iterao a iterao. Planeamento: criado pelo cliente, um conjunto de histrias que descrevem caractersticas e funcionalidades necessrias para o software a ser construdo. Cada histria d entrada no sistema de controlo da metodologia e indexada e o cliente atribui-lhe um valor de prioridade. Os membros da equipa analisam esta lista e atribui-lhe custos, se a histria precisar de mais de trs semanas, pede-se ao cliente que a divida. Novas histrias podem ser adicionadas a qualquer momento. O prximo passo a equipa em colaborao com o cliente decidir que histrias vo ficar prontas na prxima iterao e em que data. Projecto: A filosofia inerente KIS (keep it simple), desencorajado o desenvolvimento de uma funcionalidade extra, porque o programador developer acha que mais tarde deve ser precisa. Frequentemente geram-se prottipos, operacional de partes do projecto ou da totalidade. O XP encoraja a refrabricao, uma tcnica de construo/projecto. ( o processo de alterar e aperfeioar o sistema de software interno, sem que se altere o comportamento externo.) Codificao: Antes do cdigo, recomenda o processo, que se crie uma bateria de testes unitrios para que a histria fique satisfeita. Ento o foco dos programadores a satisfao destes testes unitrios. Para a codificao o XP, recomenda que esta seja feita em pares. (Duas cabeas trabalham melhor do que uma), isto garante outros aspectos como qualidade, e rapidez (existe algum trabalho cientifico que comprava que o trabalhar em pares, no prejudica o 7

rendimento, pelo contrario habitualmente consegue-se mais produtividade). Teste: Os testes unitrios, so mantidos ao longo das vrias iteraes e passam a fazer parte de uma bateria de testes de regresso, que no mais do que todos os testes unitrios agrupados para serem testados periodicamente de uma vez em perodos curtos (pode ser de horas, ao final do dia, final da semana). A ideia confirmar que nada deixou de funcionar.

2.2.2 Scrum Foi desenvolvido inicialmente por Jeff Sutherland e por sua equipa no incio da dcada de 1990. O Scrum, usa um conjunto de padres de processo de software, que so adequados para projectos com prazos apertados e requisitos que mudam frequentemente. Cada padro de processo define um conjunto de actividades: Pendncia: Consiste numa lista priorizada de requisitos ou caractersticas do projecto que fornecem valor de negocio para o cliente. O gerente avalia e define prioridades quando necessrio. Sprints: Consiste em unidades de trabalho que so necessrias para satisfazer um requisito definido na pendncia, num determinado perodo de tempo (tipicamente 30 dias, e durante este tempo os items em pendncia relacionados com as unidades de trabalho, no podem ser mexidos). Quer-se um ambiente esttico a curto-prazo para os trabalhadores. Reunies Scrum: So reunies curtas ( cerca de 15 minutos) realizadas diariamente pela equipa Scrum, onde todos respondem a trs perguntas-chave: O que a membro fez desde a ltima reunio da equipa? Que obstculos o membro est a encontrar? O que que o membro vai realizar at prxima reunio da equipa?

Demos: Entrega da nova release funcional ao cliente, de forma a que as novas funcionalidades possam ser testadas e avaliadas pelo cliente. Estas frases so iteradas at que se d o projecto de software por concludo, quer seja porque j cumpre as necessidades ou por outros factores, como uma necessidade de entrada antecipada no mercado. 2.2.3 Feature Driven Development ( FDD ) Comeou por ser concebido por Peter Coad e seus colegas, e mais tarde Stephen Palmer e John Felsing estenderam e melhoraram o processo orientado a objectos que pode ser aplicado a projectos de software de tamanho moderado e grande. 8

As Features ou Caractersticas so funes que o cliente valoriza e que podem ser implementadas em menos de duas semanas, e tem um formato prprio para serem descritas. H ento uma serie de passos at que se cumpra a realizao da caracterstica. E antes preciso tambm agrupa-las e prioriza-las semelhana dos outros processos geis anteriores.

2.2.4 Dynamic Systems Development Method ( DSDM) um processo que tenta fornecer maneira de construir e manter sistemas que satisfazem s restries de prazo apertadas por meio do uso de prototipagem incremental em um ambiente controlado de projecto. Este processo segue o princpio de Pareto 80-20, em que neste caso 80% de uma aplicao pode ser entregue em 20% do tempo que levaria a entregar a aplicao completa (100%). Este processo tambm iterativo como os anteriores, agora pelo facto de seguir o princpio referido, isto , apenas um certo trabalho necessrio para que cada incremento facilite o avano para o incremento seguinte. Os detalhes podem ser completados depois, quando mais requisitos forem conhecidos. As iteraes so feitas segundo o ciclo de vida DSDM, que tambm se encontra documentado no livro [21].

2.3 Justificaes acerca das empresas presentes no documento


Existe investigao por parte de privados e universidades na rea de metodologias e ferramentas geis, uma das empresas que mereceu especial destaque neste documento, pois frequentemente destacada na impressa, em empresas de TI e consultores, foi a Outsystems [10] que ainda recentemente foi distinguida com mais um prmio, na categoria de Best Software Development Solution dos 24th Annual CODiE Awards da Software & Information Industry Association's (SIIA).[25]. Trata-se de uma empresa multinacional de software nascida em 2001, reconhecida como construtora de uma das melhores aplicaes para a construo e aplicao das metodologias geis industry-leading Agile Platform[25]. Este prmio na CODiE de grande importncia e salienta o seu reconhecimento, dentro do sector de TI CODiE Awards-the industrys only peerreviewed awards program. A Outsystems Agile Platform, fornece ferramentas para integrar, montar, publicar e mudar aplicaes para a Web usando mtodos geis, estando presente em cerca de 4000 ambientes de TI e 138 pases, como tal mereceu uma investigao mais detalhada e isso reflecte-se no documento. As restantes empresas, faladas foram localizadas ao se pesquisar pelo tema, e foram consideradas como potenciais concorrentes, devido a alguns nmeros apresentados, o Vision Project [17], um projecto da empresa Sueca Visionera AB formada em 2003, que afirma que mais de 55 mil utilizadores usam a plataforma 9

em 35 pases diferentes. O TargetProcess foi criado em 2004 e tinha em Junho de 2008 cerca de 300 clientes empresariais, e o OnTime da Axosoft ronda as 7000 instalaes das ferramentas geis. Os nmeros revelam que as companhias tm alguma cota de mercado, e foram merecedoras de serem melhor avaliadas. Aps posteriores investigaes, outra produto muito usado e associado a companhias de renome deveria ter sido includo nas anlises posteriores, Version One Agile Project management[26], includo em mais de 10 mil equipas, estimando-se 70 mil utilizadores espalhados por 50 pases. Ao nvel das faculdades, algumas tem investigado associadas a determinadas empresas, por exemplo, recentemente a Carnegie Mellon em parceria com a Outsystems procurou melhor a experincia dos utilizadores em contacto com a plataforma gil, aco essa que foi valorizada e integrada pela Outsystems para a incorporao dos resultados numa prxima release.[27]

2.4 Vantagens e desvantagens


Em particular, os Mtodos geis reduzem o tempo da entrega da primeira verso do software pedido. Como o cliente vai verificar mais cedo o que realmente foi produzido e v se mesmo aquilo que pretende, o nmero de projectos falhados por no corresponderem aos desejos do cliente muito reduzido. Os Metodos geis seguem um processo iterativo de desenvolvimento e de sucessivas entregas ao cliente, o qual vai constatando a evoluo e participando na avaliao e definio das novas funcionalidades a acrescentar. Todo o processo est virado para responder a esta evoluo das necessidades e adaptabilidade. A empresa Outsystems [10] no paper [11] comparou as duas metodologias, relativamente aos ganhos de valor para o cliente e stakeholders, representado a essa informao sob a forma de grfico [Figura 1]. Da anlise do grfico verificase que no perodo inicial os Mtodos geis entregam uma primeira verso que satisfaz os requisitos mnimos, enquanto a Metodologia Waterfall, considerando o mesmo momento, ainda est em evoluo, normalmente sem nada funcional para entregar ao cliente. Uma vez que, nos Mtodos geis, o produto/software est a ser produzido de acordo com o valor que o cliente pretende, vai entregando ao longo do tempo uma verso mais adequada. Pelo contrrio, no modelo de Waterfall, existe uma longa planificao que atrasa a entrega de algo visvel, e essa entrega inicial, segundo a Outsystems, a que tem maior correspondncia com o que o cliente requisita; posteriormente, os requisitos tendem a mudar, a adaptao do produto a estas mudanas difcil (pode ser mais morosa, envolver maiores custos, por exemplo), o que implica um retorno menor de valor para os clientes e stakeholders. O que se comenta aqui vai no sentido certo, o grfico que est consideravelmente exagerado, podemos ver na [Figura 2] um grfico menos tendencioso, em que partem do mesmo ponto e chegam ao mesmo resultado mas com percursos diferentes. Tendo a acreditar que o correcto para projectos adequados a estes processos geis gerasse 10

habitualmente grficos semelhantes aos da [Figura 1], mas com o modelo de semelhantes waterfall mais prximos dos resultados do processo gil.

Figura 1

Figura 2

Outra vantagem da Metodologia gil o aumento do controlo por parte dos gestores, uma vez que se baseia no que est realmente a ser produzido e no tores, 11

que vai ser feito a curto prazo. Como tal, h menos especulao, h mais visibilidade e adequao das medies e avaliaes do estado das funcionalidades e tarefas realizadas. Este mtodo aproxima os developers e gestores pois existe uma maior e melhor comunicao (bom ambiente pode ser sinnimo de maior produtivade dos indivduos). especialmente adequado para projectos direccionados para a Web, onde os requisitos vo evoluindo e no se exigem muitos trabalhadores. A maioria dos relatrios e documentao so produzidos pelas ferramentas de trabalho, o que alivia as equipas de trabalho.

Uma desvantagem apontada aos Mtodos geis o facto de estes no serem escalveis. Na realidade, estes no foram desenhados para projectos muito longos (uma discusso sobre isso pode ser encontrada aqui [12]), existindo contudo abordagens mais escalveis, como o Scrum (que mais adaptado a esta necessidade mas tambm serve para as de menor porte). Alistair Cockburn e Jim Highsmith afirmam no paper [22] Agile development is more difficult with larger teams. The average project has only nine people, well within the reach of the most basic agile processes. Nevertheless, it is interesting to occasionally find successful agile projects with 120 or even 250 people. Outra possvel desvantagem dos Mtodos geis passa pelo menor controlo de custos. Tipicamente, nesta metodologia, o projecto termina quando o cliente no levantar mais funcionalidades relevantes que deseje ver concretizadas, em oposio a ser acordado um preo e um plano. Daqui tira-se que os custos e duraes podem variar e podem ser de difcil gesto para a organizao.

2.5 Mtodo de escolha


O Mtodo baseado na anlise do Risco [13] tenta integrar quando necessrio os pontos fortes dos Mtodos geis e Plan-driven. Este mtodo est documentado com preciso no livro [14] e usado como maneira de avaliar o risco inerente a usar um Mtodo gil ou Plan-Driven para determinado projecto: Passo 1: Aplicar as anlises de risco a reas especificas associadas s respectivas metodologias. Isto forma a primeira base de anlise. Passo 2: Avaliar os resultados do passo anterior e verifica-se se um bom projecto para ser puramente gil ou Plan-driven. Caso o seja, deve-se ir para o passo 4. Passo 3: Estamos neste passo se o projecto no foi identificado como sendo ideal apenas para uma metodologia, o que significa que partes do projecto tm associados valores de risco diferentes. Assim sendo, a equipa de desenvolvimento poder, se possvel, desenvolver uma arquitectura que suporta Mtodos geis onde se aplicam melhor os seus pontos fortes e os riscos so 12

minimizados. A metodologia, por defeito, seria a Plan-driven, que suportaria o restante trabalho. Passo 4: Aqui definem-se resolues para os riscos assumidos e desenha-se o projecto. Passo 5: importante nesta metodologia complexa estar atento s partes individuais do projecto, e a ele como um todo, o que se torna impossvel sem uma equipa experiente. Pode ser necessrio voltar uns passos atrs se se detectar algum problema. Esta uma abordagem que no visa a simples escolha de um mtodo ou do outro, na maioria das organizaes escolhe-se pelas vantagens e desvantagens referidas anteriormente. Esta anlise visa apenas referir que possvel integrar os Mtodos geis e os Plan-driven, embora isso no seja acessvel maioria das organizaes.

13

3 Introduo do processo gil numa organizao


sabido que o processo de transio ou adopo da Metodologia gil no muito fcil, uma vez que para haver sucesso importante que todos os intervenientes estejam focados neste modo de trabalhar. MikeCohn e Doris Ford, em [15], explicitam resultados muito interessantes, resultantes da introduo dos mtodos em sete empresas durante quatro anos em quatro estados diferentes (particularmente usando a ferramenta Scrum), havendo diversidade no tamanho das equipas, na complexidade e distribuio dos membros (equipas distribudas ou locais). Constatou-se que a maioria dos developers reagiu mudana com uma mistura de cepticismo, entusiasmo e cautela, verificando-se em alguns o gosto por contribuir com outros artefactos, para alm do cdigo. Numa abordagem gil que no incentiva a produo destes documentos, esta iniciativa deve ser cortada prioritariamente pelos colegas, que tendo uma viso global do projecto, percebem que trabalho desnecessrio para a implementao daquela funcionalidade. Abordagens como Scrum ou XP aceleram os ciclos de projecto fazendo os developers interagir mais com os gestores em perodos mais curtos. Os developers tendem a ver esta aproximao como controlo das datas de entrega e dos prazos excedidos. O gestores devem mostrar que o seu desejo remover obstculos e no criticar se a tarefa mais longa do que o esperado. Outra constatao, foi o gosto/necessidade de os developers conseguirem visualizar a sequncia de trabalho que tm para realizar. Nos modelos Heavyweight/Plan-driven frequente serem usados grficos de Gantt sobre processos. Ora, esse formato no existe nesta metodologia, pelo que sugerido por Cohn e Ford que provisoriamente sejam definidos sprint-types. Um sprint uma iterao, de onde sai uma verso executvel do projecto para o cliente, contendo vrias funcionalidades. Os sprints variam de durao (1semana -1 ms), dependendo dos projectos. Estes sprint-types demonstram uma sequncia semelhante a outros mtodos mais antigos (Prototyping, Requirements capture, Analysisand design, Implementation and Stabilization), sendo que o uso desta formalizao ajuda no processo de adaptao e de aprendizagem. medida que se adaptam melhor formalizao dos Mtodos geis, este processo intermdio abandonado. Este modelo foi concretizado com sucesso nas organizaes em que foi testado. Nos Mtodos geis, as decises so tomadas mais rapidamente e h mais comunicao. Pelas tentativas j realizadas, para esta metodologia, no se recomenda aceitar projectos distribudos nos primeiros 2 a 3 meses de converso das equipas. H a necessidade de resolver questes polticas e culturais e isso complicado em projectos distribudos. Se houver essa necessidade, recomenda-se que o mximo possvel de intervenientes se rena e 14

trabalhem juntos no projecto durante uma ou duas semanas, num mesmo local. Quando a metodologia est enraizada a equipa trabalha bem, e trabalha sobre questes essenciais. Bons profissionais so necessrios e ajudam o gestor a distribuir e calcular melhor os tempos para realizar determinadas tarefas. Grandes discrepncias no so recomendveis. Numa abordagem Plan-driven os testes so realizados de uma vez e maioritariamente no final do projecto por testers. Numa Metodologia gil devese evitar que os ciclos curtos sejam aproveitados para que os testers se ponham a realizar cdigo ou escrevam os unittests, o que deve ser feito pelo prprio programador que est a desenvolver, devido ao conhecimento que tem do seu cdigo. Os gestores de topo revelaram dificuldade relativamente a oramentos para um projecto que use Mtodos geis, pois no h um plano com prazos e custos, este d-se por terminado quando as funcionalidades presentes satisfizerem o cliente. recomendado que se definam limites mnimos (e.g. prazo, budget) e, perto do final do projecto, haja uma renegociao, consoante as necessidades do cliente.

4 Ferramentas que suportam a Metodologia gil


Nesta seco pretende-se analisar um pouco as ferramentas disponveis no mercado que facilitem o desenvolvimento de software, segundo a Metodologia gil. Agileplatform [16]: Produzida pela Outsystems parece destacar-se ao ser uma soluo unificada que suporta todo o processo de construo para a Web com recurso a Mtodos geis. A plataforma composta por quatro componentes: IntegrationStudio, ServiceStudio, ServiceCenter e EmbeddedChangeTechnology (ECT). O primeiro integra componentes que no esto criados no ServiceStudio e que precisam de ser adaptados para serem potenciados na plataforma. O segundo d um novo significado ao termo gil, e visvel a maior facilidade e rapidez com que se integram objectos e modelos atravs de fluxos do que sendo tudo codificado. Este ambiente rene o modelo de dados, a lgica do negcio, a criao das pginas Web, Web services, temporizadores, e segurana, que com um click sero convertidos em cdigo java ou dot.net. O ServiceCenter controla tudo o que seja configuraes e permisses do projecto, e monitoriza a sua actividade, erros, etc. O ECT um mecanismo que permite receber directamente feedback a partir 15

da aplicao. No decorrer da mesma, selecciona-se a ferramenta, o local que diz respeito alterao que o utilizador queria ver realizada e descreve-a. Este comentrio chega sobre a forma de tickets aos developers e gestores do projecto, para que seja classificado, atribuda uma ordem de prioridade, e integrado nos prximos sprints.

VisionProject [17]: Esta parece ser uma ferramenta bastante completa quanto a relatrios e gesto do projecto, s que no torna a aplicao e esta gesto um s. Permite a gesto de projectos, gesto dos tickets, controlo de verses, visualizao de duraes e custos, partilha de documentos, procura e filtragem dos tickets, integrao do e-mail e gesto dos fluxos de trabalho. Para alm destas, destacase a gesto de alertas, bases de conhecimento, fruns por projecto, configuraes, exportao de relatrios e helpdesk.

Pivotaltracker [18]: Este software apresenta-se como uma alternativa mais simples do que o Vision, mas assenta nas mesmas bases, controlando toda uma srie de tickets e gerindo o seu estado. Incorpora ainda toda uma srie de material para o controlo do projecto e produo de relatrios de estado.

TargetProcess [19]: Muito completo e personalizvel, parece superar o VisionProject e o Pivotaltracker em toda a gesto e permite, com recurso a plugins, a automatizao de certos inputs ou outputs com as ferramentas de produo de cdigo e teste. Isso uma caracterstica muito importante, pois nesta Metodologia gil onde a produo de cdigo deve ser o foco principal (cdigo, ou algo automtico que o gere), vantajoso que o processo seja o mais automatizado possvel, e que implique o menor desperdcio de tempo possvel.

Existiam mais softwares, como por exemplo o da OnTime Project Manager Suite da Axosoft [20], e o da Version One[26] que podiam ter sido escolhidos para anlise; para quem quiser experimentar estes programas e os anteriores referenciados tm opes gratuitas, com limite de tempo ou de utilizadores ou de funcionalidades, que permitem avaliar melhor o conceito na prtica. Da explorao, se a inteno for reduzir drasticamente o tempo de produo e se essa vontade for suportada por toda a empresa, parece que vale a pena explorar a ferramenta mais completa e automatizada fornecida pela Outsystems [16]. Esta ferramenta muito completa, extensvel e focada em tornar gil todo o processo de criao. No geral, estas ferramentas geis favorecem uma entrada mais rpida no mercado e possibilitam que novos requisitos sejam tratados em 16

horas. Para casos com necessidades mais localizadas, ou com processos desenvolvidos em outros programas, se calhar s preciso um nmero mais restrito de funcionalidades e poder ser encontrado numa das outras ferramentas referenciadas ou ser encontrada uma soluo que se integre mais nas ferramentas j usadas.

5 Concluses
Este working paper explica as principais fases do processo de introduo/transio da Metodologia gil, quer seja XP, Scrum, ou outra. Estes mtodos s tm valor quando realmente adequados aos tipos de projectos analisados. Maioritariamente projectos para a Web e de pequena e mdia dimenso. Mostra tambm que a escolha por um mtodo ou outro de desenvolvimento de software pode ser feita pela anlise de risco para projectos no to bvios quanto melhor metodologia a usar, embora seja de difcil utilizao. Para a sucesso da sua implantao a equipa no pode ser descurada, vimos quais as caractersticas mais importantes que esta deve ter na seco 2.1 Equipa O mercado est cada vez mais receptivo a esta prtica e produz cada vez mais material para facilitar a sua adopo. Das aplicaes, destaca-se, como foi falado na seco 4, a da Outsystems, sendo gil at no momento de concepo da prpria, acelerando rapidamente a entrega de verses com qualidade e testveis pelo cliente. Continua a existir investigao sobre estas metodologias recentes, e na generalidade existe a tentativa de resolver os problemas que se vo encontrando no ambiente empresarial. Um deles era a falta de usabilidade nas aplicaes geradas, visto que o foco era em cdigo, no entanto, surgiram propostas para juntar os mtodos geis e os princpios de usabilidade de Jakob Nielsens [24]. uma tendncia integrar estas metodologias com outros princpios a fim de as completar e tornar mais poderosas.

17

6 Referncias
[1]

K. Beck et al., Manifesto for Agile Software http://www.agilemanifesto.org, consultado em 31/05/2009.

Development,

Feb.2001,

[2]

Ronald E. Jeffries, XProgramming - an Agile Software http://www.xprogramming.com/, consultado em 31/05/2009.

Development

Resource,

[3]

Don Wells, Extreme Programming A gentle introduction, http://extremeprogramming.org/, consultado em 31/05/2009. ScrumAlliance transforming the world of work, http://www.scrumalliance.org/, consultado em 31/05/2009. SCRUM its About Common Sense, http://www.controlchaos.com/, consultado em 31/05/2009. Feature Driven Development, http://www.featuredrivendevelopment.com/, consultado em 31/05/2009. DSDM CONSORTIUM, http://www.dsdm.org, consultado em 31/05/2009. Lean Software Institute, http://www.leansoftwareinstitute.com/, consultado em 31/05/2009.

[4]

[5]

[6]

[7] [8] [9]

Alistar Cockburn, Software development as a cooperative game, http://alistair.cockburn.us/Software+development+as+a+cooperative+game, 31/05/2009. Outsystems, http://www.outsystems.com/, consultado em 31/05/2009.

consultado

em

[10] [11]

Outsystems, Transitioning to Agile in an AgileWay Amplifying Traditional Approches with Agile Technology, http://www.outsystems.com/agile/Solution.aspx?FolderPath=\Root\Contents\Corporate\ITSolutions\Ag ileIT, consultado em 31/05/2009.
[12]

InfoQueue Tracking change and innovation in the enterprise software development community, http://www.infoq.com/news/2007/07/agile_team_size, disponvel em 31/09/2009. BarryBoehm, RichardTurner, Using Risk to Balance Agile and Plan-Driven Methods, IEE Computer Society, Junho 2003. B. Boehm and R. Turner,Balancing Agility and Discipline - The Guide for the Perplexed, Addison-Wesley, 2003. Mike Cohn, Doris Ford, Introducing an Agile Process to an Organization, IEEE Computer Society, Junho 2003

[13]

[14]

[15]

[16] OutSystems, Agile Platform, http://www.outsystems.com/agile/Solution.aspx?FolderPath=\Root\Contents\Corporate\ITSolutions\Ag ilePlatformSolution, consultado em 31/05/2009. [17] [18]

Vision Project, http://www.visionproject.se/, consultado em 31/05/2009. Pivotal Tracker, http://www.pivotaltracker.com/, consultado em 31/05/2009.

18

[19]

TargetProcess Agile Project management Software, http://www.targetprocess.com/, consultado em 31/05/2009. Axosoft, OnTime Project Manager Suite, http://www.axosoft.com/, disponvel em 31/05/2009. Roger S. Pressman, Engenharia de Software Sexta Edio, McGraw-Hill, 2006, pp. 58-76 Cockburn, A. e Highsmith, Agile Software Development: The People Factor, IEEE Computer, v.34, n.11, nov. 2001, p. 131-33 DeMarco, T. E Lister, T., Peopleware, 2ed., Dorset House, 1998.

[20]

[21] [22]

[23] [24]

Jakob Nielsen, Agile Development Projects and Usability, http://www.useit.com/alertbox/agile-methods.html, disponvel em 08/06/2009

San Ramon, OutSystems Agile Platform Wins CODiE Award Category for Best Software Development Solution, http://www.reuters.com/article/pressRelease/idUS185847+08-May-2009+BW20090508, 8/05/2009
[25] [26] VersionOne Simplifing Software Delivery, http://www.versionone.com/, disponvel em 06/07/2009 [27]

Santa Clara, Carnegie Mellon e Outsystems como parceiros, http://www.outsystems.com/agile/Content.aspx?ContentName=CMU_PR&FolderPath=/Root/Contents /Corporate/LandingPages/News, 10/03/2009

19