Posts com o tag ‘metodologias’

Webcast - Programação eXtrema (XP)

Terça-feira, 24 de junho de 2008 por Elson Barbosa

Essa semana teremos mais um webcast sobre Metodologias Ágeis, dessa vez com enfoque na Programação eXtrema (XP). Segue o post publicado no blog oficial da Locaweb:

No dia 27 de Junho, Sexta-feira, às 15h, faremos uma transmissão ao vivo sobre Programação eXtrema ou eXtreme Programming (XP).

O evento será apresentado por Daniel Cukier, líder de desenvolvimento de software na equipe de Telecom e autor do blog http://agileandart.blogspot.com, que falará sobre as principais vantagens dessa metodologia nas equipes de desenvolvimento de software.

A duração prevista é de 60 minutos e a participação é gratuita.

Para participar clique aqui, preencha o cadastro e faça a sua inscrição.

Se você já se cadastrou, clique na aba “Já sou cadastrado”, digite o seu e-mail e inscreva-se no evento.

Aproveite pois as vagas são limitadas!

Obs: o webcast é um projeto piloto da Locaweb e podem ocorrer instabilidades durante a sua apresentação.
Como sempre, sugestões são MUITO bem-vindas!

Programação eXtrema - eXtreme Programming ou simplesmente XP

Sexta-feira, 20 de junho de 2008 por Daniel Cukier

A Programação Extrema é uma das metodologias ágeis mais conhecidas. Foi criada por Kent Beck e ganhou notoriedade a partir da OOPLSA 2000 (a maior conferência internacional de Orientação a Objetos). A primeira reação a XP foi bem controversa. Alguns amaram (normalmente os programadores), outros odiaram. Em XP, o bom programador se sente mais livre para fazer o que faria se não existissem regras. Ao mesmo tempo, XP obriga o “mau” programador a se comportar de forma similar ao bom.

A Programação Extrema é baseada em cinco valores, alguns princípios e várias práticas. Ela se destina a times de até dez programadores, projetos de curto e médio prazo.

Os cinco valores de XP são:

  1. Comunicação – para um projeto de sucesso é necessária muita interação entre os membros da equipe, programadores, cliente, treinador. Para desenvolver um produto, o time precisa ter muita qualidade nos canais de comunicação. Conversas cara-a-cara são sempre melhores do que telefonemas, e-mails, cartas ou fax.
  2. Feedback as respostas às decisões tomadas devem ser rápidas e visíveis. Todos devem ter, o tempo todo, consciência do que está acontecendo.
  3. Coragem – alterar um código em produção, sem causar bugs, com agilidade, exige muita coragem e responsabilidade.
  4. Simplicidade – para atender rapidamente às necessidades do cliente, quase sempre um dos valores mais importantes é simplicidade. Normalmente o que o cliente quer é muito mais simples do que aquilo que os programadores constróem.
  5. Respeito – todos têm sua importância dentro da equipe e devem ser respeitados e valorizados. Isso mantém o trabalho energizado.

XP, valores, princípios e práticas

Em XP existem quatro papéis principais:

  • Programadores - foco central da metodologia, sem hierarquia.
  • Treinador (ou coach) - pessoa com mais experiência no time, responsável por lembrar os outros das regras do jogo (que são as práticas e os valores de XP). O treinador não precisa necessariamente ser o melhor programador da equipe e sim o que mais entende da metodologia XP.
  • Acompanhador (ou tracker) - responsável por trazer para o time dados, gráficos, informações que mostrem o andamento do projeto e ajudem a equipe a tomar decisões de implementação, arquitetura e design. Algumas vezes o próprio coach faz papel de tracker. Outras o time escolhe sozinho quem exercerá este papel.
  • Cliente – em XP o cliente faz parte da equipe. Deve estar sempre presente e pronto para responder às dúvidas dos programadores.

Práticas de XP

A parte principal da metodologia são as Práticas. Para descrevê-las precisaremos de alguns posts. Existem vários livros que falam das práticas de XP e podem ajudar o leitor a obter maiores detalhes. Os principais são os escritos pelo próprio criador da metodologia (Extreme Programming Explained: Embrace Change). Neste post faremos um breve resumo das práticas e em breve entraremos nos detalhes de algumas delas.

  • Planejamento - assim como no Scrum, existe uma fase de planejamento, quando desenvolvedores e cliente se encontram para priorizar e estimar histórias.
  • Fases Pequenas - cada fase é chamada de iteração (Sprint no Scrum). Elas devem durar no máximo 30 dias, mas o ideal é que seja 15 ou até 7 dias.
  • Design Simples - seguindo o valor simplicidade, os projetos devem ser simples e atender a cada passo somente o que foi pedido. Nada de matar formigas com canhão!
  • Testes - todo desenvolvimento inclui testes. Kent Beck diz que código sem teste não existe. Os testes devem ser escritos de preferência antes do desenvolvimento (TDD - test driven development) e sempre devem rodar de forma automatizada.
  • Refatoração - é um conjunto de técnicas para modificar o código do sistema sem alterar nenhuma funcionalidade. O objetivo é simplificar, melhorar o design, limpar, enfim, deixar o código mais fácil de entender e dar manutenção.
  • Programação Pareada - em XP dois programadores sentam juntos no mesmo computador e programam juntos. Enquanto um programador digita, o outro observa, pensa em melhorias, alternativas. Falaremos mais sobre a programação em pares e seus benefícios
  • Propriedade Coletiva - O código fonte não pertence a um único programador. Todos da equipe são responsáveis. Todos alteram código de todos (mas sempre rodando os testes para se certificar que nada foi quebrado)
  • Integração Contínua - depois de testada, cada nova funcionalidade deve ser imediatamente sincronizada entre todos os desenvolvedores. Quanto mais freqüente for essa integração, menores são as chances de conflitos de arquivos que vários programadores alteram simultaneamente
  • Semana de 40 horas - programar é uma atividade intensa e que não rende se o programador não estiver descansado e disposto. Por isso, 40 horas de trabalho por semana é essencial para a saúde do time.
  • Cliente Sempre Presente - o cliente não é alguém de fora, mas sim um membro da equipe. Ele deve estar sempre disponível e pronto para atender às dúvidas dos desenvolvedores.
  • Padronizações - se todo o time seguir padrões pré-acordados de codificação, mais fácil será manter e entender o que já está feito. O uso de padrões é uma das formas de reforçar o valor comunicação.

São muitas práticas! Para colocá-las em produção é preciso paciência e conhecimento. O ideal é começar com 2 ou 3 delas e ir inserindo lentamente as outras, sentindo as dificuldades, refletindo e avaliando as mudanças. Muitas das práticas só serão aprendidas na prática (ha ha! por isso chamam práticas). Aos poucos falaremos mais sobre cada uma delas e daremos dicas de como podem ser aplicadas em conjunto. O mais legal é que as práticas se sustentam: uma ajuda a outra a tornar o projeto mais eficiente e ágil.

Dia 26/junho às 15h farei uma palestra online sobre XP. O endereço para quem quiser se inscrever é:
http://www.locawebcast.com.br/webcast.aspx

Webcast - Metodologias Ágeis e Scrum

Quinta-feira, 12 de junho de 2008 por Elson Barbosa

Repassando o post publicado no blog oficial da Locaweb:

Na próxima Sexta-feira, 13 de Junho às 15h, faremos uma transmissão ao vivo sobre a utilização de Metodologias Ágeis e Scrum no desenvolvimento de Software.

A duração prevista é de 60 minutos e a participação é gratuita.
Para participar clique aqui, preencha o cadastro e faça a sua inscrição.

Se você já se cadastrou, clique na aba “Já sou cadastrado“, digite o seu e-mail e inscreva-se no evento.

As vagas são limitadas!

O evento será apresentado por Elson Barbosa, Gerente de Projetos, que destacará os principais benefícios destas metodologias nas equipes de desenvolvimento.

Obs: o webcast é um projeto piloto da Locaweb e podem ocorrer instabilidades durante a sua apresentação.

Como sempre, sugestões são MUITO bem-vindas!