Do que se trata o artigo

Neste artigo veremos como equilibrar a aplicação de práticas, princípios e valores no desenvolvimento de software a fim de criar uma cultura organizacional enxuta e ágil. O conceito abordado neste artigo serve para a criação, adoção e disseminação da cultura Lean e Ágil de forma efetiva em uma organização que desenvolve software.

Em que situação o tema útil

Qualquer empresa que visa aprimorar seus métodos de desenvolvimento vai usufruir do conhecimento descrito neste artigo.

A velocidade com que ocorreu o desenvolvimento tecnológico nos últimos 50 anos é certamente impressionante. Em poucos anos podemos ver tecnologias surgindo e evoluindo muito rápido, algumas vezes se tornando padrões da indústria. Outras, porém, desaparecem com a mesma velocidade que vieram. Esta mesma evolução pode ser também notada nos métodos que utilizamos para desenvolver software, mas possivelmente de uma forma não tão rápida.

Por muito tempo a indústria se ancorou em métodos que buscavam maior previsibilidade para o desenvolvimento de software, procurando entender de antemão e geralmente fixar qual seria o escopo, o custo e o prazo de desenvolvimento. Ao longo dos anos, contudo, percebeu-se que a tão esperada previsibilidade não se provou verdadeira, especialmente para projetos nos quais se busca o desenvolvimento científico de tecnologias que ainda não existem. Contudo, mesmo para projetos em que a tecnologia é de certa forma trivial, a complexidade dos negócios envolvidos torna também o processo imprevisível. É muito comum o mercado mudar suas necessidades, ou mesmo o próprio cliente não saber o que quer até que comece a ver partes disso funcionando. Quando o conhecimento sobre a tecnologia e sobre os negócios é baixo, a gestão dos projetos torna-se muito complexa, algumas vezes gerando caos e anarquia. Observe a Figura 1.

Figura 1. Interseção do conhecimento entre tecnologia e negócio.

Desta forma, percebeu-se que os métodos tradicionais de desenvolvimento como o Waterfall ou mesmo o RUP eram pesados demais em termos de documentação e hierarquia entre os indivíduos e não permitiam o grau de aprendizado necessário para que pudéssemos simplificar o desenvolvimento de software. Assim, no final dos anos 90, alguns autores começaram a experimentar métodos mais leves, baseados em uma maior interação entre os indivíduos e também na entrega incremental e constante de software funcionando, que pudesse ser utilizado pelo cliente mesmo antes de ter seu escopo completo. Algumas vertentes surgiam e estes pesquisadores observaram semelhanças entre os experimentos. Assim, em 2001, 17 especialistas em Engenharia de Software se reuniram na cidade de Salt Lake City nos Estados Unidos e assinaram o que hoje conhecemos como Manifesto Ágil para o desenvolvimento de software.

Nesta mesma época, algumas metodologias começaram a se consolidar e então foi fundada a Agile Alliance, uma organização sem fins lucrativos que tem por objetivo disseminar o uso e o desenvolvimento de todas as metodologias que compartilham dos mesmos princípios e valores do manifesto ágil. O grande objetivo do manifesto e da Agile Alliance é fomentar o desenvolvimento de software para permitir uma entrega de maior valor agregado mais rapidamente, buscando uma indústria de software mais produtiva, humana e sustentável.

Com o advento dos métodos ágeis, podemos observar uma transição da indústria de software. Hoje, 10 anos depois do evento em Salt Lake City, já falamos que o desenvolvimento ágil é “main stream” na indústria e que as empresas que não se adaptarem estão possivelmente fadadas ao fracasso, seja no curto, médio ou longo prazo.

Infelizmente, hoje é muito fácil observar que diversas empresas ainda sofrem com ambientes improdutivos, de baixíssima qualidade e, em alguns casos, desumanos. Sendo assim, encontrar uma maneira efetiva e menos dolorosa para a adoção de métodos ágeis tornou-se vital. Em geral, as empresas iniciam este processo de adoção com Scrum, por tratar-se de um framework simples e de fácil utilização. Apesar de ser um framework que permite uma melhora significativa da produtividade e da gerenciabilidade, o Scrum peca em não trazer nenhuma orientação sobre as práticas de engenharia. Ele permitirá maior agilidade em responder às mudanças impostas pelo mercado, mas responder a estas mudanças pode ser traumático caso não estejamos preparados com uma base de código sólida e que nos permita real segurança na hora de mudarmos nosso software. Como a maioria das empresas que querem adotar métodos ágeis não tiveram o uso de boas práticas de engenharia, adotar o Scrum sem dar a devida atenção ao código pode ser realmente doloroso.

Por este motivo, criou-se um conceito que visa auxiliar as empresas a equilibrar corretamente o uso de práticas, princípios e valores em todos os níveis de uma organização, com o objetivo de promover uma mudança segura e sustentável na cultura interna e nos métodos de desenvolvimento. Este conceito foi batizado de “A Pirâmide Lean”, apresentado na Figura 2.

Figura 2. Pirâmide Lean.

O primeiro aspecto que precisamos trabalhar quando desejamos adotar o desenvolvimento ágil com eficácia é a transformação cultural necessária para o sucesso da empreitada. Um caso verídico ocorreu em uma das maiores empresas de ERP do Brasil. Lá estavam presentes cerca de 35 pessoas, incluindo o presidente e todo o conselho de administração, juntamente com o primeiro nível de gerências. Durante o trabalho, o presidente disse: “esse método é realmente maravilhoso e acredito que pode resolver nossos problemas, mas não posso simplesmente baixar um decreto e esperar que seja usado”. Com toda razão, a mudança cultural não pode ser imposta, mas precisa ser suportada. O suporte à mudança precisa ser geral, não somente da gerência executiva, mas também do chão de fábrica. Normalmente, a primeira reação das pessoas é a resistência – sendo assim, imposição nunca será o melhor caminho. É preciso abrir espaço, dar as ferramentas adequadas e criar um ambiente que seja propício à mudança.

Uma das primeiras coisas necessárias para isso é uma boa definição e um claro entendimento dos valores e princípios que a organização segue. Os valores não servem apenas para estar num quadro bonito na recepção da empresa. Conhecer e exercitar os valores precisam ser uma tarefa diária de todos os membros da organização. Na OnCast, por exemplo, não se trabalha como uma organização hierárquica e burocrática; assim não há regras para tudo. Por este motivo, todos os colaboradores são orientados a refletirem quando estão tomando uma decisão. Se esta decisão fere algum valor da empresa, eles são encorajados a procurar uma alternativa. Veja a Figura 3.

Figura 3. Valores considerados.

Além de definir adequadamente seus próprios valores, uma organização que deseja ser efetivamente ágil precisa também entender e trabalhar com os valores e princípios do manifesto ágil. O Manifesto Ágil costuma ser mal interpretado, especialmente por pessoas que nunca tiveram contato e não conhecem o que significa ser ágil. Por este motivo, é importante também refletir sobre seus princípios.

Depois de entender bem os valores da organização, é preciso então compreender os seus princípios. Os princípios do manifesto ágil são uma excelente base, mas os princípios do Lean são também utilizados na Pirâmide Lean como pilares para a criação de uma cultura que possa permear toda a organização e assim criar uma empresa efetivamente ágil e enxuta.

Neste conceito da Pirâmide Lean, foi criado um sumário dos princípios do Lean para que assim possamos entender de forma simplificada como eles se aplicam na organização. Vamos a eles:

• Entregar um fluxo contínuo de valor para os clientes;

• Criar uma organização que aprende;

• Criar um ambiente de melhoramento contínuo.

Ter uma mente pensando de forma enxuta não é tarefa muito simples. Às vezes parece fácil, mas geralmente as pessoas estão habituadas – ou acomodadas – e ficam praticamente cegas para os desperdícios existentes. O mesmo ocorre com a questão do aprendizado. Quando se fala em uma organização que aprende, não se fala apenas em enviar os colaboradores para treinamentos ou contratar consultores externos. Deve-se criar um processo de trabalho onde o aprendizado esteja implícito e seja reconhecido como fundamental para o próximo passo, a melhoria contínua. Vamos observar também que simplesmente aprender sobre o que precisa ser melhorado não é suficiente. É preciso ter coragem para adaptar e mudar e, acima de tudo, disciplina e iniciativa para fazer isto continuamente.

Além desses princípios, não se pode deixar de frisar alguns princípios do Lean definidos por Mary e Tom Poppendieck que são também uma base sólida para a construção do pensamento Lean:

• Construir com integridade;

• Respeitar as pessoas;

• Entregar rápido;

• Ver o todo.

Na indústria de software existem profissionais extraordinários, mas há também muitos deprimentes. Só há dois motivos para alguém fazer um trabalho ruim: falta de conhecimento ou má vontade. De qualquer forma, a todos os seres humanos viventes foi dado uma coisa igual, o tempo. O tempo é igual para todos. Por isso, devemos aproveitar as oportunidades para fazer bem feito e com integridade absoluta tudo o que nos foi confiado.

...
Quer ler esse conteúdo completo? Tenha acesso completo