[MÚSICA] [MÚSICA] Olá a todos. Meu nome é Eduardo Guerra esse é o curso de Princípios de Desenvolvimento Ágil de Software e hoje, dentro ali daquela temática do Agile Manifesto vamos estar falando sobre indivíduos e interações. Porquê que isso é tão importante, às vezes até mais importante do que você seguir aí processo ou utilizar uma ferramenta? Então vamos começar aqui com a frase lá do Manifesto Ágil que diz que indivíduos e a interação entre eles é mais importante do que processos e ferramentas. Vou falar pouquinho para vocês sobre experiências que eu tive antes de eu ter esse contato com desenvolvimento ágil. Então assim, quando a gente tem processo preditivo, o quê que é o preditivo? É aquele que diz exatamente como tem que ser as coisas. Então, ele fala assim, olha você vai ter aqui uma atividade, por exemplo de modelagem de software onde você vai entrar. A entrada é documento com os requisitos ou os casos de uso e a saída vai ser, por exemplo, diagrama de classes ou diagrama de sequência. Então, esses processos preditivos, ele tem ali uma sequência de como você tem que fazer as coisas, quais são as entradas e quais são as saídas de cada parte desse processo. E aí as vezes que acontece cada fica muito preocupado seguir processo, escrever o documento corretamente, fica preocupado com a sua caixinha, com o seu espacinho ali, e ele se preocupa receber, com o documento que ele está recebendo fazer aquela saída da forma que o processo diz. E muitas vezes ele não está tão preocupado com o software como todos, ele está preocupado fazer aquela caixinha onde ele está com aquela entrada e aquela saída e pronto. Muitas vezes isso aí não gera uma consciência global de que aquilo ali é software e que o objetivo principal é ter aquilo ali. Às vezes o processo, ele é tão complicado, tem tantos passos que seguir ele não é fácil. E aí acaba, às vezes, seguir o processo, às vezes acaba sendo mais complicado do que criar o próprio software, que é o objetivo final. Então, às vezes acaba se focando muito mais no processo, de que eu tenho que fazer esse documento, eu tenho de fazer aquilo, eu não posso fazer isso antes de fazer aquele outro. Eu tenho que planejar, eu tenho que fazer isso até tal data, que às vezes o software acaba ficando segundo plano. E justamente por não ser fácil seguir esses processos, às vezes a gente precisa de ter ferramentas para poder seguir esses processos. Sem citar nomes, já teve aí processo preditivo bastante famoso que tinha uma suíte enorme de ferramentas associado. Inclusive, e essas ferramentas iam desde os requisitos, ao planejamento, à modelagem do software e como tudo isso era linkado e como tinha uma rastreabilidade enorme entre isso tudo. E aí, tinha todo essa suíte de ferramentas para poder apoiar esse processo. Só que às vezes usar essas ferramentas também não é fácil. Linkar essas ferramentas, fazer com que elas funcionem juntas, fazer isso aí tudo, construir o seu projeto, toda essa configuração também não é fácil, o que acaba às vezes também tirando o foco do projeto, do software, daquilo que tem que ser entregue. E isso não é bom, você ter toda a equipe ali brigando para conseguir seguir o processo corretamente e aí, para isso, brigando para estar utilizando as ferramentas corretamente e, pera aí, mas a gente não tinha que fazer software mesmo? E acaba ficando para segundo plano. Então, esse é o grande problema. Não que você ter processo é ruim não que você utilizar ferramentas é ruim, mas de repente isso não deveria ser o foco principal. Então, aquela questão, e se o foco fosse nas pessoas e na interação entre elas? Se ao invés de eu me preocupar com eu ter uma caixinha que entra o documento X e sai o documento Y, eu falava, o que é que aquela pessoa precisa para trabalhar? De repente, ao invés de eu ficar escrevendo esse documento, seria melhor que eu fosse lá e trabalhasse junto com ela. Que eu fosse lá e conversasse o que é que ela precisa, ao invés de ficar me amarrando dentro desse processo. Então, o desenvolvimento ágil e os métodos ágeis geral, ele tem essa característica de focar mais nas pessoas. De permitir, de dar essa liberdade para as pessoas interagirem e da forma que elas acharem que é mais produtivo para a equipe. E aí, muitos desses processos têm essas caixinhas, vira e fala assim, porque e se o cara tiver dor de barriga, e se ele for atropelado, se acontecer aí alguma coisa, o cara tem que ser substituível. Então assim, os processos clássicos, eles trabalham com essa premissa de que as pessoas, elas precisam ser substituíveis. Eu acho que isso está errado, a questão é você pegar as pessoas que você tem e aproveitar o máximo delas. Eu conheço empresas que utilizam processo ágil e com isso, por exemplo, as equipes vão se adaptando. Então, se você tem uma equipe por exemplo, que tem cara que é muito bom no design gráfico das telas, de repente aquilo ali vai acabar influenciando a equipe, para que ele consiga fazer o que ele é melhor, não que ele não tenha que fazer as outras coisas também, que as outras pessoas não tenham que saber trabalhar naquilo mas a equipe acaba se adaptando para aproveitar o melhor daquela pessoa. Por outro lado, se esse cara às vezes sai da equipe, a equipe precisa se adaptar, então vamos dividir essa tarefa. Já não vai funcionar da mesma forma. Imagina se eu tivesse processo que obrigasse todo o mundo a trabalhar da mesma forma. Então, tem empresas que tem várias equipes e cada uma tem as suas peculiaridades internas justamente para aproveitar da melhor forma possível as pessoas que elas tem. Então, na minha opinião é uma falácia essa questão de que você tem que tornar as pessoas substituíveis, muito pelo contrário. Você tem que pegar cada pessoa e fazer ela única e usar tudo aquilo que ela tem para te oferecer. Cansei de ver pessoas brilhantes sendo mal aproveitadas equipes que tem essa preocupação, que tem essa questão de, não, vamos colocar ele naquela caixinha e ele só pode entrar X e sair Y. Então, as pessoas dentro de projeto, elas têm que estar a se comunicar e interagir da melhor forma possível, da forma mais eficiente para elas. E se a gente pegar aí estudo feito, pegando aí esse gráfico aqui, que mostra a eficiência de comunicação, se a gente pegar o menos eficiente ali é através de papel, é através de documentos, que a gente vai ver que talvez é o que as metodologias clássicas mais utilizem para comunicação da equipe. E lá cima está a comunicação face-a-face na frente de quadro branco que é bastante utilizado várias técnicas de planejamento, modelagem para o desenvolvimento ágil. Então a ideia é, puxa vida, para quê que você vai ficar escrevendo documento se você pode ir ali, o cara trabalha do seu lado, se você pode ir ali conversar, explicar para ele quantas vezes ele precisar. Então vamos trabalhar sempre pensando no que poderia ser melhor, qual a melhor forma, a forma mais eficiente de fazer isso e não nos prendendo a processo ou a uma ferramenta, eu tenho que configurar aquilo ou fazer aquilo. Não que você não deva utilizar ferramenta nenhuma mas se a ferramenta começa a ficar no caminho entre a comunicação da sua equipe, talvez não seja a ferramenta mais adequada para você. A prática do desenvolvimento ágil, a gente utiliza muito o quadro, utiliza muito post-it, utiliza muito esses quadros aí do Kanban por exemplo, mostra que às vezes você tem uma ferramenta simples como quadro e post-it funciona e as pessoas conseguem desenvolver software de qualidade utilizando isso. Então, essa ideia de que essa é uma ferramenta sofisticada, tenho que documentar tudo, não é verdade. Existe muita gente, não estou falando que o gênero antigo não desenvolve software ou não desenvolve bom software. Mas estou falando que tem uma forma mais eficiente e o fato de você usar ferramentas sofisticadas não é obrigatório. Muita gente usa ferramentas simples como quadro e post-its e tem sucesso. Então, talvez ter essas ferramentas sofisticadas e se agarrar muito a elas e aquele processo que está meio que embutido nelas talvez não é a única forma de fazer software e talvez não seja a melhor. Então com isso, acredito que eu tenha passado pouco para vocês essa ideia de indivíduos e interações e porque que isso é muito mais importante do que você ficar se agarrando a ferramentas e processos preditivos. Muito obrigado. Voltamos com o próximo item do manifesto na próxima aula. [MÚSICA] [MÚSICA]