Alta performance é alguém com atitudes que, muito mais que possibilitar bons resultados, sempre superam expectativas. Isso quer dizer que essas pessoas possuem competências essenciais para alavancar o local onde trabalham, e hoje eu vou contar os segredos para alcança-lá através de planejamento inteligente, com entregas mais rápidas utilizando práticas e ferramentas ágeis. A seguir os objetivos deste artigo:
Objetivo:
- Aprendermos o Mindset Ágil;
- Conhecermos os principais métodos ágeis;
- Entendermos o que é DevOps;
- Conhecermos a ferramenta Azure DevOps;
Cascata x Ágil
Ciclo de vida de projetos
Requisitos mudam pouco.
Abordagem Preditiva (cascata): Abordagem mais tradicional, com a maior parte do planejamento acontecendo no início e a execução acontecendo conforme o plano.
Requisitos mudam muito.
Abordagem Ágil: Abordagem iterativa e incremental para realizar entregas frequentes.
Modelo Ágil
Ser Ágil não significa ser rápido para entregar seus projetos, significa ser capaz de se adaptar para entregar com frequência com foco em entregar o maior valor para seu cliente final.
Manifesto Ágil
O Manifesto Ágil: é uma declaração de princípios que fundamentam o desenvolvimento ágil de software.
Valores
De acordo com as experiências de desenvolvimento de software e ajudando os outros a desenvolver, os dezessete signatários do manifesto ágil definiram os quatro valores do desenvolvimento ágil:
- Os indivíduos e suas interações acima de procedimentos e ferramentas;
- O funcionamento do software acima de documentação abrangente;
- A colaboração com o cliente acima da negociação e contrato;
- A capacidade de resposta a mudanças acima de um plano pré-estabelecido;
Assim sendo, mesmo havendo valor nos itens à direita, os que estão à esquerda são mais valorizados.Como dito por Scott Ambler:
- Ferramentas e processos são importantes, mas é mais importante ter pessoas competentes trabalhando juntas de forma eficiente.
- Uma boa documentação é útil para ajudar pessoas a entender como o software é criado e como usá-lo, mas o ponto principal do desenvolvimento é criar o software, não a documentação.
- Um contrato é importante mas não é um substituto para um trabalho próximo aos clientes para descobrir o que eles precisam.
- Um plano pré-estabelecido é importante, mas não deve ser muito rígido para acomodar mudanças na tecnologia ou no ambiente, as prioridades das partes interessadas e a compreensão das pessoas sobre o problema e sua solução.
Não se trata, como poderia parecer à primeira vista, de um desprezo aos elementos e ferramentas tradicionais do desenvolvimento de software, mas sim do estabelecimento de uma escala de valores, na qual a flexibilidade e a colaboração são mais relevantes do que a rigidez de processos e planejamento clássicos.
Princípios
Os 12 princípios do desenvolvimento ágil são os seguintes:
- Garantir a satisfação do cliente, entregando rápida e continuamente software funcional;
- Até mesmo mudanças tardias de escopo no projeto são bem-vindas.
- Software funcional é entregue frequentemente (semanal ou mensal – o menor intervalo possível);
- Cooperação constante entre as pessoas que entendem do ‘negócio’ e os desenvolvedores;
- Projetos surgem por meio de indivíduos motivados, devendo existir uma relação de confiança.
- A melhor forma de transmissão de informação entre desenvolvedores é através da conversa ‘cara a cara’
- Software funcional é a principal medida de progresso do projeto;
- Novos recursos de software devem ser entregues constantemente. Clientes e desenvolvedores devem manter um ritmo até a conclusão do projeto.
- Design do software deve prezar pela excelência técnica;
- Simplicidade – a arte de maximizar a quantidade de trabalho que não é feito – é essencial;
- As melhores arquiteturas, requisitos e designs emergem de equipes auto-organizáveis.
- Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento.
Signatários Originais
Inicialmente, contou com 17 signatários, nomeadamente: Kent Beck, Mike Beedle, Arie van Bennekum, Alistair Cockburn, Ward Cunningham, Martin Fowler, James Grenning, Jim Highsmith, Andrew Hunt, Ron Jeffries, Jon Kern, Brian Marick, Robert C. Martin, Steve Mellor, Ken Schwaber, Jeff Sutherland e Dave Thomas.
Kanban
- Kanban é um palavra japonesa que significa cartão sinalizador.
- O Kanban ajuda a assimilar é controlar o progresso das tarefas de forma visual.
- Kanban é dos métodos de desenvolvimento de software menos prescritivos, que, de acordo com Henrik Kniberg*, possui apenas três prescrições:
- Visualizar o fluxo de trabalho (workflow);
- Limitar o trabalho em progresso;
- Gerenciar e medir o fluxo;
Scrum
O que é o Scrum?
- Framework ágil de gestão de projetos;
- Conceito mais importante chama-se Sprint (ou ciclo);
Scrum – Pilares
- Transparência: todo trabalho é claramente definido é conhecido por todas as partes envolvidas no projeto.
- Adaptação: capacidade de adaptar o projeto à necessidade de negócio.
- Inspeção: todo trabalho deve ser inspecionado com frequência necessária para garantir a qualidade na primeira tentativa.
Scrum Valores
Scrum equipe
A essência do Scrum é um pequeno time de pessoas (Guia do Scrum, 2017).
Times auto-organizáveis escolhem qual a melhor forma para completarem seu trabalho, em vez de serem dirigidos por outros de fora do Time.
Times multifuncionais possuem todas as competências necessárias para completar o trabalho sem depender de outros que não fazem parte da equipe.
Eventos do scrum
Funcionamento Scrum
O que é DevOps?
DevOps é uma cultura para repensar a forma em que as diferentes áreas se comunicam e colaboram no processo de desenvolvimento de software nas organizações. É a junção de múltiplas esferas. Inicialmente, os três pilares definidos foram:
- Desenvolvimento;
- Operações;
- Garantia da Qualidade.
O que é Azure DevOps?
Azure Boards
Ferramentas de planejamento ágeisMonitore o trabalho usando quadros Kanban configuráveis, listas de pendências interativas e ferramentas de planejamento avançadas.
É possível realizar a geração de relatórios e dashboard conforme a imagem ao lado.
Azure Pipeline
CI/CD para qualquer plataforma
Compile, teste e implante em qualquer linguagem, em qualquer nuvem ou localmente. Execute em paralelo no Linux, macOS e Windows e implante contêineres em hosts individuais ou Kubernetes.
Azure Repositories
Repositórios particulares ilimitados e gratuitos
Hospedagem Git avançada e flexível com revisões de código eficientes e repositórios gratuitos ilimitados para todas as suas ideias, de um projeto individual ao maior projeto do mundo.
Azure Test Plans
Teste manual e exploratório
Teste com frequência e libere com confiança. Aprimore a qualidade geral do seu código com ferramentas de teste exploratório e manual para seus aplicativos.
Azure Artifacts
Repositório de pacotes universal
Compartilhe pacotes NuGet, Maven, npm e Python de fontes públicas e privadas com toda a sua equipe. Integre o compartilhamento de pacotes a seus pipelines de CI/CD de forma simples e escalonável.
Conclusão
Agora que você conhece as principais ferramentas e como elas funcionam, recomendo fortemente a aplicabilidade das ferramentas ao seu negócio caso esteja dentro do contexto que abordamos. Como a solução independente do framework, plataforma ou linguagem utilizada, sugiro verificar no Azure DevOps pricing o que cada licença oferece como pacote de soluções.
As ferramentas que foram passadas neste artigo irão otimizar seu tempo e simplificar alguns processos que antes eram feito manualmente ou de forma desorganizada e sem gestão e governança e agora poderão ser automatizadas como por exemplo no Azure pipeline fazendo entregas e deploys automatizados.
Além de poder se organizar melhor e entregar maior valor para o cliente final através de do Azure boards utilizando os quadros kanbas e sprints para acompanhamento e evolução do programa, gere relatórios e dashboards em tempo real, e compatilhe conhecimento e treinamentos através da wiki.
Fonte
- https://docs.microsoft.com/pt-br/azure/devops/
- https://www.pim-go.com/big-picture-do-modelo-agil
- https://azure.microsoft.com/pt-br/overview/what-is-devops/
- encurtador.com.br/cgtDT
- https://administradores.com.br/artigos/as-empresas-estao-a-procura-de-pessoas-que-tenham-alta-performance