sexta-feira, novembro 07, 2008

LEAN e Desenvolvimento de Software em 2 minutos

Porque não pensar em somar-se qualidade de software aliada às necessidades reais do cliente?

Pode-se dizer que as metodologias tradicionais herdam características das engenharias tradicionais em que se projeta tudo antes para só se construir depois através da mão de obra não intelectual.

Ao se tratar do contexto de desenvolvimento de software, os modelos tradicionais em torno 40% do que é desenvolvido não será utilizado. Já com as metodologias ágeis o foco no desenvolvimento e teste acaba por agregar valor ao cliente, usuário e a organização. Em Metodologias ágeis mudanças são sempre bem vindas.

As metodologias ágeis se caracterizam por serem iterativas, incrementais, auto-gerenciáveis (o programador pode optar por suas preferências), auto-organizável, equipe multifuncional, foco nas pessoas, valor agregado ao cliente, produtos de qualidade. E quando se fala em metodologia ágil é necessário se conhecer em que base circunda sua fundamentação e aí é que falamos como boa parte dessa base de Lean Software Development, que é uma adaptação do Toyotismo.

Em Lean, o modelo é comportamental, ou seja, não exato. Pode-se resumir Lean em uma filosofia de gestão focada na redução de desperdícios (super-produção, tempo de espera, excesso de processamento e defeitos). Só se faz o necessário, o trabalho é reduzido ao essencial e os gastos em desenvolvimento são elaborados de maneira mais prática possível. Se houver erros, elimina-se tudo que não agrega valor. Sua filosofia de trabalho é baseada no empower, ou seja, dá maior poder aos trabalhadores, aproveita-se o limite dos profissionais, dando-se poder à ponta.

Além disso, há as seguintes características: o respeito aos trabalhadores, aumento do total da capacidade da carga produtiva, incentivo aos trabalhadores passando responsabilidade e autoridade.

Simplificando, Lean resume-se a alguns princípios básicos:
  1. Eliminar o desperdício
  2. Aumentar feedback
  3. Comprometimento do tempo
  4. Entregas rápidas
  5. Construir a integridade do sistema
  6. Poder ao time (empower)
  7. Enxergar o todo
quarta-feira, novembro 05, 2008

PONG no quadro



Eis o PONG no quadro, um projeto de software 3D da empresa ENESS, da Austrália. O dispositivo pode perceber e reconhecer formas negras interagindo com uma bola virtual.
terça-feira, novembro 04, 2008

Leituras Recomendadas em Metodologia Ágeis

As metodologias ágeis baseiam-se em práticas semelhantes às utilizadas no processo just-in-time oriundos do Toyota Way (Liker) da década de 50, cuja característica principal é o feedback. Através delas é possível se gerenciar com eficácia mudanças no escopo do projeto.

Aos interessados em Metodologias Ágeis, eis algumas bibliografias extremamente recomendadas:

The Mythical Man-month de Frederick P. Brooks Jr.
Agile Project Management with Scrum de Ken Schwaber
Extreme Programming Explained de Kent Beck e Cynthia Andres
Peopleware - Productive Project and Teams de Tom DeMarco e Timothy Lister
Managing the Design Factory de Donald G. Reinertsen
Implementing the Lean Software Development de Mary e Tom Poppendieck
Joel on Software de Joel Spolsky
Agile Estimating and Planning de Mike Cohn
Lean Software Development an Agile Toolki de Mary e Tom Poppendieck
Balancing Agility and Discipline - A guide for the Perplexed de Barry Boehm e Richard Turner
Agile Software Development with Scrum de Ken Schwaber e Mike Beed

Outra recomendações em português aqui.