Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

<p>Metodologia Ágil para</p><p>o Desenvolvimento de</p><p>Software</p><p>Alexandre Erdmann Silva</p><p>01.</p><p>Introdução às Metodologia Ágeis</p><p>O que é Metodologia Ágil?</p><p>02. SCRUM</p><p>03. GIT</p><p>Sumário</p><p>04. Conceito de Entrega Contínua</p><p>05. Benefícios</p><p>06. Processo de Entrega Contínua</p><p>07. Controle de Versão usando o GIT</p><p>08. Lean Manufcturing</p><p>09. Lean na Metodologia Ágil</p><p>•Projeto é um esforço temporário</p><p>empreendido para criar um</p><p>produto, serviço ou resultado</p><p>exclusivo.</p><p>Projeto</p><p>•A metodologia ágil é uma</p><p>abordagem flexível e colaborativa</p><p>para a gestão de projetos.</p><p>•Ela permite ajustes e melhorias</p><p>contínuas ao longo do</p><p>desenvolvimento, em vez de seguir</p><p>um plano rígido.</p><p>Metodologia Ágil</p><p>Metodologia</p><p>Ágil</p><p>Scrum</p><p>Extreme</p><p>Programming</p><p>XP</p><p>Crystal</p><p>Lean</p><p>•Interatividade</p><p>•Colaboração</p><p>•Autonomia e Empoderamento das</p><p>Equipes</p><p>•Entrega de Valor</p><p>Principais Características</p><p>Metodologia</p><p>Ágil</p><p>Scrum</p><p>Extreme</p><p>Programming</p><p>XP</p><p>Crystal</p><p>Lean</p><p>•Termo utilizado no Rugbi, e se</p><p>refere a maneira como um time se</p><p>une para andar com a bola.</p><p>SCRUM</p><p>•Concentração intensa</p><p>•Colaboração extrema</p><p>•Ímpeto de destruição</p><p>•Entusiasmo</p><p>Como podemos chegar nesse nível?</p><p>7 Pessoas</p><p>Configuração Clássica do Scrum</p><p>•Pessoa responsável por</p><p>•Conduzir a reunião</p><p>•Certificar que existe transparência</p><p>•Ajudar a equipe a descobrir o que</p><p>está atrapalhando.</p><p>•Pergunta chave:</p><p>•Como podemos fazer melhor aquilo</p><p>que fazemos?</p><p>Scrum Master</p><p>•Apresentação do que foi realizado e</p><p>pode ser utilizado pelo usuário.</p><p>•Frequência: (Definido pela equipe –</p><p>Pode ser quinzenal, mensal)</p><p>Sprint</p><p>•O que você fez ontem para ajudar a</p><p>equipe chegar no objetivo?</p><p>•O que você fará hoje para ajudar a sua</p><p>equipe a chegar no objetivo</p><p>•Quais são os obstáculos que estão</p><p>atrapalhando a sua equipe?</p><p>Reunião Diária ( 15 Minutos)</p><p>•O que você fez ontem para ajudar a</p><p>equipe chegar no objetivo?</p><p>•O que você fará hoje para ajudar a sua</p><p>equipe a chegar no objetivo</p><p>•Quais são os obstáculos que estão</p><p>atrapalhando a sua equipe?</p><p>Planeje a Realidade não a Fantasia</p><p>Entrega Contínua</p><p>•Processo que visa automatizar a entrega de software em</p><p>produção de forma contínua e confiável.</p><p>•Eliminação de gargalos e atrasos na entrega.</p><p>Benefícios da Entrega Contínua</p><p>1.Velocidade de Lançamento:</p><p>• Entrega contínua permite lançar novas funcionalidades</p><p>rapidamente.</p><p>• Redução do tempo entre desenvolvimento e produção.</p><p>2.Redução de Riscos:</p><p>• Testes automatizados garantem maior confiabilidade.</p><p>• Correções de bugs são aplicadas imediatamente.</p><p>3.Feedback Contínuo:</p><p>• Interação constante com usuários.</p><p>• Ajustes e melhorias baseados em feedback real.</p><p>Etapas do Processo</p><p>1.Integração Contínua (CI):</p><p>• Desenvolvedores enviam alterações para um repositório</p><p>compartilhado.</p><p>• Automação compila, testa e verifica a qualidade do código.</p><p>2. Benefícios:</p><p>• Redução de conflitos de código.</p><p>• Detecção precoce de erros.</p><p>Etapas do Processo</p><p>3. Testes Automatizados</p><p>Garantindo a Qualidade do Software:</p><p>3.1. Testes Unitários:</p><p>• Verificam partes isoladas do código.</p><p>• Detectam regressões e erros específicos.</p><p>3.2. Testes de Integração:</p><p>• Avaliam a interação entre módulos.</p><p>• Garantem que as partes funcionem juntas.</p><p>3.3. Testes Funcionais:</p><p>• Validam o comportamento do software.</p><p>• Simulam cenários reais de uso.</p><p>Etapas do Processo</p><p>4. Implantação Contínua</p><p>Entregando o Software em Produção:</p><p>4.1 Ambientes de Teste:</p><p>• Após aprovação dos testes, o código é implantado em</p><p>ambientes de teste.</p><p>• Garante consistência entre ambientes.</p><p>4.2 Monitoramento Contínuo:</p><p>• Acompanhamento de métricas e logs.</p><p>• Identificação de problemas em tempo real.</p><p>4.3 Implantação em Produção:</p><p>• Se os testes forem bem-sucedidos, o código é implantado</p><p>em produção.</p><p>• Processo contínuo e seguro.</p><p>Controle de Versão</p><p>•O controle de versão é um componente essencial no desenvolvimento</p><p>de software, permitindo que equipes de desenvolvedores gerenciem</p><p>alterações, acompanhem o histórico do código-fonte e colaborem de</p><p>maneira eficiente. Entre as diversas ferramentas de controle de versão</p><p>disponíveis, o GitHub é amplamente reconhecido como uma das</p><p>plataformas mais populares e amplamente utilizadas. Além disso,</p><p>serviços de nuvem como a AWS (Amazon Web Services) e o Azure</p><p>(Microsoft Azure) oferecem integração com o GitHub, fornecendo uma</p><p>infraestrutura escalável e robusta para hospedar repositórios de código</p><p>e facilitar o desenvolvimento colaborativo em equipe.</p><p>O que é controle de versão?</p><p>● Uma técnica que ajuda a gerenciar o código-fonte de uma aplicação;</p><p>● Registrando todas as modificações de código, podendo também</p><p>reverter as mesmas;</p><p>● Criar versões de um software em diferentes estágios, podendo alterar</p><p>facilmente entre elas;</p><p>● Cada membro da equipe pode trabalhar em uma versão diferente;</p><p>● Há ferramentas para trabalhar o controle de versão como: git e SVN</p><p>O que é git?</p><p>● O sistema de controle de versão mais utilizado do mundo atualmente;</p><p>● O git é baseado em repositórios, que contêm todas as versões do</p><p>código e também as cópias de cada desenvolvedor;</p><p>● Todas as operações do git são otimizadas para ter alto desempenho;</p><p>● Todos os objetos do git são protegidos como criptografia para evitar</p><p>alterações indevidas e maliciosas;</p><p>● O git é um projeto de código aberto;</p><p>O que é um repositório?</p><p>● É onde o código será armazenado;</p><p>● Na maioria das vezes cada projeto tem um repositório;</p><p>● Quando criamos um repositório estamos iniciando um projeto;</p><p>● O repositório pode ir para servidores que são especializados em</p><p>gerenciar repos, como: GitHub e Bitbucket;</p><p>● Cada um dos desenvolvedores do time pode baixar o repositório e criar</p><p>versões diferentes em sua máquina;</p><p>Criando repositórios</p><p>● Para criar um repositório utilizamos o comando: git init</p><p>● Desta maneira o git vai criar os arquivos necessários para inicializá-lo;</p><p>● Que estão na pasta oculta .git;</p><p>● Após este comando o diretório atual será reconhecido pelo git como</p><p>um projeto e responderá aos seus demais comandos;</p><p>Enviando repositórios para o GH</p><p>● Podemos facilmente enviar nossos repos para o GitHub;</p><p>● Precisamos criar o projeto no GitHub, inicializar o mesmo no git em</p><p>nossa máquina, sincronizar com o GH e enviar;</p><p>● E esta sequência que parece ser complexa é facilmente executada por</p><p>poucos comandos;</p><p>● Vale lembrar que só fazemos uma vez por projeto este fluxo;</p><p>● Porém alguns dos comandos utilizados vão ser úteis ao longo do curso;</p><p>Verificando mudanças do projeto</p><p>● As mudanças do projeto podem ser verificadas por: git status</p><p>● Este comando é utilizado muito frequentemente;</p><p>● Aqui serão mapeadas todas as alterações do projeto;</p><p>● Como: arquivos não monitorados e arquivos modificados;</p><p>● Podemos também dizer que é a diferença do que já está enviado ao</p><p>servidor ou salvo no projeto;</p><p>Adicionando arquivos ao projeto</p><p>● Para adicionar arquivos novos a um projeto utilizamos: git add</p><p>● Podemos adicionar um arquivo espec��fico como também diversos de</p><p>uma vez só;</p><p>● Somente adicionando arquivos eles serão monitorados pelo git;</p><p>● Ou seja, se não adicionar ele não estará no controle de versão;</p><p>● É interessante utilizar este comando de tempos em tempos para não</p><p>perder algo por descuido;</p><p>Salvando alterações do projeto</p><p>● As alterações salvas do projeto são realizadas por: git commit</p><p>● Podemos commitar arquivos específicos ou vários de uma vez com a</p><p>flag -a</p><p>● É uma boa prática enviar uma mensagem a cada commit, com as</p><p>alterações que foram feitas;</p><p>● A mensagem pode ser adicionada com a flag -m</p><p>Enviando código ao repo remoto</p><p>● Quando finalizamos uma funcionalidade nova, enviamos o código ao</p><p>repositório remoto, que é código-fonte;</p><p>● Esta ação é feita pelo git push</p><p>● Após esta ação o código do servidor será atualizado baseando-se</p><p>no código local enviado;</p><p>Recebendo as mudanças</p><p>● É comum também ter que sincronizar o local com as mudanças do</p><p>remoto;</p><p>● Esta ação é feita pelo git pull</p><p>● Após o comando serão buscadas atualizações, se encontradas elas</p><p>serão unidas ao código atual existente na nossa máquina;</p><p>Motivação</p><p>• Desenvolvimento tradicional adotado pela maioria das empresas:</p><p>•Departamento de Sistemas (ou Desenvolvimento):</p><p>desenvolvedores, programadores, analistas, arquitetos, etc</p><p>•Departamento de Suporte (ou Operações):</p><p>administradores de rede, administradores de bancos de dados,</p><p>técnicos de suporte, técnicos de infraestrutura, etc</p><p>Problemas</p><p>•urgência em implantar um novo sistema (pelos</p><p>ops)</p><p>•desconhecimento das especificidades da</p><p>plataforma utilizada no desenvolvimento (pelos ops)</p><p>ou</p><p>•desconhecimento das especificidades da</p><p>plataforma utilizada na produção (pelos devs)</p><p>Consequências</p><p>1. falta de hardware para executar o novo</p><p>sistema ou a nova funcionalidade</p><p>2.problemas de desempenho</p><p>3. incompatibilidades com o banco de</p><p>dados de produção</p><p>4. Vulnerabilidades de segurança</p><p>5. Resultado: atraso ou cancelamento da</p><p>implantação ou abandono do sistema</p><p>DevOps significa pessoas, processos e as</p><p>ferramentas certas trabalhando juntas para gerar</p><p>valor de entrega um ciclo de vida mais rápido e</p><p>previsível.</p><p>DevOps</p><p>•DevOps é uma abordagem colaborativa para o desenvolvimento de</p><p>software que visa melhorar a eficiência, a qualidade e a velocidade na</p><p>entrega de produtos e serviços. A palavra "DevOps" é uma combinação</p><p>de "Desenvolvimento" (Development) e "Operações" (Operations),</p><p>representando a união entre as equipes de desenvolvimento de</p><p>software e as equipes de operações de infraestrutura.</p><p>Acelerar a</p><p>entrega de</p><p>software</p><p>Equilibrar</p><p>velocidade, custo,</p><p>qualidade e risco</p><p>Reduzir tempo</p><p>para feedback do</p><p>cliente</p><p>DevOps significa pessoas, processos e as</p><p>ferramentas certas trabalhando juntas para gerar</p><p>valor de entrega um ciclo de vida mais rápido e</p><p>previsível.</p><p>DevOps</p><p>• Movimento que visa unificar as culturas de</p><p>desenvolvimento (Dev) e de operação (Ops) para</p><p>permitir a implantação mais rápida e ágil de um</p><p>sistema</p><p>• Reúne desenvolvedores, TI e organizações para criar</p><p>e implantar aplicativos de maneira contínua para</p><p>fornecer software de qualidade.</p><p>Acelerar a</p><p>entrega de</p><p>software</p><p>Equilibrar</p><p>velocidade, custo,</p><p>qualidade e risco</p><p>Reduzir tempo</p><p>para feedback do</p><p>cliente</p><p>Curiosidade: Patrick Debois cunhou o</p><p>termo “DevOps” em 2009. Ele é</p><p>um consultor belga, praticante ágil e</p><p>gerente de projetos, que se tornou</p><p>um dos primeiros líderes DevOps e</p><p>formou esta palavra combinando</p><p>“Dev” como em desenvolvimento, e</p><p>“Ops” como em operações.</p><p>Por que unir essas pessoas?</p><p>• Essas duas pessoas têm pontos de vista diferentes no ciclo de</p><p>desenvolvimento do projeto.</p><p>• Todas as partes interessadas envolvidas no ciclo de vida de entrega</p><p>de software são obrigadas a se comunicar e colaborar melhor e</p><p>com frequência.</p><p>DevOps</p><p>Sistemas de Produção</p><p>⚫ Produção Lean</p><p>– Trabalhadores multiqualificados</p><p>– Máquinas Flexíveis</p><p>– Alta variedade de produtos</p><p>– Alta produtividade e baixo custo</p><p>Sistemas de Produção</p><p>⚫ Produção Lean</p><p>– Agregar Valor</p><p>– Eliminação de Desperdícios</p><p>Desperdício</p><p>⚫ Qualquer atividade humana que absorve recursos mas não cria</p><p>valor</p><p>Desperdício</p><p>⚫ Erros que exigem retificação</p><p>⚫ Produção de itens que ninguém deseja</p><p>⚫ Acúmulo de mercadorias nos estoques</p><p>⚫ Etapas de processamento que não são necessárias</p><p>⚫ Movimentação de pessoas e transporte de materiais de um lugar</p><p>para o outro sem propósito</p><p>Desperdício</p><p>⚫ Grupos de pessoas em uma atividade posterior que ficam</p><p>esperando porque uma atividade anterior não foi realizada</p><p>dentro do prazo</p><p>⚫ Bens e serviços que não atendem às necessidades dos clientes</p><p>Pensamento Enxuto</p><p>⚫ O pensamento enxuto é uma forma de especificar valor, alinhar</p><p>na melhor sequência as ações que criam valor, realizar estas</p><p>atividades sem interrupção toda vez que alguém as solicita e</p><p>realiza-las de forma cada vez mais eficaz</p><p>OBRIGADO!</p><p>Slide 1</p><p>Slide 2</p><p>Slide 3</p><p>Slide 4</p><p>Slide 5</p><p>Slide 6</p><p>Slide 7</p><p>Slide 8</p><p>Slide 9</p><p>Slide 10</p><p>Slide 11</p><p>Slide 12</p><p>Slide 13</p><p>Slide 14</p><p>Slide 15</p><p>Slide 16</p><p>Slide 17</p><p>Slide 18</p><p>Slide 19: O que é controle de versão?</p><p>Slide 20: O que é git?</p><p>Slide 21: O que é um repositório?</p><p>Slide 22: Criando repositórios</p><p>Slide 23: Enviando repositórios para o GH</p><p>Slide 24: Verificando mudanças do projeto</p><p>Slide 25: Adicionando arquivos ao projeto</p><p>Slide 26: Salvando alterações do projeto</p><p>Slide 27: Enviando código ao repo remoto</p><p>Slide 28: Recebendo as mudanças</p><p>Slide 29</p><p>Slide 30</p><p>Slide 31</p><p>Slide 32</p><p>Slide 33</p><p>Slide 34</p><p>Slide 35: Sistemas de Produção</p><p>Slide 36: Sistemas de Produção</p><p>Slide 37: Desperdício</p><p>Slide 38: Desperdício</p><p>Slide 39: Desperdício</p><p>Slide 40: Pensamento Enxuto</p><p>Slide 41</p>

Mais conteúdos dessa disciplina