Nesse artigo vamos apresentar uma pequena introdu��o sobre as tecnologias aqui comparadas e, em seguida, veremos qual melhor se encaixa nas diversas modalidades de um projeto de software. Show
Se voc� quer se aprofundar mais nesse tema, voc� n�o pode deixar de conferir os cursos de Engenharia de Software da DevMedia. ScrumO SCRUM � uma metodologia �gil de trabalho onde � usada para estabelecer conjuntos de regras e pr�ticas de gest�o para conseguir o sucesso de um projeto. Com o foco no trabalho em equipe, ocorre uma melhora na comunica��o e maximiza o apoio de todos, fazendo com que todos do time se esforcem e se sintam bem com que est�o fazendo e isso acaba gerando mais para frente um aumento de produtividade. Jeff Sutherland colocou em pr�tica a primeira concep��o do SCRUM na Easel Corporation em 1993 e em 1995, Ken Schwaber pegou essa metodologia e refinou baseando-se com sua experi�ncia em desenvolvimento de sistemas e processos. As principais caracter�sticas do SCRUM s�o:
O modo de organiza��o no SCRUM � feito da seguinte forma (Figura 1):
O SCRUM, como � um m�todo �gil, e os m�todos �geis acabam tendo v�rias semelhan�as, contatos ou pontos em comum, ele tem um forte relacionamento com o XP como por exemplo, eles t�m a raiz fundamentada em um manifesto �gil. XP - eXtreme ProgrammingXP foi criado por Kent Beck quando trabalhava na Chrysler Comprehensive Sistema de Compensa��o (C3) no projeto da folha de pagamento. Quando Beck tornou-se C3 l�der do projeto em mar�o de 1996, ele come�ou a refinar o m�todo de desenvolvimento usado no projeto e logo em seguida ele escreveu um livro. E em outubro de 1999, a Extreme Programming foi publicada. Em fevereiro de 2000, a Daimler-Benz adquiriu a Chrysler e acabou cancelando o projeto C3. O XP � uma metodologia �gil de desenvolvimento de softwares focada na agilidade de equipes e na qualidade dos projetos e tem como seus valores a simplicidade, o feedback, a comunica��o, a coragem, o respeito. O XP tem como seus princ�pios b�sicos o feedback r�pido, a simplicidade, a ideia de abra�ar mudan�as, fazer um trabalho de qualidade e aceitar mudan�as incrementais. Uma frase onde Vin�cius Teles fala na TDC 2008 � muito interessante onde ele demonstra claramente que a simplicidade � fundamental no projeto, e a frase que ele diz �: "Na hora do desenvolvimento do software, para aplicar os princ�pios e valores, o XP sugere uma s�rie pr�ticas porque h� uma grande confian�a na uni�o entre elas pois os pontos fracos de cada uma s�o cobertos pelo ponto forte das outras." Segundo Kent Beck, as pr�ticas s�o as seguintes (Figura 2):
Compara��o entre scrum e eXtreme programmingO SCRUM, como � um m�todo �gil, e os m�todos �geis acabam tendo v�rias semelhan�as, contatos ou pontos em comum, ele tem um forte relacionamento com o XP como por exemplo, eles tem a raiz fundamentada em um manifesto �gil. O SCRUM � uma forma de gest�o ampla para projetos que n�o depende da �rea de conhecimento. J� o XP tem sua aplica��o mais restrita, focada basicamente no mundo de desenvolvimento de sistemas de softwares. Entretanto, quando usamos o SCRUM como forma de gest�o e para cria��o de sistemas de software, muitas das pr�ticas contidas no XP s�o de grande compet�ncia, como por exemplo a cria��o de testes automatizados ou o uso de refatora��o de c�digo para que um trecho de c�digo funcional seja alterado buscando um ganho de qualidade e garantindo que a manuten��o futura seja simplificada. Execu��o de um Projeto com ScrumA empresa em que foi aplicado o estudo de caso se enquadra no ramo de desenvolvimento de software. � uma entidade civil sem fins lucrativos que se orgulha por ser uma das refer�ncias nacionais em qualidade e efici�ncia na �rea de tecnologia da informa��o e comunica��o. Possui ISO 9001:2008 e CMMI n�vel 5 e busca a melhoria cont�nua dos seus processos. O projeto na qual foi desenvolvido era para a plataforma de hardware Windows XP profissional, a ferramenta de desenvolvimento era o Microsoft Visual Studio 2008, a ferramenta de banco de dados SQL Server 2005, a ferramenta de an�lise e projeto o Enterprise Architect, ferramenta de acompanhamento de bugs JIRA, sedo o mesmo produzido para a plataforma desktop. O projeto possu�a 221 pontos de caso de uso t�cnicos (TUCP) e era enquadrado na modalidade de F�brica de Solu��o, na qual s�o projetos em que a equipe do projeto trabalha com a equipe do cliente desde a etapa inicial de avalia��o de necessidades e concep��o de requisitos, ajudando o cliente a gerar uma solu��o de alto valor agregado para seu neg�cio. Visando a necessidade da melhoria no gerenciamento dos projetos resolveu-se aplicar Scrum em um projeto e analisar o desempenho de produtividade do projeto com o emprego desta metodologia. Aplicar Scrum traz v�rias mudan�as, principalmente culturais na empresa. Para o in�cio da utiliza��o do Scrum, como primeiro passo aplicou-se um treinamento para todos os colaboradores para que todos pudessem conhecer as atividades a serem desempenhadas na nova metodologia de ger�ncia de projeto e assim nivelar o conhecimento adquirido. No treinamento foram repassados os conhecimentos acerca do ciclo do Scrum e mostrado em detalhes cada evento a ser executado com o emprego da metodologia �gil, assim como as vantagens e facilidades proporcionadas pelo Scrum. O segundo passo foi realizar o planejamento inicial do projeto. Cada Sprint teve sua dura��o definida em tr�s semanas, assim a cada rodada tinha que ser entregue uma parte incremental do produto testado e funcionando. No total, foram definidas cinco Sprints para a conclus�o do projeto. A princ�pio, foram definidas as seguintes atividades a serem realizados no projeto e estas foram enquadradas no Backlog:
Em seguida, o plano do projeto foi montado e apresentado ao cliente. O cliente foi envolvido inicialmente com participa��o ativa de forma remota para a defini��o das prioridades das atividades. Para cada Sprint realizou-se um Sprint Planning Meeting, ou seja, uma reuni�o para planejamento da Sprint, de modo que pudesse definir dentre as atividades do Backlog aqueles que seriam executadas na Sprint. Al�m disso, a cada in�cio do dia o gerente do projeto realizava a Daily Meeting, ou seja, a reuni�o di�ria para acompanhamento das atividades do projeto (atividades a fazer, atividades finalizadas, atividades em andamento), assim como para a identifica��o dos impedimentos ocorridos no dia anterior para que fossem resolvidos o mais r�pido poss�vel. Estas reuni�es tinham dura��o de no m�ximo 15 minutos. O pr�ximo passo foi executar cada Sprint. A cada entrega, ou seja, decorridos tr�s semanas, o time realizou a reuni�o de revis�o (Sprint Review) para apresenta��o do produto realizado na Sprint. Ap�s esta reuni�o fazia-se uma reuni�o de retrospectiva (Sprint Retrospective) para demonstrar as li��es aprendidas. Nestas reuni�es, foi poss�vel identificar os principais desafios enfrentados pela equipe. Al�m disso, ao final de cada Sprint, o gerente realizou as medi��es dos indicadores de desempenho de produtividade do projeto. Resultados Pr�ticos do Uso do ScrumDESEMPENHO DOS INTEGRANTESOs resultados form satisfat�rios, obteve um satisfa��o por todos os integrantes do projeto na aplicabilidade do Scrum. O projeto foi entregue dentro do prazo e do or�amento melhor do que os previstos. Constatou-se uma maior participa��o do cliente no processo de desenvolvimento do software proporcionando um acompanhamento em alto n�vel do andamento das atividades realizadas. Al�m disso, observou-se a satisfa��o do cliente na solicita��o das modifica��es dentro de prazo h�bil para realiz�-las, al�m do recebimento de funcionalidades totalmente implementadas no final das Sprints. Um fator caracter�stico do Scrum que apresentou-se satisfat�rio para o cliente trata-se do tempo fixo estimado para as Sprints. A equipe evoluiu profissionalmente se tornando mais segura com rela��o � capacidade de estimativa e autogerenciamento, descartando a necessidade de atribui��o de tarefas pelo gerente. Esse crescimento foi gradativo no decorrer das Sprints. Aumentou tamb�m a seguran�a no que estava desenvolvendo e no conhecimento dos requisitos. Isto proporcionou um menor retrabalho por n�o desperdi�ar tempo no desenvolvimento de requisito confuso. O aumento da seguran�a aumentou o comprometimento e o foco com o projeto. Al�m do mais, a equipe, depois de experimentar o Scrum, quer sempre que poss�vel, seguir esta pr�tica nos novos projetos. O gerente apontou a facilidade em solucionar os impedimentos do projeto, haja vista que os mesmos eram identificados precocemente e n�o apresentava impactos nas demais atividades. Todos os integrantes tinham conhecimento do impedimento e atrav�s de uma a��o em conjunto o impedimento era solucionado o mais r�pido poss�vel. Al�m disso, o gerente relatou a facilidade de extrair informa��es gerenciais do projeto atrav�s dos quadros adotados pela metodologia �gil, pois conforme � relatado por Schawber (2004) o Scrum oferece um framework e um conjunto de pr�ticas que guardam tudo vis�vel. Isto permite aos participantes do Scrum saber exatamente o que est� acontecendo e fazer no local os ajustes para manter o projeto na dire��o dos objetivos desejados. INDICADORES DE DESEMPENHO DE PRODUTIVIDADE DO PROJETOComo mencionado anteriormente, o gerente realizou o acompanhamento do desempenho da produtividade do projeto. A Figura 3 a seguir apresenta a tabela de produtividade da equipe no projeto. Figura 3. Produtividade da equipeA figura ilustra os principais processos de engenharia executados no desenvolvimento do software e a produtividade planejada e realizada para cada um desses processos. Al�m disso, s�o expressos valores de produtividade para �Produtividade dos processos com retrabalho� que retrata a produtividade do projeto contando o esfor�o gasto com o retrabalho de alguma atividade; �Produtividade dos processos sem retrabalho� que representa a produtividade do projeto sem considerar o esfor�o gasto com o retrabalho das atividades; e �Produtividade geral� que significa a produtividade do projeto expressa em um �nico valor. Por normas de sigilo, a forma como � calculada a produtividade n�o foi divulgada pela empresa. No entanto, alguns fatores nos permitem a an�lise destes dados. A produtividade planejada representa o n�vel de produtividade planejado pelo gerente de acordo com as caracter�sticas do projeto e representa o limite m�ximo a ser atingido. Quando a produtividade realizada � expressa abaixo da produtividade planejada, significa dizer que a equipe apresenta boa produtividade e que est� realizando suas atividades com um esfor�o inferior ao planejado. Deste modo, quando menor a produtividade realizada, melhor est� sendo a produtividade da equipe. Como se pode constatar pela an�lise da Tabela 1 acima representada, em todos os processos a equipe apresenta uma boa produtividade, haja vista que todos os valores expressos na �Produtividade realizada� s�o inferiores aos valores da �Produtividade planejada�. Uma an�lise a respeito da diferen�a entre �Produtividade planejada� e �Produtividade realizada� � apresentada na Figura 4. Figura 4. Gr�fico da Produtividade da equipeNo gr�fico acima representada, � poss�vel verificar que al�m da produtividade realizada apresentar-se inferior a produtividade planejada em todos os processos, o processo de �An�lise e Projeto� apresenta uma melhor produtividade se comparado o valor aos demais processos. Em contrapartida, o processo de �Testes� apresenta uma boa produtividade, no entanto, bem pr�xima a produtividade planejada. Com o aumento da produtividade da equipe, ou seja, a execu��o das atividades em menor tempo que o estimado, o projeto foi entregue em tempo menor que o planejado. No geral, foram planejados 5 meses para a execu��o total do projeto e o projeto foi realizado em 4 meses. Isto proporcionou uma maior satisfa��o do cliente assim como o aumento do lucro da empresa. Na Figura 5 temos o ciclo de vida dentro do XP. Figura 5. Ciclo de vidaAtrav�s desta pesquisa e an�lise podemos concluir a import�ncia da utiliza��o destas ferramentas que auxiliam no desenvolvimento de projetos garantindo sua efic�cia e alta qualidade. Podemos notar que devido a evolu��o da tecnologia esses processos se tornaram complemento um do outro tornando-se �timas ferramentas de trabalho, sendo que o XP � utilizado para desenvolvimento e o SCRUM para um framework. Scrum � um processo de desenvolvimento iterativo para gerenciamento de projetos, usando para trabalhos complexos nos quais � imposs�vel predizer tudo o que ir� ocorrer. � um processo eficaz pois pode ser aplicado em qualquer projeto no qual um grupo de pessoas necessita trabalhar em grupo para atingir um objetivo em comum, al�m disso, permite a cria��o de equipes auto organizadas, encorajando a comunica��o verbal entre todos os membros da equipe e entre todas as disciplinas que estar�o envolvidas no projeto. Para garantir o sucesso na realiza��o do processo e projeto deve haver um planejamento de sprint onde o Product Owner, o Scrum Master e a Equipe ir� decidir no que ir� trabalhar, planejando a arquitetura e o design de como backlog dever� ser implementado. � importante que ocorram todas as etapas do processo como todas as reuni�es de planejamentos di�rios, as de revis�o, as retrospectivas momento em que todos refletem sobre a sprint passada. J� a metodologia de desenvolvimento XP consiste em usar m�todos simples, onde o trabalho � feito em duplas utilizando aplica��es simples, design simples focando apenas no que o cliente necessita neste momento, n�o havendo import�ncia com futuras modifica��es do sistema, as mudan�as tem que ser feitas por partes , quando o aplicativo se torna obsoleto n�o se refaz o mesmo, simplesmente desenvolve-se um novo sistema. Existe tamb�m um respeito entre a equipe onde todos s�o valorizados da mesma forma, sendo assim um incentivo para o desenvolvimento de alta qualidade. Cada parte do c�digo � testada antes de passar para o pr�ximo recurso, verifica-se que o requisito � realmente o que o cliente deseja. A comunica��o entre o cliente e o programador no planejamento, o feedback onde a cada parte do desenvolvimento � testado e se o cliente desejar fazer alguma modifica��o, os programadores adicionam tempo extra para concluir o projeto. S�o atrav�s destes processos que � poss�vel entregas frequentes e intermedi�rias de funcionalidade 100% desenvolvidas, diminui��o de riscos desenvolvidos pelas equipes, transpar�ncia no planejamento e desenvolvimento, garantindo efici�ncia e evolu��o na realiza��o do projeto. Qual fator deve ser considerado ao determinar a duração de uma Sprint?Segundo o guia do SCRUM, uma sprint deve possuir um time-box (duração máxima) de um mês ou menos, mas a grande maioria das equipes preferem sprints mais curtas, optando por uma ou duas semanas. Não existe uma regra no Scrum guide que dite o tamanho mínimo do Sprint.
Como definir o tempo de cada Sprint?A cada semana de Sprint, a duração da reunião de planejamento deverá acrescentar duas horas. Portanto, para um Sprint de duas semanas, a reunião deverá ter 4 horas.
Quanto tempo dura uma Sprint Review?Reunião de Sprint Review
Para Sprints de um mês, as reuniões de review devem durar, pelo menos, quatro horas; referidas como sessões de time-box.
Que critérios normalmente são utilizados para decisão sobre o tamanho de Sprints?Fatores que influenciam na entrega do Sprint
Duração do Projeto/Entrega. Frequências de reviews desejadas pelo Product Owner. Tolerância do Product Owner por não adicionar histórias.
|