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>Prof. MSc. Tarcísio Peres</p><p>UNIDADE III</p><p>Gerenciamento de</p><p>Projetos de Software</p><p> Métodos para escalar ágil em grandes organizações (SAFe, LeSS, Nexus).</p><p> Ferramentas digitais para colaboração e gestão de projetos (Jira, Trello, Asana).</p><p> Automação e ferramentas para CI/CD (Jenkins, GitLab CI).</p><p> Seleção e adaptação de ferramentas para equipes.</p><p> DevOps e NoOps.</p><p> Inteligência artificial e machine learning na gestão de projetos.</p><p> Trabalho remoto e gestão de equipes distribuídas.</p><p>Conteúdo da unidade III</p><p>Introdução ao SAFe</p><p> O SAFe (Scaled Agile Framework) foi desenvolvido para ajudar organizações a aplicar</p><p>práticas ágeis em larga escala, mantendo a agilidade e a capacidade de responder</p><p>rapidamente às mudanças.</p><p> O framework oferece uma abordagem estruturada para a coordenação e alinhamento de</p><p>múltiplas equipes ágeis, promovendo a entrega contínua de valor.</p><p> SAFe é composto por quatro níveis principais: Equipe, Programa, Solução Grande e</p><p>Portfólio, cada um com papéis, responsabilidades, eventos e artefatos específicos.</p><p> No nível de Equipe, as práticas ágeis tradicionais como Scrum</p><p>e Kanban são aplicadas a equipes individuais que operam em</p><p>ciclos curtos e iterativos.</p><p>Introdução ao SAFe</p><p> No nível de Programa, o SAFe introduz o conceito de Agile Release Train (ART), uma equipe</p><p>de equipes alinhadas em torno de um objetivo comum para entregar soluções incrementais.</p><p> O nível de Solução Grande é aplicável a organizações que trabalham em soluções</p><p>complexas e de grande escala, exigindo a coordenação de múltiplos ARTs.</p><p> O Solution Train Engineer facilita a integração e a coordenação entre diferentes ARTs,</p><p>garantindo a coesão e a integração da solução final.</p><p> No nível de Portfólio, o SAFe alinha os investimentos</p><p>estratégicos com os objetivos de negócio, utilizando práticas</p><p>como Lean Portfolio Management (LPM) para gerenciar o fluxo</p><p>de trabalho estratégico.</p><p>Lean Portfolio Management (LPM)</p><p> O LPM visa alinhar as estratégias e os investimentos da organização com suas práticas</p><p>ágeis, otimizando o fluxo de valor e maximizando a eficiência.</p><p> Estruturalmente, o LPM é fundamentado em três áreas principais: Estratégia e</p><p>Financiamento de Investimentos, Operações de Portfólio Lean e Governança Lean.</p><p> A área de Estratégia e Financiamento de Investimentos conecta a estratégia da organização</p><p>com as iniciativas de portfólio, guiando o direcionamento dos investimentos.</p><p> Operações de Portfólio Lean coordena múltiplos Agile Release</p><p>Trains para garantir o alinhamento dos esforços com os</p><p>objetivos estratégicos, utilizando práticas como Kanban.</p><p>Governança Lean e tomada de decisão descentralizada</p><p> Governança Lean assegura que as práticas e os processos de gestão do portfólio estejam</p><p>alinhados com os princípios Lean e ágeis, promovendo transparência e responsabilidade.</p><p> O LPM promove a tomada de decisão descentralizada, permitindo que as equipes de</p><p>desenvolvimento tenham autonomia para entregar valor dentro dos limites estratégicos.</p><p> A liderança Lean-Agile é fundamental para criar uma cultura de melhoria contínua e</p><p>inovação, apoiando as equipes na remoção de impedimentos.</p><p> Líderes Lean-Agile facilitam a colaboração e promovem a</p><p>capacitação das equipes para tomar decisões, aumentando a</p><p>velocidade de resposta e o engajamento.</p><p>SAFe e práticas de DevOps</p><p> O SAFe incorpora práticas de DevOps e integração contínua (CI), essenciais para manter a</p><p>qualidade e a velocidade de entrega em um ambiente ágil escalado.</p><p> Ferramentas e técnicas de automação são utilizadas para garantir que o código seja</p><p>integrado e testado continuamente, aumentando a eficiência.</p><p> O SAFe é amplamente adotado por empresas grandes e renomadas em diferentes setores,</p><p>demonstrando sua eficácia na melhoria da produtividade e qualidade dos produtos.</p><p> Exemplos de empresas que utilizam o SAFe mostram como o</p><p>framework pode ser adaptado a diferentes indústrias para</p><p>alcançar melhores resultados.</p><p>SAFe – Exemplos</p><p> Aplicações práticas.</p><p>Fonte: autoria própria.</p><p>• Utilizou SAFe para transformar sua abordagem de hardware para software, permitindo uma</p><p>adaptação mais rápida às mudanças do mercado.</p><p>Mercedes-Benz</p><p>• Implementou SAFe para aumentar o engajamento e a satisfação dos funcionários,</p><p>melhorando também a eficiência operacional.</p><p>FedEx</p><p>• Conseguiu a maior transformação ágil em larga escala no Brasil em seu primeiro ano</p><p>com SAFe.</p><p>Petrobras</p><p>• Utilizou SAFe para entregar mais de 80% de seu valor de negócios de forma mais eficiente.</p><p>Southwest Airlines</p><p>• Transformou-se rapidamente, passando de 0 a 130 Agile Release Trains (ARTs) em</p><p>três anos.</p><p>Deutsche Telekom</p><p>• Conseguiu integrar a engenharia de veículos e TI para reimaginar o carro esportivo</p><p>do futuro.</p><p>Porsche</p><p>Framework LeSS (Large Scale Scrum)</p><p> O LeSS é um framework projetado para escalar o Scrum em grandes organizações,</p><p>mantendo os princípios de simplicidade e flexibilidade.</p><p> No LeSS, um único Product Backlog é utilizado por todas as equipes, garantindo alinhamento</p><p>em torno das mesmas prioridades e objetivos estratégicos.</p><p> As equipes no LeSS são multifuncionais e autogeridas, capazes de completar itens do</p><p>backlog de forma independente, promovendo a colaboração e integração do produto final.</p><p> A Sprint Planning no LeSS é dividida em duas partes:</p><p>uma discussão conjunta do Product Backlog e um</p><p>planejamento detalhado por cada equipe.</p><p>Framework LeSS (Large Scale Scrum)</p><p> Durante o Sprint Review, todas as equipes se reúnem para apresentar os incrementos de</p><p>produto, integrando rapidamente o feedback do cliente e das partes interessadas.</p><p> A transparência é um princípio fundamental do LeSS, utilizando ferramentas visuais como</p><p>quadros Kanban e gráficos de burndown para monitorar o progresso.</p><p> O LeSS enfatiza a remoção de impedimentos organizacionais, como a reestruturação de</p><p>departamentos e a eliminação de práticas burocráticas desnecessárias.</p><p> A liderança no LeSS apoia as equipes e promove uma cultura</p><p>de agilidade e inovação, garantindo a eficácia das práticas</p><p>ágeis em escala.</p><p> Aplicações práticas.</p><p>LeSS – Exemplos</p><p>• Adotou o LeSS para transformar seu desenvolvimento de produtos, resultando</p><p>em maior flexibilidade e ciclos de lançamento mais curtos.</p><p>Ericsson</p><p>• Utilizou LeSS para melhorar a precisão das previsões de entrega e resolver</p><p>problemas de qualidade de seus lançamentos.</p><p>John Deere</p><p>• Utilizou o LeSS em sua plataforma unificada de vendas e em projetos de</p><p>condução autônoma, aplicando o LeSS Huge para coordenar múltiplas equipes</p><p>em iniciativas de grande escala.</p><p>BMW Group</p><p>• Implementou o LeSS para transformar sua gestão tradicional, enfrentando</p><p>desafios de coordenação entre equipes e melhorando significativamente a</p><p>entrega de produtos.</p><p>Huawei</p><p>• Adotou o LeSS para seu projeto de High Capacity Network Gateway, resultando</p><p>em uma maior flexibilidade e ciclos de lançamento mais curtos.</p><p>Nokia Networks</p><p>Fonte: autoria própria.</p><p>Framework Nexus</p><p> Nexus é um framework desenvolvido por Ken Schwaber para escalar o Scrum em grandes</p><p>organizações, facilitando a coordenação de várias equipes.</p><p> O núcleo do Nexus é o Nexus Integration Team, responsável por garantir a integração</p><p>eficiente dos incrementos de trabalho das diversas equipes.</p><p> Ele mantém os papéis tradicionais do Scrum, adicionando funções e eventos para lidar com</p><p>a complexidade da coordenação entre múltiplas equipes.</p><p> A Sprint Planning no Nexus é realizada em duas partes: uma</p><p>reunião conjunta para identificar os itens do backlog e reuniões</p><p>individuais por equipe para detalhamento.</p><p>Comparação entre SAFe, LeSS e Nexus</p><p> SAFe é mais complexo e abrangente, adequado para grandes organizações com múltiplos</p><p>níveis de hierarquia, enquanto LeSS e Nexus focam na simplicidade e integração.</p><p> No SAFe há estruturas formais de governança e práticas como Lean Portfolio Management;</p><p>LeSS e Nexus enfatizam auto-organização e transparência.</p><p> LeSS utiliza um único Product Backlog para todas</p><p>as equipes, promovendo simplicidade;</p><p>Nexus introduz o Nexus Integration Team para coordenar a integração contínua.</p><p> A cultura e a mentalidade no SAFe promovem uma liderança</p><p>Lean-Agile em todos os níveis, enquanto LeSS foca na</p><p>simplicidade e Nexus na transparência e colaboração</p><p>contínua.</p><p>Qual dos frameworks a seguir utiliza um único Product Backlog para todas as equipes</p><p>envolvidas em um produto?</p><p>a) SAFe</p><p>b) LeSS</p><p>c) Kanban</p><p>d) DevOps</p><p>e) Waterfall</p><p>Interatividade</p><p>Qual dos frameworks a seguir utiliza um único Product Backlog para todas as equipes</p><p>envolvidas em um produto?</p><p>a) SAFe</p><p>b) LeSS</p><p>c) Kanban</p><p>d) DevOps</p><p>e) Waterfall</p><p>Resposta</p><p>Jenkins e integração contínua</p><p> O Jenkins é uma ferramenta de automação de código aberto amplamente utilizada para a</p><p>integração contínua (CI) e entrega contínua (CD) no desenvolvimento de software.</p><p> Na gestão ágil de projetos de software, a integração contínua é um princípio fundamental.</p><p> O Jenkins permite que os desenvolvedores integrem suas alterações de código</p><p>frequentemente em um repositório compartilhado.</p><p> A entrega contínua é outra prática ágil facilitada pelo Jenkins,</p><p>automatizando não apenas a construção e o teste,</p><p>mas também a entrega e implantação de software em</p><p>ambientes de produção.</p><p>Usabilidade e extensibilidade do Jenkins</p><p> Além de suas capacidades de automação, o Jenkins oferece uma vasta gama de plugins que</p><p>expandem sua funcionalidade.</p><p> Na prática, o uso do Jenkins na gestão ágil de projetos de software proporciona vários</p><p>benefícios.</p><p> A usabilidade do Jenkins também é</p><p>um ponto forte, com uma interface</p><p>web intuitiva que permite configurar</p><p>e monitorar pipelines de CI/CD.</p><p>Fonte: adaptado de:</p><p>https://www.jenkins.io/doc/book/resources/pipe</p><p>line/pipeline-restart-stages-blue-ocean.png</p><p>Start Build Some Tests Browser Tests</p><p>Testings Some</p><p>Other Things Static Analysis Deploy End</p><p>Chrome</p><p>Firefox</p><p>Internet</p><p>Explorer</p><p>Deploy</p><p>final</p><p>Safari</p><p>GitLab CI e sua integração com GitLab</p><p> GitLab CI é uma poderosa ferramenta de integração</p><p>contínua e entrega contínua (CI/CD) integrada ao GitLab.</p><p> Tem integração nativa com o GitLab, proporcionando</p><p>uma experiência de usuário diferenciada.</p><p> No contexto do GitLab CI, o arquivo .gitlab-ci.yml define</p><p>a configuração do pipeline de CI/CD.</p><p> O pipeline do GitLab CI é composto por várias fases,</p><p>cada uma contendo uma ou mais tarefas que são</p><p>executadas em sequência ou em paralelo.</p><p>Fonte: autoria própria.</p><p>Benefícios e automação no GitLab CI</p><p> Um dos principais benefícios do GitLab CI é sua capacidade de integração com uma ampla</p><p>variedade de ferramentas e serviços.</p><p> A automação proporcionada pelo GitLab CI reduz significativamente a necessidade de</p><p>intervenções manuais.</p><p> No contexto do controle de versão e do desenvolvimento colaborativo de software, commits e</p><p>merge requests são conceitos fundamentais.</p><p> Além das funcionalidades básicas de CI/CD, o GitLab CI</p><p>oferece recursos avançados que aumentam sua utilidade</p><p>e flexibilidade.</p><p>Integração e segurança no GitLab CI</p><p> A interface de usuário do GitLab CI proporciona uma visualização clara e detalhada do</p><p>estado dos pipelines.</p><p> A integração com o sistema de issues do GitLab permite rastrear o status das tarefas e</p><p>associá-las a tickets.</p><p> A segurança também é uma prioridade no GitLab CI, oferecendo várias funcionalidades</p><p>para garantir a execução segura dos pipelines.</p><p>Fonte: https://docs.gitlab.com/ee/ci/pipelines/img/pipeline_list_v16_11.png</p><p>Diferenças entre Git, GitHub e GitLab</p><p> Git, GitHub e GitLab são ferramentas que desempenham papéis distintos, mas</p><p>complementares no desenvolvimento de software.</p><p> Git é um sistema de controle de versão distribuído utilizado para rastrear mudanças no</p><p>código-fonte durante o desenvolvimento.</p><p> GitHub é uma plataforma de hospedagem de repositórios Git baseada na web, que facilita a</p><p>colaboração entre desenvolvedores.</p><p> GitLab é uma plataforma de DevOps completa que também</p><p>oferece hospedagem de repositórios Git, mas com um</p><p>conjunto de funcionalidades mais abrangente.</p><p>Relação e complementaridade entre Git, GitHub e GitLab</p><p> A relação entre Git, GitHub e GitLab é complementar, com Git fornecendo a base de controle</p><p>de versão distribuído.</p><p> GitHub oferece uma interface web e ferramentas adicionais que facilitam a colaboração e</p><p>a automação.</p><p> GitLab, com seu foco em uma solução completa de DevOps, é frequentemente escolhido por</p><p>empresas que buscam uma plataforma integrada para todo o ciclo de vida do</p><p>desenvolvimento de software.</p><p> GitHub e GitLab aproveitam o poder do Git para controle de</p><p>versão, mas cada uma oferece um conjunto único de</p><p>funcionalidades.</p><p>Ferramentas para equipes de desenvolvimento</p><p> A seleção e adaptação de ferramentas para equipes de desenvolvimento de software é um</p><p>processo crítico que influencia diretamente a eficiência e o sucesso dos projetos.</p><p> O primeiro passo na seleção de ferramentas é entender profundamente os requisitos do</p><p>projeto e as práticas de trabalho da equipe.</p><p> A usabilidade é fundamental; ferramentas intuitivas e fáceis de usar podem reduzir a curva</p><p>de aprendizado e aumentar a adoção pela equipe.</p><p> A flexibilidade e a personalização das ferramentas são</p><p>aspectos cruciais, permitindo configurar e adaptar fluxos de</p><p>trabalho específicos.</p><p>Fonte: autoria própria.</p><p>Ferramentas para equipes de desenvolvimento</p><p> Exemplos Ferramenta Categoria Propósito Pontos fortes</p><p>Empresas que</p><p>utilizam</p><p>Jira Gestão de Projetos</p><p>Gerenciamento de</p><p>tarefas e projetos</p><p>Flexibilidade e</p><p>personalização</p><p>Atlassian, eBay,</p><p>Airbnb</p><p>Trello Gestão de Projetos</p><p>Organização visual</p><p>de projetos</p><p>Interface intuitiva e</p><p>fácil uso</p><p>Google, Pinterest,</p><p>Fender</p><p>Asana Gestão de Projetos</p><p>Gerenciamento de</p><p>projetos e tarefas</p><p>Versatilidade e</p><p>colaboração</p><p>NASA, The New York</p><p>Times, Airbnb</p><p>Jenkins CI/CD</p><p>Automação de</p><p>integração e entrega</p><p>contínuas</p><p>Extensibilidade e</p><p>automação robusta</p><p>Netflix, Linkedin,</p><p>Facebook</p><p>GitLab CI/CD</p><p>Plataforma DevOps</p><p>completa</p><p>Integração completa</p><p>de DevOps</p><p>NASA, Sony, CERN</p><p>Git Controle de Versão</p><p>Controle de versão</p><p>distribuído</p><p>Popularidade e</p><p>eficiência</p><p>Microsoft, Google,</p><p>Facebook</p><p>SVN Controle de Versão</p><p>Controle de versão</p><p>centralizado</p><p>Simplicidade e</p><p>estabilidade</p><p>Apache, Adobe,</p><p>Mozilla</p><p>Maven</p><p>Ferramenta de</p><p>Construção</p><p>Automação de</p><p>construções e</p><p>dependências Java</p><p>Gerenciamento de</p><p>dependências</p><p>eficiente</p><p>Apache, Google,</p><p>Linkedin</p><p>Ferramentas para equipes de desenvolvimento</p><p> Exemplos Ferramenta Categoria Propósito Pontos fortes</p><p>Empresas que</p><p>utilizam</p><p>Gradle</p><p>Ferramenta de</p><p>Construção</p><p>Automação de</p><p>construções e</p><p>dependências</p><p>Flexibilidade e</p><p>velocidade</p><p>Netflix, Linkedin,</p><p>Google</p><p>JUnit Plataforma de Teste</p><p>Teste unitário para</p><p>Java</p><p>Facilidade de uso e</p><p>integração com Java</p><p>Google, Linkedin,</p><p>Facebook</p><p>Selenium Plataforma de Teste</p><p>Teste de aplicações</p><p>web</p><p>Automação de testes</p><p>funcionais</p><p>Google, Mozilla,</p><p>Linkedin</p><p>Docker</p><p>Ambiente de</p><p>Implantação</p><p>Conteinerização de</p><p>aplicações</p><p>Isolamento e</p><p>portabilidade</p><p>Google, Microsoft,</p><p>IBM</p><p>Kubernetes</p><p>Ambiente de</p><p>Implantação</p><p>Orquestração de</p><p>contêineres</p><p>Escalabilidade e</p><p>gestão de</p><p>contêineres</p><p>Google, Spotify, Red</p><p>Hat</p><p>CircleCI CI/CD</p><p>CI/CD baseado em</p><p>nuvem</p><p>Facilidade de</p><p>integração e uso</p><p>Facebook, Spotify,</p><p>Ford</p><p>BItbucket Controle de Versão</p><p>Controle de versão e</p><p>CI/CD</p><p>Integração com Git e</p><p>ferramentas Atlassian</p><p>Atlassian, BBC,</p><p>PayPal</p><p>Travis CI CI/CD</p><p>CI/CD baseado em</p><p>nuvem</p><p>Configuração simples</p><p>e uso gratuito para</p><p>projetos open-source</p><p>IBM, Mozilla, OpenAI</p><p>Fonte: autoria própria.</p><p> Exemplos</p><p>Ferramentas para equipes de desenvolvimento</p><p>Fonte: autoria própria.</p><p>Ferramenta Categoria Propósito Pontos fortes</p><p>Empresas que</p><p>utilizam</p><p>GitHub</p><p>Controle de Versão e</p><p>CI/CD</p><p>Hospedagem de</p><p>repositórios Git,</p><p>colaboração e CI/CD</p><p>Interface amigável,</p><p>comunidade ativa,</p><p>integrações</p><p>poderosas</p><p>Microsoft, Airbnb,</p><p>NASA</p><p>Grafana</p><p>Monitoramento e</p><p>Visualização</p><p>Monitoramento e</p><p>visualização de</p><p>métricas</p><p>Dashboards</p><p>interativos e</p><p>customizáveis</p><p>PayPal, eBay, Intel</p><p>Prometheus Monitoramento</p><p>Monitoramento e</p><p>alerta de sistemas e</p><p>serviços</p><p>Escalabilidade e</p><p>integração com</p><p>Grafana</p><p>DigitalOcean, Red</p><p>Hat, SoundCloud</p><p>Terraform</p><p>Infraestrutura como</p><p>Código</p><p>Automação de</p><p>provisionamento de</p><p>infraestrutura</p><p>Multi-cloud,</p><p>modularidade</p><p>Uber, Slack, Stripe</p><p>Ansible</p><p>Gerenciamento de</p><p>Configuração</p><p>Automação de</p><p>configuração e</p><p>orquestração</p><p>Simplicidade, sem</p><p>agente</p><p>NASA, GoPro,</p><p>Capital One</p><p>Chef</p><p>Gerenciamento de</p><p>Configuração</p><p>Automação de</p><p>configuração e</p><p>gestão de</p><p>infraestrutura</p><p>Extensibilidade,</p><p>comunidade ativa</p><p>Facebook, Target,</p><p>Yahoo</p><p>Qual das alternativas descreve corretamente a relação entre Git, GitHub e GitLab?</p><p>a) Git é uma ferramenta de CI/CD, enquanto GitHub e GitLab são sistemas de controle</p><p>de versão.</p><p>b) Git é uma plataforma de colaboração baseada na web, GitHub é um sistema de controle de</p><p>versão distribuído, e GitLab é uma ferramenta de automação.</p><p>c) Git, GitHub e GitLab são todos sistemas de controle de versão distribuídos.</p><p>d) Git fornece controle de versão distribuído, enquanto GitHub e GitLab estendem essa</p><p>funcionalidade com interfaces web e ferramentas adicionais.</p><p>e) GitHub e GitLab são empresas concorrentes que oferecem a mesma funcionalidade sem</p><p>nenhuma diferença.</p><p>Interatividade</p><p>Qual das alternativas descreve corretamente a relação entre Git, GitHub e GitLab?</p><p>a) Git é uma ferramenta de CI/CD, enquanto GitHub e GitLab são sistemas de controle</p><p>de versão.</p><p>b) Git é uma plataforma de colaboração baseada na web, GitHub é um sistema de controle de</p><p>versão distribuído, e GitLab é uma ferramenta de automação.</p><p>c) Git, GitHub e GitLab são todos sistemas de controle de versão distribuídos.</p><p>d) Git fornece controle de versão distribuído, enquanto GitHub e GitLab estendem essa</p><p>funcionalidade com interfaces web e ferramentas adicionais.</p><p>e) GitHub e GitLab são empresas concorrentes que oferecem a mesma funcionalidade sem</p><p>nenhuma diferença.</p><p>Resposta</p><p>DevOps: contexto e evolução</p><p> Antes do surgimento do DevOps, o mundo ágil já havia promovido mudanças significativas</p><p>no desenvolvimento de software, priorizando a colaboração, a flexibilidade e a entrega</p><p>contínua de valor aos clientes.</p><p> No cenário pré-DevOps, as equipes de desenvolvimento e operações frequentemente</p><p>trabalhavam em silos, com pouca comunicação e colaboração entre elas.</p><p> A transferência de código entre desenvolvimento e operações era frequentemente</p><p>acompanhada de atritos e dificuldades, resultando em um processo de entrega de software</p><p>lento e ineficiente.</p><p> A origem do DevOps pode ser rastreada até a necessidade de</p><p>superar as barreiras entre desenvolvimento e operações,</p><p>promovendo uma cultura de colaboração contínua e</p><p>integração.</p><p>Pré-DevOps: cenário exemplo</p><p> A TechSoftACME Solutions é uma empresa de médio porte especializada em</p><p>desenvolvimento de software empresarial.</p><p> A empresa possui duas equipes principais: a equipe de Desenvolvimento, responsável por</p><p>criar novas funcionalidades e atualizar o software, e a equipe de Operações, encarregada de</p><p>manter a infraestrutura, gerenciar os servidores e garantir que o ambiente de produção</p><p>esteja estável.</p><p> A TechSoftACME Solutions está desenvolvendo uma nova versão de seu principal produto,</p><p>um software de gestão empresarial (ERP).</p><p> A equipe de Desenvolvimento trabalha em um ciclo ágil,</p><p>utilizando metodologias como Scrum para criar</p><p>novas funcionalidades.</p><p> Cada sprint dura duas semanas e, ao final de cada sprint, o</p><p>código é considerado pronto para ser enviado à produção.</p><p> No entanto, a equipe de Operações está isolada desse</p><p>processo ágil.</p><p>Pré-DevOps: cenário exemplo</p><p> A equipe de Desenvolvimento e a equipe de Operações trabalham em silos, com pouca</p><p>interação entre elas.</p><p> A equipe de Desenvolvimento entrega o código no final de cada sprint, mas não comunica</p><p>adequadamente as mudanças feitas.</p><p> A equipe de Operações, por sua vez, não está envolvida no processo de desenvolvimento e</p><p>só toma conhecimento das alterações no momento da implantação.</p><p> Quando a equipe de Desenvolvimento finaliza uma nova funcionalidade, o código é entregue</p><p>à equipe de Operações para implantação.</p><p> No entanto, a equipe de Operações enfrenta dificuldades para</p><p>entender as mudanças e como elas impactam a infraestrutura</p><p>existente.</p><p> Isso resulta em atrasos na implantação, pois a equipe de</p><p>Operações precisa configurar manualmente os servidores e</p><p>garantir que tudo esteja funcionando corretamente antes de</p><p>liberar a nova versão para os clientes.</p><p>Pré-DevOps: cenário exemplo</p><p> Devido à falta de testes automatizados no ambiente de produção e à ausência de</p><p>monitoramento contínuo, novas funcionalidades frequentemente causam problemas</p><p>inesperados quando implantadas.</p><p> A equipe de Operações não tem ferramentas adequadas para monitorar o desempenho do</p><p>software em tempo real, o que leva a períodos de inatividade e reclamações dos clientes.</p><p> Quando problemas ocorrem em produção, a equipe de Desenvolvimento culpa a equipe de</p><p>Operações por não configurar corretamente o ambiente.</p><p> Por outro lado, a equipe de Operações culpa a equipe de Desenvolvimento por entregar</p><p>código mal testado ou por não fornecer informações suficientes sobre as mudanças.</p><p> Essa falta de responsabilidade compartilhada gera tensão</p><p>entre as equipes, prejudicando a colaboração.</p><p> Devido aos constantes atritos e à necessidade de resolver</p><p>problemas de última hora, o ciclo de entrega de software é</p><p>lento e ineficiente.</p><p>Princípios e práticas de DevOps</p><p> DevOps representa uma evolução significativa nas práticas de engenharia de software,</p><p>combinando desenvolvimento (Dev) e operações (Ops) em um único fluxo de trabalho</p><p>integrado.</p><p> A automação de processos, como a integração contínua (CI) e a entrega contínua (CD),</p><p>permite que o código seja compilado, testado e implantado automaticamente, reduzindo a</p><p>possibilidade de erros humanos.</p><p> A integração e o monitoramento contínuos são elementos cruciais do DevOps, permitindo</p><p>que as equipes detectem e respondam rapidamente a problemas em produção.</p><p> A infraestrutura como código (IaC) permite que a configuração</p><p>e a gestão da infraestrutura sejam tratadas da mesma forma</p><p>que o código de aplicação, facilitando a escalabilidade e a</p><p>replicabilidade dos ambientes.</p><p>Cultura e ferramentas DevOps</p><p> A cultura DevOps enfatiza a importância do feedback contínuo e da melhoria iterativa,</p><p>capacitando as equipes a liberar incrementos de software de forma rápida e confiável.</p><p> DevOps promove uma mentalidade de responsabilidade compartilhada entre</p><p>desenvolvimento e operações, com ambas as equipes trabalhando juntas para garantir a</p><p>qualidade e a estabilidade do software.</p><p> No ambiente ágil, DevOps se alinha perfeitamente com os princípios de entrega rápida e</p><p>contínua de valor, permitindo que as empresas acelerem o tempo de lançamento no</p><p>mercado.</p><p> A evolução do DevOps culminou no NoOps como uma</p><p>progressão natural do desejo de aumentar a eficiência, a</p><p>automação e a agilidade no desenvolvimento e na operação</p><p>de software.</p><p>DevOps vs. NoOps</p><p> NoOps leva a automação um passo adiante com o objetivo de eliminar a necessidade de</p><p>uma equipe de operações dedicada, com infraestrutura e gestão das operações sendo</p><p>completamente automatizadas.</p><p> NoOps se torna viável com o avanço de tecnologias como a computação em nuvem e</p><p>ferramentas de automação e orquestração, permitindo que as aplicações sejam implantadas</p><p>e escaladas automaticamente.</p><p> NoOps não é adequado para todas as organizações ou todos os tipos de aplicativos; em</p><p>muitos casos, uma abordagem DevOps pode continuar a ser mais prática e efetiva.</p><p> A transição de DevOps para NoOps depende das</p><p>necessidades específicas da organização, da maturidade</p><p>tecnológica e da disposição para adotar uma abordagem</p><p>mais automatizada.</p><p>Aplicações práticas:</p><p>DevOps e NoOps</p><p> Um exemplo prático de DevOps pode ser visto em uma empresa de desenvolvimento de</p><p>software que utiliza uma combinação de ferramentas e práticas para integrar</p><p>desenvolvimento e operações de forma eficiente.</p><p> A empresa adota práticas de integração contínua, permitindo identificar e corrigir problemas</p><p>rapidamente, garantindo que o código esteja sempre em um estado funcional.</p><p> Após a aprovação nos testes, o código é automaticamente implantado em um ambiente de</p><p>staging para revisão, com a infraestrutura definida e gerida através de código.</p><p> Um exemplo prático de NoOps pode ser observado em uma</p><p>startup que desenvolve um serviço de streaming de vídeo</p><p>utilizando uma abordagem altamente automatizada.</p><p>Inteligência Artificial e machine learning na gestão de projetos</p><p> No contexto ágil de desenvolvimento de software, a Inteligência Artificial (IA) está</p><p>revolucionando a gestão de projetos ao oferecer ferramentas e métodos que aumentam a</p><p>eficiência, precisão e capacidade de adaptação das equipes.</p><p> A análise preditiva se concentra em prever futuros eventos ou resultados com base em</p><p>dados históricos e atuais, permitindo estimativas mais realistas de prazos e recursos.</p><p> Em contraste, a análise prescritiva vai além da previsão para recomendar ações específicas</p><p>que devem ser tomadas para alcançar os melhores resultados possíveis.</p><p> Algoritmos de machine learning podem prever com alta</p><p>precisão quanto tempo cada tarefa levará para ser concluída,</p><p>sugerindo a redistribuição de tarefas e a reordenação</p><p>de prioridades.</p><p>IA na mitigação de riscos e comunicação</p><p> A IA está transformando a identificação e mitigação de riscos, permitindo uma abordagem</p><p>proativa à gestão de riscos e ajudando a manter o projeto nos trilhos.</p><p> Assistentes virtuais e chatbots alimentados por IA estão melhorando a comunicação e a</p><p>colaboração dentro das equipes ágeis, respondendo a perguntas e executando tarefas</p><p>administrativas.</p><p> A Inteligência Artificial pode melhorar significativamente a gestão do conhecimento dentro</p><p>das equipes de projeto, criando repositórios inteligentes que facilitam o acesso à informação.</p><p> Ferramentas de análise de sentimento e feedback podem</p><p>avaliar automaticamente a satisfação dos stakeholders e a</p><p>moral da equipe, permitindo ajustes rápidos e melhorando a</p><p>qualidade dos produtos entregues.</p><p>Integração de IA nas práticas ágeis</p><p> A IA está transformando a gestão de projetos no contexto ágil ao fornecer ferramentas que</p><p>melhoram a previsão, a alocação de recursos, a identificação de riscos e a comunicação.</p><p> Ao integrar IA nas práticas de gestão de projetos, as organizações podem aumentar a</p><p>eficiência, reduzir riscos e melhorar a qualidade dos resultados.</p><p> A combinação de IA e métodos ágeis promete uma nova era de inovação e excelência na</p><p>entrega de software.</p><p> A capacidade de adaptação e a inteligência dos sistemas</p><p>trabalham em harmonia para alcançar os objetivos</p><p>organizacionais.</p><p>Qual era o principal desafio enfrentado pelas equipes de desenvolvimento de software antes do</p><p>surgimento do DevOps?</p><p>a) Falta de ferramentas de automação.</p><p>b) Atrasos causados pela falta de comunicação entre desenvolvimento e operações.</p><p>c) Incapacidade de realizar testes automatizados.</p><p>d) Necessidade de feedback contínuo dos clientes.</p><p>e) Dificuldade em implementar metodologias ágeis como Scrum e Kanban.</p><p>Interatividade</p><p>Qual era o principal desafio enfrentado pelas equipes de desenvolvimento de software antes do</p><p>surgimento do DevOps?</p><p>a) Falta de ferramentas de automação.</p><p>b) Atrasos causados pela falta de comunicação entre desenvolvimento e operações.</p><p>c) Incapacidade de realizar testes automatizados.</p><p>d) Necessidade de feedback contínuo dos clientes.</p><p>e) Dificuldade em implementar metodologias ágeis como Scrum e Kanban.</p><p>Resposta</p><p>Trabalho remoto e gestão de equipes distribuídas</p><p> O trabalho remoto e a gestão de equipes distribuídas emergiram como componentes cruciais</p><p>moldados por avanços tecnológicos e mudanças nas dinâmicas de trabalho.</p><p> O trabalho remoto permite que profissionais contribuam de qualquer localização geográfica,</p><p>expandindo o acesso a talentos e promovendo uma diversidade maior nas equipes.</p><p> Isso se alinha perfeitamente com os princípios ágeis de adaptabilidade e colaboração</p><p>contínua, permitindo que as organizações montem equipes altamente qualificadas</p><p>independentemente de barreiras geográficas.</p><p> A gestão de equipes distribuídas apresenta desafios únicos,</p><p>especialmente em termos de comunicação e coesão.</p><p> No ambiente ágil, a comunicação eficaz é vital para garantir que todos os membros da</p><p>equipe estejam alinhados com os objetivos do projeto e possam colaborar de maneira</p><p>eficiente.</p><p> Ferramentas de colaboração digital como Slack, Microsoft Teams e Zoom têm sido</p><p>indispensáveis para facilitar a comunicação em tempo real e a realização de reuniões</p><p>virtuais.</p><p> Essas plataformas permitem que as equipes mantenham a visibilidade sobre o progresso do</p><p>projeto, discutam problemas rapidamente e tomem decisões de forma colaborativa.</p><p> Além da comunicação, a gestão de equipes distribuídas exige</p><p>uma abordagem robusta para o acompanhamento de tarefas e</p><p>a manutenção da produtividade.</p><p>Ferramentas de comunicação e gestão de projetos</p><p>Cultura organizacional e suporte ao trabalho remoto</p><p> A cultura organizacional também precisa evoluir para apoiar o trabalho remoto e a gestão de</p><p>equipes distribuídas.</p><p> É essencial promover um ambiente de confiança e autonomia, no qual os membros da</p><p>equipe se sintam empoderados para tomar decisões e inovar.</p><p> Práticas como reuniões de check-in regulares, retrospectivas e feedback contínuo ajudam a</p><p>manter a coesão da equipe e a identificar áreas de melhoria.</p><p> A liderança desempenha um papel crucial ao estabelecer</p><p>expectativas claras, fornecer suporte e recursos necessários e</p><p>incentivar uma cultura de transparência e responsabilidade.</p><p>Benefícios e desafios do trabalho remoto</p><p> A flexibilidade proporcionada pelo trabalho remoto também oferece benefícios significativos,</p><p>como a melhoria do equilíbrio entre vida pessoal e profissional.</p><p> Estudos mostram que trabalhadores remotos frequentemente relatam níveis mais altos de</p><p>satisfação e produtividade.</p><p> Isso pode resultar em uma força de trabalho mais motivada e engajada.</p><p> No entanto, é importante abordar desafios como a sensação</p><p>de isolamento e a dificuldade em separar a vida profissional</p><p>da pessoal, oferecendo suporte adequado em termos de</p><p>bem-estar e saúde mental.</p><p>Eficácia do trabalho remoto</p><p> O artigo da McKinsey</p><p>intitulado Americans are</p><p>embracing flexible work –</p><p>and they want more of it</p><p>apresenta uma análise</p><p>detalhada sobre a eficácia</p><p>do trabalho remoto com</p><p>base em uma pesquisa</p><p>abrangente.</p><p>• 87% dos trabalhadores que têm a opção de trabalhar remotamente</p><p>aproveitam essa oportunidade, trabalhando em média três dias por</p><p>semana de forma remota. A pesquisa também destaca uma forte</p><p>preferência por flexibilidade entre os trabalhadores, com muitos</p><p>desejando trabalhar remotamente em tempo integral se possível.</p><p>Adoção e</p><p>Preferência pelo</p><p>Trabalho Remoto</p><p>• A pesquisa sugere que o trabalho remoto pode melhorar a</p><p>produtividade e a satisfação dos funcionários. Trabalhadores</p><p>remotos relataram gastar parte do tempo economizado no</p><p>deslocamento em atividades relacionadas ao trabalho, o que</p><p>contribui para uma maior eficiência.</p><p>Impacto na</p><p>Produtividade e</p><p>Satisfação</p><p>• Apesar dos benefícios, o artigo também aborda os desafios do</p><p>trabalho remoto, incluindo a necessidade de tecnologia adequada e</p><p>a importância de manter a comunicação e a colaboração eficazes</p><p>entre as equipes. Além disso, destaca que a produtividade pode</p><p>variar entre diferentes grupos de trabalhadores e tipos de funções.</p><p>Desafios e</p><p>Considerações</p><p>• O estudo indica que a flexibilidade no trabalho está se tornando uma</p><p>norma, e as empresas que oferecem opções de trabalho remoto</p><p>podem ter uma vantagem competitiva</p><p>na atração e retenção de</p><p>talentos. A pesquisa também aponta que a pandemia acelerou a</p><p>adoção de tecnologias de trabalho remoto, melhorando a</p><p>produtividade em muitos setores.</p><p>Tendências Futuras</p><p>Fonte: McKinsey &</p><p>Company, jun. 2022.</p><p>Produtividade no trabalho remoto</p><p> Outro artigo, Are We Really More Productive Working from Home?, publicado pela Chicago</p><p>Booth Review, examina a produtividade dos trabalhadores remotos durante a pandemia</p><p>da covid-19.</p><p> O estudo utiliza dados de uma pesquisa contínua iniciada em maio de 2020.</p><p> A análise sugere que a produtividade no trabalho remoto pode variar dependendo das</p><p>circunstâncias e da gestão.</p><p> A segurança cibernética é um componente crucial na gestão</p><p>de equipes distribuídas, exigindo uma abordagem sólida para</p><p>proteger dados e sistemas.</p><p>Políticas de segurança e ferramentas de criptografia</p><p> A implementação de políticas de segurança cibernética rigorosas é fundamental para mitigar</p><p>riscos associados ao trabalho remoto.</p><p> Um exemplo prático é a definição clara de procedimentos para o manuseio de dados</p><p>sensíveis, incluindo a criptografia de dados em trânsito e em repouso.</p><p> Ferramentas como BitLocker e VeraCrypt são comumente utilizadas para criptografar dados</p><p>armazenados em dispositivos locais.</p><p> Protocolos como HTTPS garantem a criptografia de dados transmitidos pela internet.</p><p>VPNs, MFA e treinamento em segurança</p><p> O uso de redes privadas virtuais (VPNs) é essencial para a segurança de equipes</p><p>distribuídas.</p><p> As VPNs criam um túnel seguro para a transmissão de dados, protegendo a comunicação</p><p>contra interceptações e ataques man-in-the-middle.</p><p> A autenticação multifator (MFA) adiciona uma camada extra de segurança, exigindo múltiplas</p><p>formas de verificação antes de conceder acesso a sistemas e dados.</p><p> O treinamento regular em práticas de segurança é igualmente</p><p>crucial para manter a segurança no ambiente de trabalho</p><p>remoto.</p><p>Qual é o principal desafio na gestão de equipes distribuídas?</p><p>a) A falta de tecnologia disponível para comunicação.</p><p>b) A impossibilidade de adaptação às metodologias ágeis.</p><p>c) A necessidade de comunicação eficaz para garantir alinhamento e colaboração.</p><p>d) A ausência de tarefas claramente definidas.</p><p>e) A falta de interesse das organizações em promover a diversidade.</p><p>Interatividade</p><p>Qual é o principal desafio na gestão de equipes distribuídas?</p><p>a) A falta de tecnologia disponível para comunicação.</p><p>b) A impossibilidade de adaptação às metodologias ágeis.</p><p>c) A necessidade de comunicação eficaz para garantir alinhamento e colaboração.</p><p>d) A ausência de tarefas claramente definidas.</p><p>e) A falta de interesse das organizações em promover a diversidade.</p><p>Resposta</p><p> BANJANIN, G. Agile and lean governance of project portfolios: methodological framework of</p><p>improving the governance of project portfolios by agile and lean methods. Scholars' Press,</p><p>2020.</p><p> BITTNER, et al. The nexus framework for scaling scrum: continuously delivering an integrated</p><p>product with multiple scrum teams. Addison-Wesley Professional, 2017.</p><p> CABRERO-DANIEL, B. AI for agile development: a meta-analysis. arXiv preprint</p><p>arXiv:2305.08093, 2023.</p><p> CARTER, E.; HURST,M. Agile machine learning: effective machine learning inspired by the</p><p>agile manifesto. Apress, 2019.</p><p> DEBOIS, P. Agile infrastructure and operations: how infra-gile</p><p>are you? Agile 2008 Conference. Toronto. 2008. p. 202-207.</p><p> DUA, et al. Americans are embracing flexible work – and they</p><p>want more of it. McKinsey & Company, jun. 2022.</p><p>Referências</p><p> GITLAB. Pipelines CI/CD. GitLab, 2024. Disponível em:</p><p>https://docs.gitlab.com/ee/ci/pipelines/. Acesso em: 05 maio 2024.</p><p> GOODFELLOW, I. Deep learning. The Mit Press, 2016.</p><p> JENKINS. Running pipelines. Jenkins, 2024. Disponivel em:</p><p>https://www.jenkins.io/doc/book/pipeline/running-pipelines/. Acesso em: 05 maio 2024.</p><p> KIM, G. et al. The DevOps handbook: how to create world-class agility, reliability, & security in</p><p>technology organizations. IT Revolution Press, 2021.</p><p> KIM, G.; BEHR, K.; SPAFF,G. The phoenix project: a novel about IT, DevOps, and helping</p><p>your business win. IT Revolution Press, 2018.</p><p> LARMAN, C.; VODDE, B. Large-scale scrum: more with LeSS.</p><p>Addison-Wesley Professional, 2016.</p><p> LEFFINGWELL, D. Safe 4.5 reference guide: scaled agile</p><p>framework for lean enterprises. Addison-Wesley Professional,</p><p>2018.</p><p>Referências</p><p> NORVIG, P.; RUSSELL, S. Artificial intelligence: a modern approach. [S.l.]: Pearson</p><p>Education Limited, 2021.</p><p> POPPENDIECK, M.; POPPENDIECK,T. Lean software development: an agile toolkit: an agile</p><p>toolkit. [S.l.]: Addison-Wesley Professional, 2003.</p><p> RUPP, C. Scaling scrum across modern enterprises: implement scrum and lean-agile</p><p>techniques across complex products, portfolios, and programs in large organizations. [S.l.]:</p><p>Packt Publishing, 2020.</p><p> STROPOLI, R. Are we really more productive working from home? Chicago Booth</p><p>Review, ago. 2021.</p><p>Referências</p><p>ATÉ A PRÓXIMA!</p>

Mais conteúdos dessa disciplina