É difícil encontrar uma pessoa que não queiraser tratado com respeito. Mas deve haver uma razão para este estado de coisas. Por exemplo, quando uma pessoa é um especialista altamente reconhecido na área de desenvolvimento de software. E para isso você precisa estudar. E no âmbito deste artigo, consideraremos o que é Agile, quais são os seus benefícios e como compreender esta tecnologia.
Informações gerais
Primeiro vamos lidar com a parte técnicamomentos. O que é ágil? A tradução (literal) desta palavra do inglês é “vivo, móvel”; “flexível” é mencionado com menos frequência. E por falar nisso, isso é uma abreviatura. O nome completo desta abordagem é Ágil desenvolvimento de software.Mas como era muito longo, decidiu-se encurtá-lo. E agora eles apenas dizem Agile. A tradução como “flexível” é utilizada porque corresponde melhor à situação real.
O que está incluído aqui?
Vamos continuar a ver o que é Agile.Aqui gostaria de focar no fato de que esta é uma abordagem flexível, que se baseia em muitas metodologias diferentes (Scrum, XP, Kanban, Lean). Para entender melhor o tema, vamos traçar paralelos. Vamos supor que as tecnologias Ágeis sejam o processo de nascimento do Universo. O produto final é o próprio mundo existente. E a grande explosão é o problema mais doloroso que você encontrará: alterar a lista de requisitos de um produto. Normalmente, os processos de criação envolvem o uso de um modelo em cascata. Nesse caso, tudo acontece de forma sequencial e por etapas. Esta abordagem pode ser expressa brevemente: vejo uma meta - vou em direção a ela. E se os requisitos para o resultado final mudarem, às vezes será necessário refazer quase tudo de novo. O que torna esta situação ainda mais difícil é a tentativa de fingir que tudo está normal e que precisamos seguir em frente.
E então o Agile, uma metodologia de gestão, é chamadolute contra tudo com sua flexibilidade. Esta miscelânea minimiza vários riscos através do uso de conjuntos de princípios. Todos eles estão refletidos no Manifesto Ágil, lançado em 2001. Resumindo, eles soam assim:
- O principal são as pessoas, não as coisas.
- Colabore em vez de ler o contrato.
- A documentação não deve interferir no seu trabalho.
- Mude o mais rápido possível.
Pode parecer muito vago e impreciso, mas vamos ser mais específicos.
Desenho de processo
Considerando o que é Agile, vamos nos voltar para uma das metodologias mais populares, conhecida como Scrum. O que ela oferece? Para começar você precisa de:
- Selecione o proprietário do produto. Uma pessoa é adequada para essa função, o que ela vê, qual objetivo precisa ser alcançado e o que vai acontecer no final.
- Escolha uma equipe. Isso requer um grupo de três a dez pessoas que tenham as habilidades necessárias para obter resultados.
- Selecione um especialista responsável. É essa pessoa que vai acompanhar o desenvolvimento do projeto e ajudar a equipe a superar as dificuldades.
- Lide com as dificuldades.Todos os requisitos de produtos existentes devem ser reunidos em um só lugar e priorizados. O proprietário do produto deve reunir todos os seus desejos aqui. Em seguida, a equipe os avalia e descobre se pode ser implementado e quanto tempo levará.
- Todo o escopo do trabalho deve ser dividido em períodos de tempo, de uma ou duas semanas, durante os quais a equipe realizará determinados conjuntos de tarefas.
- As reuniões deverão ser realizadas diariamente, com duração não superior a quinze minutos. A agenda deve discutir o que foi feito ontem, quais são os planos para hoje e os obstáculos que impedem você de alcançar alturas.
- Faça revisões ao final de uma semana (duas), durante as quais a equipe fala sobre o que foi feito. Neste caso, é necessário demonstrar a funcionalidade de partes do produto.
- Após cada período de tempo, os problemas devem ser discutidos e as soluções procuradas. Além disso, todos os desenvolvimentos devem ser implementados imediatamente.
Como reconhecer o Agile?
A metodologia de gestão, independente da direção escolhida, possui sempre as seguintes características:
- Minimizando riscos. Este é o principal objetivo de qualquer abordagem ágil.
- Desenvolvimento iterativo. Neste caso, queremos dizer trabalhar em pequenos ciclos.
- O mais importante são as pessoas e a comunicação entre elas.
Vamos imaginar um rio. De um lado está o cliente. O segundo é a equipe. Nesse caso, a metodologia de desenvolvimento ágil traz vantagens para todos:
- O cliente precisa de um produto funcional mínimo. No entanto, as condições podem mudar durante a sua criação.
- É útil para a equipe se comunicar com os colegas e com o cliente.Nesse caso, o risco de ser mal compreendido é minimizado, a transparência dos processos aumenta, os problemas são resolvidos rapidamente e as chances de haver surpresa na criação de um produto são reduzidas.
Fator social
Quando as pessoas falam sobre o que é Agile, geralmente éEles falam exclusivamente sobre coisas positivas. Na verdade, a interação dentro da equipe melhora. Todas as pessoas focam em uma ideia, não criam segredos entre si e assumem obrigações. Com isso, a equipe trabalha em condições confortáveis e em ritmo acelerado. Essa abordagem permite trazer ordem ao caos.
Desde a sua formação, conseguiu encontrarreconhecimento nas indústrias de tecnologia. Atualmente amplamente utilizado para projetar novos produtos de software. Mas no âmbito da prática empresarial geral, tal abordagem ainda é pouco conhecida. Portanto, aqueles que nunca encontraram o Agile antes estão cautelosos com ele. Deve-se entender também que só deve ser utilizado nos casos em que as pessoas se deparam com a tarefa do trabalho intelectual.
Um pequeno exemplo
Vejamos como essas metodologias funcionamdesenvolvimento de software. Digamos que temos Peter, o proprietário do produto. Ele não conhece os detalhes técnicos, mas tem uma visão geral. Ele sabe por que o produto é necessário, quais problemas ele resolverá e quem irá satisfazer. Também há interessados. Eles podem usar o produto, apoiar sua criação ou estar envolvidos de alguma forma em sua criação. Você também pode adicionar histórias de usuários que expressem os desejos das partes interessadas. Por exemplo: um sistema de reserva de passagens para ônibus Moscou-São Petersburgo deve ter uma pesquisa por voo. Peter ajudará as partes interessadas. Ele assumirá o controle da implementação das ideias de histórias de usuários. Há também uma equipe de desenvolvimento. Estas são as pessoas que construirão um sistema funcional.
Porque a metodologia ágil é usadadesenvolvimento, as histórias de usuários não são acumuladas até o grande lançamento, mas são lançadas imediatamente após a conclusão e com a maior freqüência possível. A quantidade de solicitações processadas é a capacidade da equipe na semana. Para evitar perder impulso e ficar atolada em testes manuais, a equipe deve trabalhar na integração automatizada. O que é? Um teste automático é escrito para cada momento de trabalho. Muitas histórias podem levar à pressa, perda de motivação e perda de produtividade e qualidade. Para tais casos, é fornecido o método “clima de ontem”. Está no fato de que você precisa estabelecer limites rígidos para a quantidade de trabalho e escolher cuidadosamente o que exatamente será implementado. O “Kanban” mencionado anteriormente sugere definir um limite de tarefas.
O que fazer com a fila?
Ok, então a equipe decidiu que poderiaprocessar quatro histórias por semana. Mas como navegar em tudo o que existe? Digamos que os usuários enviem dez histórias por semana. Quatro são processados. Assim, a fila crescerá constantemente. Neste caso, existe apenas um método eficaz - a palavra “não”. Como proprietário do produto, isso é extremamente importante. Dizer sim não é difícil. É muito mais difícil e importante decidir o que não fazer. Além disso, também é necessário assumir a responsabilidade por isso. Portanto, você deve decidir o que prestar atenção agora e o que deve ser adiado. Para priorizar corretamente, o proprietário do produto precisa compreender o valor e o escopo de cada história.
Nós tomamos decisões
Algumas das histórias são extremamente necessárias.Outros são simplesmente um belo bônus. Algumas histórias levarão várias horas para serem desenvolvidas. Outros levarão meses para serem criados. Muitas pessoas costumam estabelecer uma correlação entre o tamanho de uma história e seu valor. Mas isso nem sempre é correto. Mais não é o mesmo que melhor. Peter é ajudado a considerar corretamente as prioridades pela complexidade e valor da tarefa que está sendo executada. Como quantificar essas características? Sem chance. É um verdadeiro jogo de adivinhação. E para ser mais eficaz é necessário envolver bastante gente. Esta é a equipe de desenvolvimento, que informará sobre o escopo do trabalho e os interessados. Mas deve ser entendido que todos os dados obtidos desta forma são estimativas aproximadas. Não há números exatos aqui. Inicialmente haverá erros. Mas à medida que você ganha experiência, seu número e escala diminuirão.
Riscos potenciais
Para evitar problemas, você precisa dar respostas honestas a uma série de perguntas. Esse:
- Estamos fazendo as coisas certas? Este é um risco comercial.
- Podemos implementar o que é necessário? Este é um risco social.
- O projeto funcionará nesta plataforma? Este é um risco técnico.
- Teremos dinheiro suficiente e chegaremos a tempo? Estes são riscos de tempo e custo de implementação.
Neste caso, é necessário conhecimento.Eles podem ser vistos como o oposto dos riscos. Quando um nível significativo de incerteza é detectado, adquirimos conhecimento – por exemplo, criamos protótipos de interface ou experimentos técnicos. E já os tendo, tomamos decisões sobre qual direção devemos seguir.
Como aprender?
A indústria de TI está se desenvolvendo extremamente rapidamente ePara não perder no final, você precisa aprender constantemente, aprimorar suas habilidades e eficiência no trabalho. Portanto, as questões de formação e implementação são mais relevantes do que nunca. Por onde começar? A melhor opção é a cooperação com uma empresa que já utiliza Agile. O treinamento, neste caso, será conduzido por pessoas que sabem em primeira mão o que é desenvolvimento ágil. Mas isso, infelizmente, nem sempre é possível. Na maioria das vezes, está envolvido um especialista terceirizado que sabe o que é Agile. A implementação desta abordagem é realizada sob a sua supervisão. É verdade que os serviços desse especialista custam dinheiro. Mas se você contratar uma pessoa verdadeiramente experiente, todas as suas despesas serão recompensadas generosamente. Na verdade, no mundo moderno, a eficiência dos funcionários desempenha um papel importante.
O que o futuro guarda?
As metodologias de desenvolvimento de software estão em constante evolução.Eles procuram novas formas e oportunidades para melhorar a eficiência das atividades e do trabalho. É bastante problemático dizer o que nos espera no futuro. É provável que o sistema de desenvolvimento flexível seja integrado às ferramentas de automação do processo de produção. Por exemplo, será possível resolver problemas mesmo estando distante do local da empresa. Em muitos aspectos, o futuro é determinado pelas novas tecnologias da informação. Afinal, quando eles surgem, você precisa aprender novos métodos para trabalhar com eles. E neste caso ocorre o desenvolvimento, fechado em um ciclo.
Em conclusão
Este é o fim da excursão pelos métodos flexíveis.desenvolvimento. Mas é preciso lembrar que a teoria é uma coisa e a prática é outra bem diferente. As novas tecnologias de informação que surgem constantemente representam desafios para a grande comunidade de desenvolvedores. Como tornar as atividades de uma equipe mais eficazes? Todos encontram a resposta para esta pergunta por si próprios. As informações aqui apresentadas podem ser utilizadas para formular o esqueleto. Mas, na prática, você terá que trabalhar com o modelo existente e levar a situação a um estado de conformidade com os desafios existentes. Então a equipe será capaz de atingir efetivamente seus objetivos.