XP e a Teoria das Restrições
A metodologia XP não resolve todos os problemas de uma organização. O principal foco dela é no desenvolvimento de software. A Programação Extrema não resolverá problemas das áreas de marketing, vendas ou recursos humanos. Porém a adoção dessa metodologia acarreta mudanças em toda empresa. Vamos mostrar porque isso acontece. Para isso usaremos o exemplo da Teoria das Restrições, mostrada no livro Extreme Programming Explained - Second Edition (Kent Beck).
Suponha que você tenha uma lavanderia como a da figura.
Sua lavadora de roupas demora 45 minutos para limpar as roupas, a secadora 90 minutos para secar. Passar roupas demora 15 minutos. O gargalo desse processo está na secadora. Mesmo que você compre mais uma lavadora, não conseguirá ter mais roupas terminadas. Pode ser que tenha mais roupas lavadas temporariamente, mas terá que armazená-las em algum lugar durante um tempo até que a secadora termine o trabalho anterior.
A Teoria das Restrições diz que num sistema existe uma restrição (gargalo) por vez. Para melhorar o processo como um todo, você precisa encontrar onde está a restrição.
Como encontrar restrições e eliminá-las? O trabalho “empilha” nos pontos de restrição. A secadora é um gargalo. Para melhorar meu processo de lavagem, preciso aumentar a velocidade de secagem. Posso comprar uma secadora nova. Posso usar uma lavadora que centrifuga a roupa e diminui o tempo de secagem. Ou posso estender a roupa num varal:
Uma vez eliminada uma restrição, outro gargalo surgirá no processo e deverá ser otimizado.
Em desenvolvimento de software os gargalos precisam ser identificados. No processo tradicional (cascata) temos:
Levantamento de Requisitos » Especificação » Implementação » Testes de Integração
Se existirem pilhas de funcionalidades não implementadas, o gargalo está na implementação. Se há muitas funcionalidades implementadas esperando para serem testadas, o gargalo está nos testes de integração e assim por diante. Esse modelo é conhecido como “push”. XP usa o modelo “pull”:
As histórias são especificadas em detalhes imediatamente antes de serem implementadas. Os testes são extraídos (pulled) da especificação. A interface é definida para satisfazer os testes. O código é escrito para satisfazer a interface e os testes. O design é refinado para atender às necessidades do código.
A Teoria das Restrições é interessante para ajudar a identificar qual é o seu processo. Vale ressaltar que o desenvolvimento de software é um processo humano, não uma fábrica. Não pense nas pessoas como caixas desse processo.
O uso de XP na empresa pode trocar o gargalo do processo para algum lugar fora da área de desenvolvimento de software. Por isso, XP pode afetar toda a empresa quando ela resolve adotar a metodologia. Por exemplo, se os programadores começarem a implementar mais rápido do que o time de produtos consegue especificar, o gargalo vai parar no time de produtos. Beck conta que algumas vezes equipes de software produtivas são tristemente despedidas e XP eliminado, pois traz a tona ineficiências em outras áreas da empresa. Daí a importância de ter o apoio de algum alto executivo que defenderá a metodologia perante outras áreas.
Tags: programação extrema, restrições, software, XP



17 de agosto de 2008 às 7:36
[...] de metodologias ágeis de desenvolvimento da Locaweb > XP e a Teoria das Restrições under: Administração, Desenvolvimento Tags: Desenvolvimento ágil, XP Digg it Add to [...]
17 de agosto de 2008 às 16:27
É por isso que gosto tanto do XP. Vai direto ao ponto sem burocrácia. Ótimo artigo. Parabéns. Leitura obrigatória para gerentes de equipes de desenvolvimento. Vou recomendá-lo! Um abraço!
18 de agosto de 2008 às 23:27
Excelente artigo, muito bem exemplificado!
Aproveito pra recomendar o filme “A Meta” para mais informações sobre a teoria das restrições.
Abraço
4 de dezembro de 2008 às 10:00
Andre onde encontro este filme?
de preferencia para baixar….
Obrigado