Estamos vivenciando e curtindo a viagem de tentar criar uma cultura ágil.
Mas se analisarmos o relativo sucesso que estamos tendo, ele não se dá somente por conta da adoção de métodos e práticas ágeis de gestão de projetos e produto ou então de engenharia, como Scrum, Lean e Kanban.
É fundamental e determinante a gestão aplicada na Just (uma gestão transparente e participativa), baseada em conceitos de Management 3.0. É uma gestão digna de uma empresa que está lutando dia após dia para conseguir aculturar as pessoas e torná-las ágeis.
Na nossa visão, para conquistar terreno nessa batalha, esse é o modelo mais adequado.
Se você está lendo esse post, a pergunta que deve estar passando na sua cabeça é:
“Mas por que ninguém pensou em criar o tal do Agile antes?” ↩
Vamos tentar ser breve, mas iremos explicar nossa visão sobre o motivo de demorarem tanto para inventarem o tal Agile.
Gerência de projetos: de onde vem, como se alimenta e onde vive? ↩
A gerência de projetos convencional começou a ser moldada durante a Revolução Industrial, ou seja, faz muito tempo, foi tipo em… 1904. Provavelmente nem os seu pais eram nascidos. Era usada fortemente em projetos da indústria naval, construção civil e engenharias mecânica e militar.
Uma das pessoas mais influentes, se não o principal, foi Henry Gantt. Ele foi criador de técnicas de planejamento e de controle. Seu trabalho é precursor a muitas ferramentas de gerência de projeto. Veja bem, não estamos atribuindo a ele a responsabilidade do surgimento recente do ágil. Mesmo porque, note a palavra CONTROLE devidamente grifada!
Gerenciamento de projeto tradicional em software: desafio aceito ↩
Durante a década de 70 surgiu a tão famosa engenharia de software. Pare agora para pensar sobre todos os impérios de tecnologia que conhecemos hoje. Eles são filhos de algo que tem apenas quarenta e poucos anos.
Uma engenharia nova, nesse contexto, naturalmente herdaria as ferramentas e práticas (principalmente as de gerenciamento de projetos, nosso foco) das engenharias mais antigas e tradicionais.
“Probe, sense e response” – tratando sistemas complexos da maneira correta ↩
No gerenciamento de projetos de engenharias tradicionais, há uma grande base técnica de práticas a serem aplicadas no avanço do desenvolvimento. Porém, grande parte de tais processos não cabem à gerência de software, pois esses projetos são totalmente malucos e imprevisíveis.
Exemplo: edifícios são sólidos e estáticos; já softwares são, ou deveriam ser, dinâmicos e escaláveis, se necessário – a Ciência Exata menos exata que existe.
Ao analisarmos o quadro Cynefin de Dave Snowden, afirmamos que gerenciamento de software é complexo, enquanto que o restante está mais para complicado. No quadro fica explícito: complicado está para previsível da mesma forma que complexo está para imprevisível.
Aqui, vale lembrar a diferença: Complexo não é Caótico!!!
Complicado é a relação direta entre ação e reação, onde as medidas ou os meios de resolução podem estar dispostos. Basta uma análise mais profunda para saber qual é o melhor caminho.
Complexo é totalmente emergente. As práticas acabam sendo aplicadas ou até mesmo criadas sob uma demanda baseada em cada contexto, sempre respondendo a mudança dada pelo surgimento de dificuldades durante a jornada.
Gênesis! Modelo iterativo e incremental – o inicio de tudo (ou não)! ↩
A primeira manifestação da maneira ágil de desenvolver softwares surgiu muito antes de conhecê-lo como fazemos atualmente.
O modelo de desenvolvimento incremental e iterativo já era usado na indústria de hardware. Pouco depois, o mesmo modelo foi utilizado no desenvolvimento de software, porém a maioria dos projetos desenvolvido era de características experimentais (o famoso protótipo!).
Segundo o dicionário, o significado de incremental é: “que aumenta gradualmente, por etapas regulares”. E o de iterativo é: “reiterado, repetido”.
Em software, o modelo nada mais é do que a maneira de ir entregando partes distintas de um sistema no de final de ciclos.
Com isso, ganhamos mais controle para responder as mudanças necessárias que descobrimos ao longo da construção do projeto, tratando sistemas complexos como merecem. São duas técnicas distintas que funcionam muito bem juntas.
Durante os anos 70, alguns estudos comprovaram que esse modelo forneceu resultados rápidos e benefícios empresariais, o que lançou um movimento em busca de algo ainda desconhecido – que pouca coisa mais tarde resultou na cultura ágil.
Alguns métodos, principalmente o Scrum, cresceram além da indústria de software. Todos desejam os benefícios proporcionados pelos mesmos conceitos básicos do modelo iterativo e incremental.
Calma! Agora vem a parte da cultura ↩
Devido a necessidade de reunir e solidificar as melhores práticas e padrões de desenvolvimento, 17 profissionais (monstros) do Agile, criadores de métodos de produção de software, se reuniram durante um final de semana para documentar as características comuns entre esses métodos.
Eles são frutos do modelo iterativo e incremental, criados durante os anos 80 e 90, com a causa comum de melhorar a forma de trabalhar com software.
Reuniram a essência e a motivação de cada um dos métodos com a vontade de mudar para melhor e impactar positivamente a vida das pessoas. Foram criados doze valores e quatro diretrizes de um manifesto (o Manifesto Ágil), que são os pilares do que conhecemos como a cultura ágil.
Essa cultura é sustentada e baseada em quatro aspectos:
- Pessoas = Indivíduos e Interações mais do que Ferramentas e Processos
- Confiança = Colaboração com o Cliente mais do que Negociação de Contratos
- Valor = Software funcionando mais do que Documentação Abrangente
- Complexidade = Responder a Mudança mais do que Seguir um Plano
Em uma rápida pesquisa na internet descobrimos o que cultura significa:
“Cultura é o conjunto de manifestações artísticas, sociais, linguísticas e comportamentais de um povo ou civilização. Portanto, fazem parte da cultura de um povo as seguintes atividades e manifestações: música, teatro, rituais religiosos, língua falada e escrita, mitos, hábitos alimentares, danças, arquitetura, invenções, pensamentos, formas de organização social, etc.”
Antes, tínhamos apenas métodos e práticas. Após a criação do manifesto, foi iniciado um novo paradigma baseado nas diretrizes citadas acima, não só com relação ao gerenciamento de software ou em relação ao desenvolvimento, mas sim da maneira de se portar, pensar e agir!
A cultura ágil vem sendo propagada massivamente nos últimos tempos, pois a mentalidade presente nela se ajusta muito bem aos tempos que vivemos. A mudança foi grande! Mudamos a maneira de gerenciar negócios, de contratar e de se relacionar. Ou seja, quando queremos ser agilistas, nós mudamos!
É simplesmente a mudança que você tem que promover em você e que acaba gerando a resistência conhecida por muitos que estão tentando se tornar ágil.
Porque ser ágil não é simplesmente rodar sprints, fazer daily meeting ou então montar um kanban na parede, e sim saber ser transparente, dar e receber feedback, conflitar, confiar, sempre enxergar o valor além do código escrito e entender que o seu melhor amigo é o cliente.
Podemos afirmar que o ágil não é a solução final de todos os problemas, pois mudar o mindset das pessoas é algo complicado e custoso.
A empresa só conseguirá afirmar que a cultura dela é ágil a partir do momento que as pessoas se tornam agilista ou que pelo menos compreendam o valor dele.
Martin Fowler, um jovem senhor inglês, influente e famoso na comunidade ágil e de engenharia de software, escreveu um artigo em 2009 chamado Flaccid Scrum, no qual existe uma frase bem interessante: “Popularidade e Difusão Semântica tendem a andar juntos”.
Difusão Semântica é o fenômeno capaz de distorcer o significado real de um termo, algo parecido com o que chamamos de telefone sem fio.
Quanto mais as práticas e métodos ágeis ganham popularidade, mais nos distanciamos dos valores e princípios. Isso acaba gerando a distorção da essência.
Muita gente mundo afora acredita que o ágil ajuda a entregar mais em menos tempo – o que na nossa visão não é verdade.
Veja bem: nosso desejo não é afirmar, mas colocar nosso ponto de vista.
O termo ágil foi baseado no agility, um esporte praticado por um cachorro e seu guia.
Ao observar o esporte, o padrão que notamos é a capacidade que o cachorro tem para se adaptar e ultrapassar os obstáculos que aparecem no caminho(Sistemas complexos novamente :D).
Na nossa visão, o que mais acontece no tempo de vida útil de um projeto são obstáculos desconhecidos e a mesma rapidez e destreza que o cachorro demonstra para se desvencilhar dos obstáculos é o que esperamos de um time ágil.
Só conseguimos concluir isso porque estamos inseridos em uma organização que está promovendo uma grande mudança sob as asas da cultura ágil.
Estamos vivenciando e praticando cada dia mais essa viagem e estamos vendo o ágil funcionar bem. E graças a ele estamos aqui escrevendo esse post.
É por isso que foi tão fácil se apaixonar pelo ágil: ele te move, te energiza e acima de tudo é inovação! Um bebê panda é apaixonante, mas o ágil talvez seja mais.
No nosso próximo post vamos começar a analisar conceitos, métodos, ferramentas e praticas bem de perto e ver quem são os responsáveis por essa popularidade crescente do ágil.