XP - Valores da eXtreme Programming – Neurônio 2.0
segunda-feira, 19 de outubro de 2009

XP - Valores da eXtreme Programming

Este é o terceiro artigo de uma série de post sobre "XP - Extreme Programming". Se assim desejar, leia os posts anterior a este:


A Extreme Programming (XP) tem como base quatro valores fundamentais que sustentam as boas práticas de desenvolvimento de software: comunicação, feedback, simplicidade e coragem.


  • COMUNICAÇÃO
Tradicionalmente na indústria do software, as equipes de desenvolvimento gastam um valioso esforço na tentativa de trocar informações por meio de extensos documentos escritos. Devido à ineficiência desse meio, nem sempre é possível reproduzir com exatidão uma informação e dessa forma elas são freqüentemente interpretadas de forma incorreta ou incompleta.

A maioria dos sistemas de computador é produzida por uma equipe de desenvolvedores, sendo assim, cada componente da equipe precisa trocar informações entre si e com o cliente sobre cada detalhe do projeto. Os problemas mais comuns ocorrem por erro de comunicação entre as pessoas, algumas vezes o cliente não conversou sobre algo importante e, outras vezes, o desenvolvedor não soube fazer as perguntas corretas para o cliente.


  • FEEDBECK
Um feedback constante é a base de todos os processos ágeis de desenvolvimento, e é a filosofia fundamental do XP, pois é ele que permite uma maior produtividade, uma vez que os trabalhos da equipe de desenvolvimento são influenciados e direcionados de acordo com a constante resposta do cliente sobre determinada atividade. O feedback não é exclusividade do XP ou das metodologias ágeis, ela também está presente nos processos tradicionais. O diferencial está nos tempos de execução, pois nos processos tradicionais há uma defasagem muito grande no tempo da troca de informação entre cliente e desenvolvedores, isto torna difícil tanto para o cliente como para a equipe a encontrar rapidamente a solução desejada que atenda as necessidades de ambas as partes.


  • SIMPLICIDADE
Simplicidade refere-se a desenvolver apenas o suficiente para atender as necessidades atuais do cliente, desprezando qualquer funcionalidade não essencial. Mesmo que tal funcionalidade esteja ligada com a evolução do produto, ela deve ser descartada até que se tenha absoluta certeza da sua necessidade. Assume-se assim a seguinte estratégia: desenvolver algo simples hoje e fazer modificações futuramente, ao invés de desenvolver algo complexo hoje e correr o risco de não ser utilizado no futuro.

Ao codificar uma funcionalidade pensando em problemas futuros, o desenvolvedor recorre a um erro muito freqüente: o trabalho especulativo. Trabalho este em que o desenvolvedor para “ganhar tempo” assume algumas premissas das quais não tem absoluta certeza e implementa uma funcionalidade que possa ser utilizada no futuro, mas na maioria das vezes ele erra ao assumir essas premissas e dessa forma é preciso refazer todo o trabalho. Teles ainda afirma sobre os riscos de assumir o trabalho especulativo, pois quando o desenvolvedor implementa uma funcionalidade além do necessário, ele investe tempo e dinheiro em algo que pode nunca ser utilizado.


  • CORAGEM
A XP é uma metodologia de software que se baseia em diversas premissas que contrariam os processos tradicionais de desenvolvimento, justamente por isso, é preciso que todos da equipe tenham coragem para adotá-las. É preciso coragem para implantar comunicação entre desenvolvedores e clientes, pois não são todas as pessoas que possuem facilidade de comunicação e conseguem manter um bom relacionamento. É necessário também coragem pra aplicar refactoring em um código que está funcionando corretamente somente para torná-lo mais simples e legível.


Leia também o próximo dessa série "XP - Extreme Programming"

1 comentários :

Robinson Chieratto disse...

É isso ai José, Parabéns, você vai ser daqui a pouco também, além do NeuroBoy, o AgileBoy! Abração!

Postar um comentário

 
;