Scrum: gerenciamento de projetos ágil e coleta de requisitos | Chris Worfolk | Skillshare
Pesquisar

Velocidade de reprodução


  • 0.5x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 2x

Scrum: gerenciamento de projetos ágil e coleta de requisitos

teacher avatar Chris Worfolk

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Assista a este curso e milhares de outros

Tenha acesso ilimitado a todos os cursos
Oferecidos por líderes do setor e profissionais do mercado
Os temas incluem ilustração, design, fotografia e muito mais

Aulas neste curso

    • 1.

      Boas-vindas

      1:03

    • 2.

      Noções básicas para Scrum

      1:35

    • 3.

      Ágil vs cachoeira

      1:59

    • 4.

      Fortes e limitações

      4:04

    • 5.

      O sprint

      2:02

    • 6.

      Comprimento de estampagem

      1:22

    • 7.

      O que são artefatos?

      0:33

    • 8.

      Lista de pendências do produto

      2:04

    • 9.

      Exemplo de backlog de produto

      1:07

    • 10.

      Backlog de sprint

      1:06

    • 11.

      Exemplo de backlog de sprint

      1:55

    • 12.

      Definição de done

      1:10

    • 13.

      O que são cerimônias?

      0:21

    • 14.

      Scrum diário

      1:34

    • 15.

      Refinamento de backlog

      2:08

    • 16.

      Estimativa de pontos

      1:52

    • 17.

      Pôquer ágil

      1:28

    • 18.

      Velocidade

      1:16

    • 19.

      Planejamento de sprint

      1:32

    • 20.

      Retrospectiva

      1:16

    • 21.

      Ideias para retrospectivas

      3:22

    • 22.

      Formas de trabalhar

      1:19

    • 23.

      Revisão da Sprint

      0:44

    • 24.

      Equipe do Scrum

      1:24

    • 25.

      Proprietário de produtos

      1:54

    • 26.

      Mestre do Scrum

      1:47

    • 27.

      Analistas de negócios

      1:32

    • 28.

      Engenheiros

      1:38

    • 29.

      investidores

      1:03

    • 30.

      Uma equipe típica do scrum

      0:52

    • 31.

      Adicionando membros da equipe

      1:05

    • 32.

      Tipos de edição

      1:18

    • 33.

      Stories do usuário

      1:32

    • 34.

      Estudo de caso de desenvolvimento baseado em comportamento

      2:18

    • 35.

      Ser "bom o suficiente"

      1:54

    • 36.

      Investir

      1:41

    • 37.

      Prototipagem e laboratórios de usuários

      2:30

    • 38.

      Requisitos funcionais

      0:58

    • 39.

      Requisitos não funcionais

      2:55

    • 40.

      Dívida de tecnologia

      2:01

    • 41.

      Cancelando um sprint

      1:00

    • 42.

      O que é gerenciamento de lançamento ágil?

      1:42

    • 43.

      Ciclo de gerenciamento de lançamento

      0:57

    • 44.

      Vantagens do gerenciamento de lançamento ágil

      2:28

    • 45.

      Horários de lançamento comuns

      3:06

    • 46.

      Chaves para o sucesso

      2:48

    • 47.

      Integração contínua

      2:12

    • 48.

      Entrega contínua

      1:00

    • 49.

      Ferramentas de entrega contínuas

      1:27

    • 50.

      Software ágil

      0:41

    • 51.

      Jira

      5:00

    • 52.

      Gráfico de gravação

      1:19

    • 53.

      Trello

      1:52

    • 54.

      Mural

      0:46

    • 55.

      Construindo segurança psicológica

      3:07

    • 56.

      Reuniões de levantamento

      2:31

    • 57.

      Vender ágil para gerenciamento

      4:42

    • 58.

      Boas práticas de treinamento

      3:47

    • 59.

      Como escalar o Scrum

      0:50

    • 60.

      Scrum de Scrums

      1:39

    • 61.

      Dividir produtos

      1:50

    • 62.

      Alinhamento de sprint

      2:06

    • 63.

      Outras metodologias

      0:22

    • 64.

      Kanban

      2:49

    • 65.

      Programação extrema

      2:15

    • 66.

      Desenvolvimento orientado para testes

      1:11

    • 67.

      Desenvolvimento baseado em comportamento

      2:33

  • --
  • Nível iniciante
  • Nível intermediário
  • Nível avançado
  • Todos os níveis

Gerado pela comunidade

O nível é determinado pela opinião da maioria dos estudantes que avaliaram este curso. Mostramos a recomendação do professor até que sejam coletadas as respostas de pelo menos 5 estudantes.

216

Estudantes

3

Projetos

Sobre este curso

O Scrum é um quadro de gerenciamento de projetos ágil projetado para reduzir a falha, obter projetos na frente do cliente rapidamente e lidar com a mudança de requisitos do usuário. Se você é novo no Scrum, este curso vai te ensinar tudo o que você precisa saber.

É adequado para proprietários de produtos, mestres de scrum, analistas de negócios, engenheiros, designers, testadores, gerentes ou qualquer outra pessoa que queira aprender o framework Scrum.

Vamos cobrir cada aspecto do Scrum

  • Artefatos: backlogs de produtos, backlogs de sprint e definição de documentos feitos

  • Cerimônias: Scrum diário (stand-up), refinamento de backlog, planejamento de sprint, retrospectivas, formas de reuniões de trabalho, lavagens e revisões de sprint

  • Estimativa de pontos, velocidade e pôquer ágil

  • Papéis de equipe, incluindo donos de produtos, mestres de scrum e stakeholders

  • Psicologia de equipe, incluindo segurança psicológica, treinamento e melhores práticas

  • Reuniões de requisitos ágeis, histórias de usuários, dívida técnica, protótipos e laboratórios de usuários

  • Gerenciamento de lançamentos ágeis, integração contínua e entrega contínua

  • Escalando o scrum para além de uma única equipe com divisão de produtos e Scrum de Scrums

Vamos aprender tudo a partir de fundamentos, mas também vamos dar uma olhada em ferramentas e softwares que podemos usar, como Jira, Trello, Travis, e outras plataformas de gerenciamento de projetos e integração contínua. Também vamos analisar campos relacionados: Kanban, desenvolvimento orientado para testes, desenvolvimento baseado em comportamento e muito mais.

Vamos aplicá-lo para o mundo real olhando para um projeto de software de loja de e-commerce de ficção. Como parte do projeto do curso, você vai criar seu backlog de produtos, escrever ingressos e criar todos os documentos que você precisa para executar sua equipe do Scrum.

Conheça seu professor

Teacher Profile Image

Chris Worfolk

Professor

Chris Worfolk is a psychologist and software consultant. He is the author of How To Exit VIM and Do More, Worry Less.

Visualizar o perfil completo

Habilidades relacionadas

Desenvolvimento Desenvolvimento web
Level: Beginner

Nota do curso

As expectativas foram atingidas?
    Superou!
  • 0%
  • Sim
  • 0%
  • Um pouco
  • 0%
  • Não
  • 0%

Por que fazer parte da Skillshare?

Faça cursos premiados Skillshare Original

Cada curso possui aulas curtas e projetos práticos

Sua assinatura apoia os professores da Skillshare

Aprenda em qualquer lugar

Faça cursos em qualquer lugar com o aplicativo da Skillshare. Assista no avião, no metrô ou em qualquer lugar que funcione melhor para você, por streaming ou download.

Transcrições

1. Boas-vindas: Bem-vindo a este curso sobre Scrum. Se você é um ScrumMaster, gerente de projetos, desenvolvedor e engenheiro, teste com apenas uma olhada em Agile, então este é o curso para você. Scrum é uma estrutura de gerenciamento de projetos. Ele foi originalmente desenvolvido para desenvolvimento de software, mas na verdade pode ser usado para qualquer coisa. Portanto, as habilidades que vou ensinar neste curso , tanto quanto possível. Vou tentar aplicar em todos os ambientes. Mas vamos continuar com um estudo de caso real. Então, vamos analisar a criação de uma plataforma de comércio eletrônico como um aplicativo de software. E vamos ver como o contorcimento se aplica a isso. Então você aprende a teoria, a prática, e nós também a aplicaremos a essa situação. Então, se tudo isso soa bem, então vamos começar. 2. Noções básicas para Scrum: Vamos começar com o básico. Então, o que é cultivado? Bem, é uma estrutura de gerenciamento de projetos. Ele ajuda você a entregar projetos, estruturá-los de forma que funcionem. Por isso, foi originalmente desenvolvido para o desenvolvimento de software, para o desenvolvimento de projetos técnicos, mas desde então tem sido aplicado a uma grande variedade de tópicos. Então, o tipo de desenvolvimento de software é seu lar. Mas, na verdade, você pode aplicar contorção em qualquer coisa e funciona muito bem. Eu usei na minha vida pessoal, usei projetos não relacionados ao tipo. E essas válvulas são muito boas. O Scrum faz parte da família Agile. Então, a agilidade é um movimento. Não é uma coisa. Agile é, é uma forma de ser e trabalhar. E você tem o tipo de filosofia bacana do Agile. Mas então você tem implementações específicas, coisas como Scrum, coisas como Kanban, esse tipo de manual de ok. Bem, aqui está como você coloca esses princípios ágeis em prática. Então, é uma parte escamosa do movimento ágil geral, e é uma implementação específica disso. Scrum. E o Agile em geral é realmente projetado para reduzir as falhas do projeto e tornar os projetos mais confiáveis. Então, da maneira antiga, os projetos tendiam a falhar muito. E então, afinal, todos vieram e disseram: Como podemos fazer isso melhor? Como podemos reduzir isso? E falaremos mais sobre como ele faz isso à medida que avançamos. Então, como o Scrum funciona? Como isso consegue todas essas coisas? Vamos explorar isso nas próximas aulas. 3. Ágil vs cachoeira: Vamos comparar uma metodologia em cascata de estilo antigo com uma metodologia mais ágil baseada em scrum. No sistema antigo, teríamos tudo em grandes etapas. Seria uma grande fase de especificação. Então, todo o trabalho de desenvolvimento poderia ser feito, seguido pelo teste e pela aceitação do usuário. Agora é aqui que isso dá errado. Talvez levemos muito mais tempo do que o esperado e, em algum momento, fiquemos sem dinheiro . Chegamos à fase de testes e percebemos que precisamos mudar os requisitos, mas já fizemos todo o trabalho de desenvolvimento. Ou chegamos ao estágio de aceitação do usuário e o colocamos na frente do cliente ou do cliente e eles não gostam e precisam de mudanças. E então o que devemos fazer isso porque já estamos no phage de aceitação do usuário. Então, em vez disso, Agile propõe que usemos um processo iterativo no qual realizamos várias pequenas etapas. Então, fazemos uma pequena amostra, pequena construção, pequenas tarefas, pequena aceitação do usuário e, em seguida reiniciamos o ciclo. Então, em vez de ter esses quatro grandes blocos onde tudo é feito ao mesmo tempo, temos esses pequenos ciclos rápidos. E as vantagens de fazer isso são coisas como, bem, podemos fazer um lançamento após o primeiro ciclo. Quando eles são uma metodologia antiga em cascata, você só conseguiria lançar no final. Mas aqui construímos algo muito básico e podemos lançá-lo após o primeiro ciclo. Também podemos colocá-lo na frente do cliente para que ele possa vê-lo. E eles podem fazer alterações se precisarem, se não corresponderem ao que desejam. E essas mudanças são boas porque depois de concluídas, a aceitação do usuário foi a primeira rodada. Voltamos à fase de especificação do treino. O próximo passo é que precisamos construir e, em seguida, construí-lo, testá-lo e devolvê-lo ao cliente. E continuamos nesses ciclos rápidos em que coletamos muitos comentários e divulgamos as coisas mais cedo, o que reduz a chance de falha e significa que elas corresponderão às necessidades do cliente. 4. Fortes e limitações: Vamos considerar alguns dos pontos fortes e limitações da rolagem. Uma das grandes vantagens é evitar falhas no projeto. Então, conversamos sobre essa ideia de projetos de cachoeiras demorarem muito tempo até o fim. E talvez eles não cheguem ao final porque os custos são excessivos ou porque o usuário não goste. E o fato é que um fracasso — o Scrum e o Agile em geral realmente evitarão isso? Os clientes podem ver isso cedo para ficarem mais felizes, pois podem ver o progresso e ver que está de acordo com o que eles querem, em vez de conseguir algo no final que pode ou não ser o que eles querem. É um relatório muito bom, mudando os requisitos do usuário. Então, se o cliente entender e disser: Oh, eu preciso mudar isso ou isso não está funcionando bem. É muito mais fácil mudar se você não construiu tudo. E se você está trabalhando em uma metodologia que diz mudanças, uma boa mudança faz parte do processo que elas são, o problema com a cascata é que o cliente fará mudanças à medida que você avança no projeto. E você precisa de uma maneira de lidar com isso. E sua metodologia iterativa realmente ajuda nisso. Isso significa que você pode lançar a primeira versão mais cedo porque não precisa terminar tudo para poder enviá-la. Você pode criar a funcionalidade essencial, enviá-la e continuar construindo depois de lançar os projetos. Agora, todas as limitações do Scrum e do Agile. Então, uma das maiores é que demora um pouco mais. Às vezes, as pessoas acham que o Agile soa um pouco mais rápido, mas não é. Ele foi projetado para reduzir as taxas de falha. Portanto, Waterfall, Waterfall é bastante eficiente se você acertar tudo 100%. Então, se você planejou e construiu 100% , testou e entregou, tudo funcionará perfeitamente. E não há mudanças nos requisitos do usuário que sejam mais rápidas do que esse ciclo iterativo em que você constrói um pouco, revisa, constrói um pouco, revisa, seria mais rápido. Agora, nunca vi um projeto em que tenha sido planejado para 100% e depois conhecemos as mudanças nos requisitos do usuário. Então, acho que a metodologia ágil funciona muito melhor. Mas, hipoteticamente, se você pudesse alinhar tudo isso , a cascata seria mais rápida porque Scrum funciona nesse ciclo iterativo, que demora um pouco mais. As partes interessadas nem sempre gostam disso. Então, se eles são do estilo cascata da velha escola , provavelmente estão um pouco nervosos em adotar essa nova metodologia ágil. E às vezes eles se preocupam com o fato de que, se estivermos desenvolvendo esse ciclo iterativo mostramos ao cliente um software incompleto que tende a deixá-lo em pânico. Minha experiência, os clientes adoram. Eles estão realmente engajados. Eles querem ver o progresso e entendem que não estão analisando o projeto finalizado. Mas muitos gerentes da velha escola realmente temem que mostremos, mostremos a eles um botão que não está completamente pronto e o cliente presuma que está pronto e o espere amanhã. E às vezes pode ser difícil gerenciar essas expectativas. Scrum tem muita flexibilidade, mas de alguma forma escamoso e inflexível. Então, funciona nesses sprints de normalmente duas semanas em que você diz o que vai fazer no início das duas semanas, depois faz isso e não muda isso. Agora, de certa forma, isso é bom porque se você permite mudanças dentro do sprint , geralmente os gerentes tentam trabalhar mais distraindo os engenheiros e afastando-os da tarefa. E isso não é ótimo. Mas existem alguns ambientes que você tem coisas urgentes surgindo. O contorno não é tão bom em lidar com isso quanto, digamos, algo como Kanban, que é outra estrutura ágil, projetada como uma espécie de quando você está vivo, fazendo negócios como de costume, apresentando contorno não é tão bom em lidar com isso quanto, digamos, algo como Kanban , que é outra estrutura ágil , projetada como uma espécie de quando você está vivo, fazendo negócios como de costume, correções, é mais adequado que com Scrum é mais adequado para se você estiver construindo um projeto pela primeira vez. E, você sabe, você pode dizer que temos um bloqueio de duas semanas aqui. Isso é o que vamos fazer e permitir que todos se concentrem nisso. 5. O sprint: Um dos principais conceitos do Scrum, que é diferente de alguns dos outros frameworks ágeis, é essa ideia do sprint. Esse é um período fixo de tempo em que a equipe concorda em fornecer um conjunto específico de recursos. Então, geralmente são duas semanas e dizemos, ok, nas próximas duas semanas, vamos criar esse recurso, esse recurso e esse recurso. Então, em um sprint, teremos uma meta, por exemplo, talvez a meta seja entregar a página de checkout para nossa plataforma de comércio eletrônico. E isso é composto por vários tickets que criam cada uma das funcionalidades necessárias para fazer isso. E então começamos um sprint e toda a equipe trabalha em conjunto para oferecer essa funcionalidade. Portanto, a entrega e a conclusão da meta do sprint não são o trabalho de qualquer pessoa. É responsabilidade coletiva de toda a equipe. Então, o que parece em um processo é que começamos com o Sprint Planning. No Planejamento de Sprint, a Meta do Sprint é acordada e escolhemos as tarefas que serão concluídas. Então, selecionamos os problemas ou os ingressos que vamos trazer e eles se tornam a lista de pendências do sprint, que é essencialmente a lista de tarefas dessas duas semanas. Em seguida, entraremos no sprint em si. Portanto, a equipe trabalha para fornecer os recursos acordados e nada de novo é incluído no sprint. Então, quando fazemos o planejamento do Sprint, começamos isso quando e depois bloqueamos esse sprint, esse período de tempo para dizer que é isso que vamos fazer e vamos trabalhar juntos para fazer isso. No final do sprint. Em seguida, temos a retrospectiva e a revisão. Assim, o trabalho concluído é apresentado em uma revisão e a equipe reflete sobre como foi, que é a retrospectiva. Então, os dois eventos se separam, e falaremos mais sobre eles em uma lição posterior. E todos os problemas não concluídos são transferidos para o próximo sprint ou são devolvidos à lista de pedidos do produto. 6. Comprimento de estampagem: A duração de um sprint pode ser a que você quiser. Então, normalmente, os sprints são feitos em períodos de duas semanas porque isso parece funcionar bem para a maioria dos projetos, mas isso não é uma regra. Às vezes eu fiz sprints de uma semana, às vezes fiz sprints de três semanas. O que você realmente quer fazer é descobrir quanto tempo você levará para entregar determinados recursos, parte do processo de desenvolvimento, e fazer disso a duração do seu sprint. Então, se você tem um recurso muito grande e complicado para entregar uma parte do projeto. Então, se isso vai levar , digamos, um mês para fazer, então você quer fazer seu sprint de um mês, se literalmente não pudermos ser divididos. E essa é uma boa pergunta para se perguntar se você está pensando, ok, eu preciso de um sprint de quase quatro semanas ou seis semanas ou algo assim. Reexamine se você pode detalhar isso ainda mais , porque provavelmente você pode. Mas se for literalmente impossível, não há problema em prolongar seu sprint, pois você pode adaptar o comprimento da tala para atender às nossas necessidades. Normalmente, duas semanas é um bom período de tempo. Todos podem baixar a cabeça. Você não está gastando muito tempo no ciclo de sprint e tem um bom período de dez dias úteis para fazer as coisas, mas pode torná-lo mais curto ou mais longo para atender às suas necessidades. 7. O que são artefatos?: Artefatos são informações que uma equipe Scrum usa para ajudar a planejar e realizar seu trabalho. Então, por exemplo, uma lista de recursos a serem construídos seria um artefato. Agora, isso pode ser mantido em uma planilha. Pode ser mantido em uma ferramenta como o JIRA, ou até mesmo em nossas cabeças. Mas eu não recomendaria isso porque isso obviamente cria um único ponto de falha. Neste módulo, vamos explorar os diferentes tipos de artefatos que é comum as equipes do Scrum usarem. 8. Lista de pendências do produto: O produto é o que você está entregando e a lista de pendências do produto é tudo o que precisa ser feito. Então, todas as tarefas envolvidas no projeto. Cada tíquete representa uma funcionalidade distinta. Portanto, um ticket, uma funcionalidade de entrega, por exemplo, se tomarmos o exemplo de nossa loja de comércio eletrônico, provavelmente precisaremos uma página de visualização do produto, na qual você possa clicar no produto e ver todos os detalhes. E isso tem vários componentes, pois provavelmente é como um título e uma descrição da foto do produto e algumas avaliações e especificações técnicas. Agora, cada uma dessas coisas pode ser seu próprio bilhete em uma lista de pendências de produtos. Então, adicionando a criação da página em branco, adicionando o título, adicionando a imagem do produto, eu não fiz especificações adicionando as avaliações. Todos podem ser ingressos individuais porque você pode entregá-los um de cada vez. Você pode entregar uma página que tenha apenas o título do produto. E então você pode voltar mais tarde e adicionar uma foto do produto ou algumas avaliações de produtos que diferenciem as funcionalidades e, portanto, eles recebem seu próprio ingresso. Agora, os ingressos podem ser usados em um trabalho maior. Então, nesse caso, temos nossa página de produto, ou a página do produto, pode ser o que chamamos de épica. Portanto, essa é uma coleção de tickets que funciona para oferecer uma funcionalidade maior. Portanto, nossa página de produto como um todo pode estar em um épico. E então temos ingressos individuais lá. Então, temos a descrição do produto, a foto do produto, a avaliação do produto, e tudo isso faz parte da página do produto épica, que podemos lançar em algum momento. Portanto, o objetivo da lista de pendências do produto é manter todas as tarefas que precisam ser feitas. Então, eles guardavam tudo para a página do produto, tudo para a página de navegação, tudo para a página de checkout, tudo dividido em tíquetes individuais e o separavam tudo para a página de navegação, tudo para a página de checkout, tudo dividido em nesses épicos. Então, sabemos a qual ingresso pertence, a que tipo de seção. 9. Exemplo de backlog de produto: Aqui temos um exemplo de lista de pendências de produtos. Então, isso é para nosso exemplo de loja de comércio eletrônico. E temos nossas histórias de usuários escritas aqui. Então, está escrito no formato de história do usuário, sobre o qual falaremos um pouco mais tarde. Mas coisas como, como visitante, eu não vou ver o nome do produto, a imagem do produto. E então, como gerente, quero ver uma lista de pedidos. E nesta coluna, nós o agrupamos por época. Então, tudo isso é épico na página do produto, seu checkout é apicamente épico no gerenciamento de pedidos. E colocamos um sprint provisório sobre eles aqui e na coluna de status para dizer se eles fizeram o que estamos fazendo agora ou se estão prontos. E haverá alguns que não estavam prontos porque não os refinamos aqui embaixo. Agora, há muitas ferramentas excelentes que você pode usar para gerenciar sua lista de pendências de produtos. Mas eu queria mostrar isso para você nesta planilha porque acho que é uma ótima maneira de aprender os fundamentos. Você pode fazer isso em uma planilha, você pode fazer em um pedaço de papel, você pode fazer o que quiser. Vamos nos aprofundar nas ferramentas porque elas também são muito importantes. Provavelmente é isso que você usará em um ambiente de negócios do mundo real. Mas essa é uma boa maneira de considerar os fundamentos. 10. Backlog de sprint: No início de cada sprint, você seleciona quais ingressos vai fazer nesse sprint. Então, digamos que você esteja trabalhando em um sprint de duas semanas. Você examina o backlog do produto e diz: Ok, a, B, C, D, Esses são os ingressos que vamos trazer e fazer neste sprint. Então, quando você inicia o sprint, esses tíquetes que você selecionou formam o que é chamado de lista de pendências de sprint. A lista de pendências do produto, tudo o que você precisará fazer para o projeto, a lista de pedidos pendentes do sprint que você fará para esse sprint específico. Então, quando alguém está pronto para trabalhar em algo, ele vai até a lista de pendências do sprint e pega um dos ingressos, qualquer um dos ingressos que você possa priorizar. Mas, normalmente, dentro de um sprint, não há muita priorização a menos que algo esteja bloqueando algo. Mas se você tiver um bloqueador, é melhor deixar isso para um sprint separado os ingressos possam ser retirados em qualquer ordem. Em seguida, eles partem da coluna de tarefas, que é a lista de pendências do sprint em geral à medida que passam pelo desenvolvimento, implementação e entrega. 11. Exemplo de backlog de sprint: Aqui temos um exemplo, o sprint backlog. Então, temos nossas colunas aqui com a lista de tarefas, a lista de pendências aqui. E então, à medida que fazemos esses ingressos, se eu disser que escolhi este como cliente, quero ver o nome do produto. Posso colocar isso em andamento enviá-lo para revisão do código. E continue avançando no processo. E digamos que esteja pronto para o teste. Os testes descrevem isso. Isso não funciona. Eles poderiam movê-lo de volta para In Progress e reatribuí-lo para mim. E poderia voltar a esse ciclo novamente e, eventualmente, espero que acabe na coluna concluída. Agora, essas colunas podem ser tão flexíveis quanto você quiser. Então, podemos, em vez de uma visualização em andamento do codificador, talvez queiramos dividir isso. Adicione uma nova coluna aqui embaixo. Lá vamos nós. Eu ligaria para ele antes que pudéssemos dizer que estamos prontos para a revisão do código. E na revisão de código. E depois de terminar escrever o código, eu poderia colocá-lo aqui. E então outra pessoa poderia retirá-lo. Quando eles o pegam. Pode entrar aqui, por exemplo, então, nessas colunas, não há regras, mas há alguns princípios gerais de que você provavelmente quer algum tipo de atraso enquanto ele precisava de uma lista de pendências, e ele não precisava dessa. E em andamento em algumas análises e testes de código. Então, em última análise, eles querem acabar na coluna Concluído. Agora, novamente, existem muitas ferramentas excelentes para fazer isso, mas é bom ver isso em um nível muito básico. Muitas pessoas usam quadros físicos com post-its para mover. Isso foi muito popular quando todos trabalharam no escritório nos últimos milhares de casos de pandemia e as equipes remotas são muito mais influentes. Mas você pode, se estiver fazendo isso em um projeto individual, ainda é uma ótima maneira de fazer isso, porque você tem uma experiência realmente tátil de mover as cartas pelo tabuleiro. 12. Definição de done: Como saber quando um ticket pode ser movido para a coluna Concluído? Um documento importante aqui é a definição de concluído. Este é um documento que descreve exatamente o que é necessário para que um ticket seja considerado concluído. Então, por exemplo, se analisarmos o software novamente, um engenheiro poderá criar o recurso. Mas isso não atenderia à maioria das definições de feito porque não é, não foi para lugar nenhum, não está sendo testado. Portanto, a definição de concluído listará todas as etapas, por exemplo , foi construído e testado. Foi implantado. Há cobertura de teste suficiente lá. Talvez haja algum monitoramento e algum registro para você possa salvar esse recurso que dê errado ou interrompa posteriormente. Ele foi testado em desempenho e segurança para garantir que não tenha introduzido nenhuma falha, coisas assim. todas as etapas adicionais em que você pode dizer que esse tíquete foi concluído, não precisamos adicionar nada extra. Não precisamos voltar e dar uma olhada. Estamos felizes por estar lá fora, na selva. Na próxima lição, veremos um exemplo de Definição de Concluído para que você possa ver como é na prática. 13. O que são cerimônias?: Cerimônias são eventos que ajudaram no planejamento, execução e entrega do sprint. Normalmente, eles envolvem os membros da equipe de scrum, mas em algumas cerimônias, podemos optar por convidar também partes interessadas externas. Neste módulo, exploraremos cada uma das principais cerimônias por vez. 14. Scrum diário: O scrum diário é uma reunião diária. Geralmente acontece pela manhã, mas não precisa e é como um check-in para todos os membros da equipe de scrum. Normalmente é feito em pé, portanto, geralmente é chamado de stand-ups no PC. termos de agilidade cruzada, várias estruturas ágeis usarão o termo stand-up no Scrum, que é tecnicamente chamado de The Daily Scrum, mas é a mesma coisa. E o formato é cada membro diz o que fez ontem, no que está trabalhando agora e qualquer obstáculo, para que qualquer coisa esteja atrapalhando seu trabalho, eles possam levantá-la. Então. O objetivo é ajudar todos a se manterem responsáveis uns pelos outros. E também é uma boa chance de pedir qualquer ajuda de que precisemos. Não foi projetado para ser uma reunião longa. Normalmente, o prazo é de no máximo 15 minutos e é feito em pé. Portanto, todos são incentivados a mantê-lo curto e direto ao ponto. Então, se há algo que precisa de uma discussão mais aprofundada, você tinha o que chamamos de colocar isso offline. Então, organize uma reunião separada. Podemos discutir isso com as partes relevantes porque é provável que todos no Daily Scrum não precisem se envolver. Então, nós realmente nos limitamos a essas atualizações concisas. É útil ter seu prancha de sprint aberto enquanto você faz isso, para que as pessoas possam se lembrar no que estão trabalhando, conversar sobre os ingressos e mostrar ao resto da equipe onde estão os ingressos e como estão se movendo. 15. Refinamento de backlog: Uma reunião de refinamento da lista de pendências prepara os ingressos para o sprint. Então, quando você cria sua lista de pendências de produtos pela primeira vez, provavelmente não fornecerá tantos detalhes, pensando ok, página do produto, imagem do produto, produto, filmes. Manter as coisas bem simples nesse tíquete realmente não está pronto para ser contratado por um engenheiro para ser contratado para ser implementado. E é nisso que o refinamento da lista de pendências ajuda. Portanto, pode envolver toda a equipe do Scrum ou envolver, digamos, o proprietário do produto e talvez o engenheiro-chefe trabalhando juntos. E as tarefas do refinamento da lista de pendências R21 dividem o tíquete em seus menores pedaços. Portanto, se o ticket for a página de visualização do produto, ela pode ser dividida em avaliações e imagem do produto e a própria página em pequenos pedaços. Então, devemos garantir que o tíquete esteja pronto para ser usado. Então, aqui estamos falando sobre a elaboração dos ingressos. O que exatamente o proprietário do produto quer a empresa? A especificação é realmente clara. Há alguma nota técnica ou implementação que precisa ser adicionada ao ticket para que o engenheiro entenda o que precisa ser feito? Há alguma nota sobre os testes do testador para entender o que precisa ser feito? Há informações suficientes para que esse tíquete entre em um sprint, seja retirado e comece a trabalhar nele sem precisar fazer perguntas adicionais. E então analisaremos todos os bloqueadores. Então, por exemplo, se o ticket for adicionar as avaliações do produto à página de visualização do produto, esse tíquete será bloqueado pela criação de uma página de produto em formato shell view. Porque se essa página de visualização do produto não existir, você não poderá adicionar nenhuma avaliação a ela. Portanto, isso seria um bloqueador e precisaríamos levar isso em consideração. Portanto, para que um tíquete passe pelo refinamento da lista de pendências, ele deve estar pronto para ser colocado em um sprint. Isso significa que ele não tem bloqueadores, está pronto para e tem uma definição clara do que precisa ser feito. 16. Estimativa de pontos: Uma das coisas que você precisa saber antes de levar um ingresso para um sprint é, bem, quanto tempo isso vai levar? É um bilhete pequeno e um bilhete médio? Um grande bilhete. Precisamos de algum tipo de ideia aproximada sobre quanto tempo o tíquete vai levar para que possamos tentar estimar quanto trabalho podemos realizar no sprint que estamos tentando planejar no momento. Agora, no escopo, em vez de usar o tempo, usamos pontos. E os pontos são arbitrários, então não há necessariamente uma correlação de zero ponto que leve tanto tempo. O que você faz é ver, estimar os pontos ver quantos pontos você pode fazer em um sprint. E então, a partir de então , você sabe, ok, bem, eu posso fazer com que achemos que podemos superar dois pontos como equipe. Então, precisamos somar dois pontos na próxima vez. Agora, como isso funciona? Se você já precisa ter feito alguns sprints e descoberto quais são seus valores de pontos. Gostar. Como você começa com isso? Bem, aí você precisa inicialmente criar uma pequena ligação entre o tempo e os pontos. Então talvez você diga: “Bem, não adianta um dia para uma pessoa ou meio dia para uma pessoa”. Então, se você acha que o engenheiro vai levar dois dias para o teste ou um dia, e outro dia da hora de alguém ser implantado, então você diz, ok, bem, são quatro dias, então vamos chamar quatro pontos por enquanto. E, na verdade, todos os ingressos de forma semelhante. E então, à medida que você aperta os olhos, cresce e continua e obtém comida em vários sprints, você começa a ter uma ideia de, ok , bem, esse bilhete tem aproximadamente esses pontos. Portanto, a implementação levará muito tempo. Sabemos que podemos ultrapassar cerca de 30 pontos para correr. Assim, podemos trazer 30 pontos de coisas para o giro. Pontos de ingressos. 17. Pôquer ágil: Uma boa maneira de fazer estimativas de pontos é com o pôquer ágil. Com alguns desses cartões, você pode obtê-los, obtê-los em qualquer lugar. Assim, cada membro da equipe receberia um conjunto dessas cartas. E as cartas têm valores de pontos seguindo a sequência de Fibonacci. Então você tem metade de 0,123, 581320. Esses vão para 25, então eles compram muito pouco cartas. Você nunca teria bilhetes de 100 pontos. Você tem o infinito desconhecido. Então, a ideia é que todos recebam um conjunto desses. Todos os seguravam como um pôquer e você calculava, então você diz: Ok, vamos estimar esse bilhete agora. E talvez, talvez eu pegue esse. Talvez outro membro da equipe vá e pegue este. E então, uma vez que todos nós escolhemos, nós os entregamos. Eu saí de graça, outra pessoa vem por oito. Então, uma grande diferença que falamos sobre essa diferença e então concordamos com um valor em pontos, mas isso permite que todos forneçam uma estimativa independente. Então você pode descobrir se todos escolheram três , exceto uma pessoa. Provavelmente quero ir de graça depois de um pouco de discussão. Mas é uma boa maneira de obter a opinião independente de todos antes de se reunirem e discutirem os problemas e tentarem descobrir o valor dos pontos. 18. Velocidade: Falamos sobre essa ideia de que os pontos não precisam necessariamente coincidir os tempos. Você pode apontar para a complexidade aberta. Então, algo muito simples pode ser um ponto único. Algo realmente complexo pode ser, digamos, 13 pontos. E depois de fazer alguns sprints, você meio que tem uma ideia de quantos pontos você está conseguindo em um sprint. Na verdade, normalmente medimos isso. Então, vemos quantos pontos movemos para a coluna de enterrada em um determinado sprint e isso pode ser qualquer coisa. Então, digamos que a lata tenha atingido 35, 42 ou 47 pontos, seja o que for. Bem, se você tem esse histórico de sprint, então um sprint, você fez 55 quando fez 42, quando necessário, para sete. Bem, então você sabe que, em média, você obtém cerca de 38 pontos por sprint. Então essa média se torna o que chamamos de velocidade. Isso é o quão rápido estamos nos movendo e a rapidez com que estamos nos movendo, neste caso, normalmente é cerca de 38 pontos por sprint. Então, depois de calcular essa velocidade, então, você sabe, ok, bem, no próximo sprint, podemos trazer aproximadamente 38 pontos em coisas, porque isso é o quanto normalmente fazemos em um sprint. 19. Planejamento de sprint: planejamento do sprint acontece no início de cada sprint. Você concordará com a duração do sprint e, em seguida, calculará quantos pontos acha que pode concluir nesse período. Então, se você está fazendo, digamos, sprint de duas semanas e tem uma velocidade de 38 pontos, então você provavelmente ganha 38 pontos com os ingressos. Se, por algum motivo, encurtá-lo. Então, talvez fazendo um Sprint de uma semana, mapas digam que você provavelmente conseguirá superar cerca de 19 pontos na metade do tempo. Você calcula com quantos pontos você tem que jogar. E então você traz uma quantidade adequada de ingressos para preencher esse valor de pontos. Então, se você tem 38 pontos para jogar, acessa a lista de pendências de produtos e seleciona 38 pontos em ingressos, que se tornam sua lista de pendências de sprint. Então, essa é a lista de tarefas para o sprint em que você está trabalhando atualmente. Nesse ponto, a estimativa pode acontecer no refinamento ou no planejamento do sprint, se não tiver acontecido em refinamento, refinamento ou boa ideia. Se eles já foram feitos e você executa o planejamento de sprint, talvez algumas pessoas envolvidas no refinamento e no planejamento do sprint seja um bom momento para verificar se todos concordam com os pontos. E, portanto, esse é um trabalho razoável que você pode realizar neste sprint. Depois de terminar, você pode começar seu sprint e começar a trabalhar em todos esses ingressos. 20. Retrospectiva: A retrospectiva, também chamada de estrada retrô, acontece no final de um sprint. Aqui você analisa o que funcionou bem e o que não funcionou tão bem para que possamos descobrir o que queremos melhorar no futuro. É importante observar aqui que esta é uma reunião de processo e não uma reunião sobre o trabalho em si. Então, digamos que compramos um ingresso para o sprint e depois descobrimos que ele tem um bloqueador. E então não podíamos fazer nada. Isso não foi feito dentro daquele sprint. No retrô, não falaríamos sobre como desbloquear esse tíquete para que possamos concluí-lo. Mas podemos falar sobre coisas como, bem, não percebemos que ele tinha um bloqueador e, portanto, parado. E o que podemos fazer no futuro para garantir que não estamos trazendo ingressos que não possam realmente ser concluídos em um sprint. Então, você provavelmente comenta sobre alguns dos ingressos em que trabalhou e quais edições eles compraram. Mas não estamos comentando diretamente sobre o trabalho, mas mais sobre como podemos trabalhar juntos como uma equipe melhor no futuro para uma equipe americana ainda mais rápida e eficiente. Você pode fazer um retrô da maneira que quiser. Mas eu tenho algumas ideias para você na próxima lição. 21. Ideias para retrospectivas: Nesta lição, veremos algumas ideias de como realizar suas retrospectivas. Então, esse é realmente um ponto de partida e você tem suas próprias ideias, faz as coisas de forma criativa, se diverte com elas. Um dos clássicos é Start, Stop, Continue. Então, dê a todos da sua equipe uma caneta e alguns post-its e coloque-os na parede ou pare, comece e continue. E as pessoas podem escrever suas sugestões sobre coisas que devemos parar de fazer, coisas que devemos começar a fazer e coisas que devemos continuar fazendo. Portanto, neste exemplo, por exemplo, as sugestões são: deixará de comparecer às reuniões tarde e de ter longas discussões em stand-up. Talvez estejam atrapalhando. Então, no próximo sprint, a equipe se concentra deliberadamente em interromper esses comportamentos do que nos ácaros, coisas que queremos começar, como talvez as retrospectivas sejam sempre organizadas última hora, então reservar uma sala de reunião seria útil e depois as coisas continuem. Então, começamos a usar um novo servidor de testes há semanas, quando ele está funcionando muito bem. Vamos, vamos continuar fazendo isso. Outra forma de fazer isso é usar pontuações. Então, você pode ter títulos como : quão confiante você vai entregar este projeto? Quanta energia você acha que temos como equipe e como psicologicamente, o campo de segurança e cada membro da equipe podem dar um número de pontuação. Ele pode ser colocado lá anonimamente. E então você pode analisar esses números e mapear seu progresso ao longo do tempo. Então, talvez faça isso a cada dois meses e veja como isso muda. Mas também se você notar, nossa confiança diminuiu muito ou a segurança diminuiu muito. O que estamos fazendo como equipe para melhorar? Talvez falemos mais sobre esse assunto. Lean Coffee é um tipo de reunião que funciona bem em ambientes retrô e também está fora dos metrôs. E a forma como isso acontece é que não há uma agenda pré-estabelecida. Então, a primeira tarefa é criar uma agenda. E, novamente, talvez faça com que todos publiquem isso. Algumas pessoas escrevem o que querem discutir em um post-it, colocam na parede e toda a equipe pode votar em uma ordem para a discussão. Então você fala como se escolhesse as cinco principais coisas sobre as quais quer falar, novo cronograma, cada uma delas. Então, digamos que a equipe queira falar sobre a forma como estamos fazendo stand-ups. Em primeiro lugar, você define um cronômetro para 5 minutos e tem uma discussão para cinco minutos. E quando o alarme dispara , a equipe pode votar em qualquer um dos casos, queremos falar mais sobre isso Vamos continuar falando sobre stand-ups. Ou queremos passar para o próximo tópico. E se a equipe votar para seguir em frente, você pega a segunda postagem e fala sobre ela. E, novamente, você faz a mesma coisa. Ele ensinou por 5 min. Ao final desses cinco minutos, você decide onde isso precisa mais tempo ou quer seguir em frente. E, finalmente, a formação de equipes. Nem toda retrospectiva precisa ser trabalhada para que uma equipe trabalhe de forma coesa. Coisas como Smalltalk, coisas como jogar, coisas como atividades de formação de equipes podem ser muito importantes para prender essa equipe. Então, se a equipe está cansada ou não, é muito desafiador quanto você gostaria. Então, criar equipes e jogos divertidos também pode ser muito bom. 22. Formas de trabalhar: Uh, a forma de trabalhar em reunião é a equipe concordando em como eles vão trabalhar juntos. Portanto, cada equipe é diferente e os membros podem querer trabalhar de maneiras diferentes para equipes diferentes. Então, perguntas como: Bem, você pode pegar algum tíquete da lista de pendências ou ele tem que ser o melhor? Você o atribui à próxima pessoa ou deixa em branco e deixa para que ela escolha o que está em nossa definição de concluído. Quando as cerimônias acontecerão e quem vamos convidar? Quanto tempo durará o Sprint? Todas essas são questões de processo as quais a equipe precisa concordar. E você discutiria tudo isso em uma forma de reunião de trabalho. Normalmente , você precisaria se reunir quando estivesse formando uma nova equipe e começando a trabalhar. Mas também se muitos membros da equipe saírem e novos membros entrarem, ou se já faz algum tempo que você não sofre uma lesão e quer renegociar algumas das regras da equipe , convocar uma reunião de formas de trabalho é uma ótima maneira de fazer isso. A chave para o sucesso é garantir que todos tenham voz e tenham sua opinião sobre o que funciona e o que não funciona, como gostariam de fazer as coisas. E depois fazer com que todos concordem com isso, para que todos na equipe realmente acreditem nessa forma de trabalhar e trabalhem juntos para apoiar uns aos outros. 23. Revisão da Sprint: Uma revisão ocorre no final de um sprint ou após sua conclusão. O objetivo da revisão é revisar e demonstrar o trabalho que foi feito. Então, todos estão convidados, todos da equipe Scrum e também partes interessadas externas querem descobrir o que a equipe também está fazendo. A equipe se reveza para demonstrar cada um dos recursos. E pode haver perguntas de partes interessadas externas. Normalmente, mantemos essas avaliações até o final das avaliações, que mostram tudo e, em seguida, permitem algum feedback. Neste momento, todos os ingressos estão prontos. Portanto, se houver alguma mudança, se houver algo adicional que surja , deve ser criado como novos tíquetes. 24. Equipe do Scrum: O Scrum tem tudo a ver com trabalho em equipe e as equipes Scrum são multifuncionais. O que isso significa? Bem, antigamente, as equipes podiam ser organizadas por cargos. Então você teria uma equipe de designers aqui, uma equipe de engenheiros aqui, uma equipe de testadores aqui. E quando você quiser criar algo, mande-o para o pool de design. E o pool de design funcionaria em tudo e depois o devolveria. Então, qualquer coisa que precisasse de design para toda a empresa, procuraríamos uma equipe de design específica. As equipes Scrum não funcionam desse jeito. Eles são multifuncionais A equipe Scrum deve ter tudo o que precisa. Uma equipe Scrum teria, por exemplo, um designer e engenheiro, um testador, quaisquer que fossem os objetivos um analista de negócios de que precisássemos, pois tudo está contido na equipe. Então, em vez de precisar ir até os designers, até o engenheiro, o texto é tudo o que você precisa em uma equipe. Então, essas equipes são como uma unidade militar móvel que pode operar de forma independente sem ser bloqueada por outras equipes, sem precisar ir. Precisamos de um testador para isso, mas não há nenhum teste disponível. Tudo está contido na equipe. Então, quando estamos tentando superar nosso acúmulo de sprint, estamos tentando entregar nossos ingressos não foram bloqueados por outras pessoas. 25. Proprietário de produtos: O proprietário do produto é principal responsável pelo produto ou projeto. Então, eles se preocupam em tomar decisões e prioridades, sobre como será a aparência do projeto e como ele funcionará. Então, por exemplo, se pensarmos em nossa página de produtos de comércio eletrônico, como exatamente ela será? Para onde está indo, para onde, qual será a sensação da experiência do usuário? E também prioridades, como qual parte do sistema deve ser construída primeiro? Deveria ser a página do produto que verifica a navegação? Qual parte? Agora, o que não é uma função técnica. Então, quando eu digo como isso vai funcionar, isso é basicamente uma questão de experiência do usuário. É imaginar ser o cliente usando essa coisa, em vez de qualquer conhecimento técnico. Todo o conhecimento técnico residirá nos engenheiros e o proprietário do produto realmente não precisa saber como ele é implementado. Eles dizem o que querem que seja implementado. Agora, cada produto deve ter um proprietário de produto. Então, se você tem, está pensando em colocar dois proprietários de produtos no mesmo produto. Você provavelmente precisará dividir esse produto. Mas o proprietário de um produto pode cuidar de vários produtos. Portanto, se você tem muitos produtos pequenos, um proprietário de produto pode cuidar de vários deles. O que torna um bom proprietário de produto alguém que sabe o que quer, mas também é flexível quando algo não pode ser feito. Então, por exemplo , digamos que você esteja construindo uma casa. O proprietário do produto é a pessoa que diz: Ok, bem, eu gostaria de quartos, banheiros e garagem. Mas então, se a Comissão de Planejamento voltar e dizer, bem, você não pode ter uma garagem, você quer que o proprietário do produto esteja disposto a dizer, ok, bem, vamos mudar isso e eu especificarei outra coisa. Mas tem uma visão clara para dar à equipe, para dar aos engenheiros o que eles estão procurando. 26. Mestre do Scrum: O Scrum Master ajuda a equipe de scrum a funcionar sem problemas. Então, apesar do nome Master, eles são na verdade outro membro da equipe e estão no mesmo nível. Eles não são os chefes da equipe. Eles organizam e facilitam cerimônias, mas a pedido da equipe. Portanto, isso não precisa necessariamente ser feito pelo Scrum Master. Qualquer um pode liderar qualquer uma das cerimônias. Qualquer um dos membros da equipe pode se levantar e dizer: Bem, eu vou deixar o retrô, vou deixar o Scrum diário ou se preferirem, o ScrumMaster pode fazer isso. trabalhos típicos de um ScrumMaster podem envolver reservar salas de reuniões e facilitar as cerimônias, falar com outras pessoas sobre bloqueadores. Portanto, se a equipe precisar se comunicar com outra equipe para resolver algo com os mestres da escola, é uma boa pessoa para enviar para lá, representando a equipe em reuniões mais amplas da empresa. Falaremos um pouco mais sobre isso em Scaling Squirm. Mas, na verdade, sempre que a equipe precisa falar com a gerência, precisa falar com outro grupo. O escamoso é uma pessoa muito boa para representá-los , garantindo que as regras sejam cumpridas. Então, se concordarmos em uma reunião de trabalho, como se todos chegássemos na hora certa para nosso meio-dia Daily Scrum e as pessoas não chegassem na hora certa , normalmente cabe ao professor não repreendê-las , mas dizer: Ei, só um lembrete. Concordamos que todos estaríamos lá no meio e nenhum de vocês também está treinando e motivando a equipe. O scrum master normalmente tem um bom conhecimento de Agile e Scrum e pode trazer essas recomendações como ótimas maneiras de trabalhar em equipe e animar a equipe com o trabalho que está fazendo. 27. Analistas de negócios: Os analistas de negócios, também conhecidos como BA, estão envolvidos na coleta de requisitos. Qual equipe normalmente teria um ou dois BAs. E o trabalho deles é entender os requisitos do usuário e formar uma ponte entre o que o proprietário do produto deseja e o que os engenheiros precisam saber. O proprietário do produto pode dizer algo como Eu quero que os clientes rastrear suas entregas e ver onde estão suas entregas. O BA iria embora e dividiria isso em uma jornada do cliente. Então, por exemplo, o cliente , como cliente, eu quero poder ver meus pedidos como cliente. Quero ver os detalhes de um pedido específico como cliente, quero ver as informações de rastreamento de qualquer carreira em que o pedido esteja sendo enviado. Assim, eles pegavam solicitação geral dos proprietários do produto, dividiam em tíquetes e desenvolviam critérios de aceitação. Então, como saberemos quando isso for feito, por exemplo, se estivermos analisando um ticket como cliente, quero ver as informações de rastreamento. O critério de aceitação seria, por exemplo, que o cliente possa ler o número de rastreamento. O cliente pode clicar em um link para acessar o site de Carreiras e obter mais informações. E talvez esse seja o critério de aceitação desse ingresso. Portanto, o BA é responsável por traduzir esses requisitos gerais em mais específicos com os quais os engenheiros possam trabalhar. 28. Engenheiros: Os engenheiros ou as pessoas que trabalham na coisa, seja ela qual for, seja qual for o projeto em que você está trabalhando. Por isso, geralmente é chamada de Equipe de Desenvolvimento, mas inclui um campo mais amplo do que esse. Então, coisas como testadores, engenheiros de automação, engenheiros de garantia de qualidade, todas essas pessoas seriam incluídas nela. E isso realmente depende do tipo de projeto em que você está trabalhando e do que isso incluiria. Em um projeto de software, você teria seus engenheiros de software reais e provavelmente alguns engenheiros de automação de testes. E então o teste são eles mesmos. Mas se você está trabalhando em, digamos, um projeto de pesquisa, então você é engenheiro. A equipe de desenvolvimento seria, na verdade , a equipe de pesquisa ou os pesquisadores. Se seu projeto é construir uma casa, então podem ser construtores, trabalhadores para homens, esse tipo de coisa. De certa forma, não importa porque, no Scrum, há um foco real em trabalhar juntos como uma equipe para entregar tickets. Então, embora você possa ter suas funções individuais de Eu sou designer, sou engenheiro de software, sou um teste ou o que quer que seja, na verdade, o que realmente importa é o resultado da equipe. Então, onde quer que todos estejam cumprindo suas funções, fazendo coisas diferentes, ajudando uns aos outros. O importante é que todos trabalhem juntos para atingir a meta de entrega desses ingressos e não se concentrem tanto compartimentar todos nessa equipe de design. Esta é a equipe de implementação, essa é a equipe de testes. Há apenas uma equipe Scrum de todos contribuindo para o sucesso do projeto. 29. investidores: partes interessadas são pessoas de fora da equipe, mas com interesse no trabalho da equipe. Então, que tipo de pessoa pode não ser? Bem, alguns exemplos: gerentes de nossa empresa, membros de outras equipes trabalhando em soluções de projetos relacionadas, arquitetos e arquitetos técnicos trabalhando em toda a empresa. Equipes de marketing e vendas. setor jurídico também poderia estar envolvido e, potencialmente, coisas como clientes, fornecedores e reguladores também seriam partes interessadas. Os proprietários de produtos costumam convidar as partes interessadas para as avaliações do sprint e também são bem-vindos ao Scrum diário. Mas eles não teriam nenhuma opinião sobre o The Daily Scrum para que pudessem vir e ouvir, mas serão os membros da equipe Scrum que falarão. Normalmente, as partes interessadas não seriam convidadas para o planejamento ou a retrospectiva do sprint porque essa é uma zona segura para a equipe discutir seu funcionamento internamente. 30. Uma equipe típica do scrum: Vamos dar uma olhada em uma equipe típica de scrum. Então, dentro da equipe, provavelmente temos um proprietário de produto, um scrum master e um ou mais analistas de negócios. Então, um proprietário de produto, scrum master, normalmente um ou dois analistas de negócios. E então temos engenheiros. Os engenheiros cobrem, na verdade, qualquer um dos executores. Então, tipo desenvolvedores, designers, testes de controle de qualidade, pesquisadores se você está trabalhando em um projeto de pesquisa, e trabalhadores, se você está construindo uma casa, seja o que for, essas são as pessoas que fazem os ingressos reais. E então, fora da equipe, você tem partes interessadas. Portanto, isso pode incluir gerentes de empresas, membros de outras equipes, profissionais jurídicos de marketing e vendas, clientes e fornecedores e reguladores. 31. Adicionando membros da equipe: Se você está adicionando membros à sua equipe , como você considera isso? A quantidade de trabalho que eles podem fazer ao planejar futuros sprints. Bem, a primeira coisa que queremos fazer é calcular nossa velocidade e nossos pontos por membro da equipe. Então, digamos que nossa velocidade seja 48, e atualmente há seis membros na equipe. Então, podemos dividir 48 por seis e podemos ver que cada membro da equipe está produzindo aproximadamente oito pontos. Se adicionarmos um novo membro da equipe , saberemos que teremos mais oito pontos com os quais jogar. Isso significa que, no primeiro sprint, normalmente usamos um multiplicador de zeros. Portanto, presumimos que eles não colocarão nenhum ponto no primeiro sprint. Segundo sprint, ficaremos em forma se fossem oito pontos, aumentaremos o tempo em 0,5 e isso nos dará quatro pontos. E então, no terceiro sprint, presumimos que eles estejam atualizados e contribuindo, o que significa que podem dar todos os oito pontos para a equipe. 32. Tipos de edição: Nesta lição, veremos os problemas ou tipos de tíquetes. E há três principais. Então, a primeira é uma história de usuário. Portanto, essa é uma nova funcionalidade escrita da perspectiva de um usuário, de um produto, por exemplo , como usuário, quero poder ver avaliações do produto que estou vendo no momento. Isso adiciona algo novo ao sistema. Então temos um defeito ou um livro, um livro com um recurso existente que precisa ser corrigido. Já enviamos e ele precisa de uma solução. Por isso, precisamos levantar uma multa. Agora, o mais importante aqui é que só é um bug se não funcionar da maneira pretendida. Então, se construirmos algo de uma certa maneira e o gerente disser, eu quero que funcione de uma maneira diferente. Isso não é um defeito, é uma nova história de usuário mudando a forma como o sistema funciona. Se o bilhete original corresponder aos critérios de aceitação , não é um defeito. Se não fizer o que estava escrito no bilhete original, então o faça e aumente em massa. E então temos dívidas de tecnologia. Portanto, esses são problemas com o código que não têm efeito observável no sistema. Então, algo subjacente que o desenvolvedor sabe que precisamos corrigir, mas, na verdade, um usuário não necessariamente notaria. 33. Stories do usuário: Em Agile, escrevemos tickets como histórias de usuários. Isso significa que, em vez de ter um ticket que diz algo como um formulário de login, escrevemos algo como, como cliente, quero verificar o status do meu pedido. Agora, muitas vezes isso envolveria um formulário de login para que eles pudessem fazer login e ver seus pedidos, mas talvez não. Então, por que escrevemos isso nesse formato estranho de história de usuário? Quais histórias o mantêm focado no usuário. Então, nosso objetivo é que a jornada do cliente, que consiste em analisar tudo o que estamos construindo e escrevendo dessa forma que realmente mantenha o foco no usuário final. Em segundo lugar, evita trabalhos desnecessários. Então, se você tiver algo parecido, quero ver minhas faturas anteriores, aquelas que exigem um formulário de login. Na próxima lição, veremos um bom estudo de caso que mostra que talvez nem sempre seja esse o caso. E, portanto, podemos economizar algum trabalho se usarmos essas histórias de usuários. Isso cria critérios de aceitação muito claros. Se o seu tíquete, diz formulário de login. Bem, como saber se o usuário é capaz de alcançar o que deseja? Eles querem fazer o login? Que propósito isso lhes dá? Por outro lado, se for algo como eu quero como cliente, quero verificar o status do meu pedido. É muito claro onde o sistema V0 faz isso ou não. O cliente pode ver o status do pedido? Sim ou não? Você tem alguns critérios de aceitação muito claros. E é por isso que usamos histórias de usuários. 34. Estudo de caso de desenvolvimento baseado em comportamento: O que estamos falando aqui quando escrevemos histórias dessa maneira é o desenvolvimento orientado pelo comportamento. Essa é uma metodologia que diz que escrevemos o que os usuários devem ser capazes de fazer em inglês simples. E então esse se torna nosso critério de aceitação. Escrevemos testes automatizados para ver se o sistema está fazendo isso. E digamos que há uma grande quantidade de trabalho e eu tenho um estudo de caso para você. Então, havia uma empresa de contabilidade e o que eles queriam era para os clientes pudessem ver as faturas anteriores. Agora, se entrássemos nisso e o construíssemos da maneira normal, teríamos dito: Bem, tudo bem, precisamos de um formulário de login e cada cliente precisa de um login, então eles precisam inserir seu endereço de e-mail e depois precisam de uma senha. Então, o cliente, teríamos mais uma senha para lembrar nesse mar de milhares de senhas e ele provavelmente a esqueceria. Então, precisaríamos criar um link de senha esquecida que enviaria a eles uma nova senha por e-mail. Então, quando eles inevitavelmente esqueceram a senha, eles poderiam solicitar uma nova. Eles poderiam redefinir sua senha e, em seguida, fazer login e ver as faturas antigas. Em vez disso, esse produto usa essas histórias de usuário e desenvolvimento orientado por comportamento. Portanto, o critério de aceitação foi: como cliente, quero ver as faturas anteriores. Então, quando o projeto analisou as coisas dessa forma, eles perceberam que a coisa mais simples a fazer era permitir que o cliente inserisse seu endereço de e-mail. E isso lhes enviaria por e-mail um link mágico que lhes permitiria ver todas as faturas anteriores. Então, em vez de ter que criar todo o formulário de login e o formulário Esqueci a senha, em vez de o usuário precisar se lembrar outra senha analisando-a desse ponto de vista da história do usuário, todos perceberam que, na verdade a maneira mais rápida de fazer isso é um link por e-mail que permita acessá-la. E é tão seguro quanto ter um login, porque você tem acesso ao e-mail e eles podem ver todas as faturas anteriores sem muito trabalho de desenvolvimento e sem que o usuário precise armazenar outra senha. Usar essas histórias de usuários, usar essa abordagem de desenvolvimento orientada por comportamento pode economizar muito tempo e também produzir uma experiência melhor para o cliente. 35. Ser "bom o suficiente": Um conceito-chave aqui é a ideia de algo ser bom o suficiente. Precisamos criar o recurso até que ele atenda aos requisitos do usuário, aos critérios de aceitação. E então precisamos parar e fechar esse bilhete. E se precisarmos trabalhar mais tarde, podemos levantar uma nova multa. Mas, basicamente, o que tentamos cumprir, o que precisa ser cumprido, supondo que precisamos de todas essas coisas extras. Então, por exemplo, digamos que estamos falando que temos nossa loja de comércio eletrônico e você pode ver a página de produtos e queremos mostrar produtos similares. E talvez a história do usuário seja que, como usuário, eu quero ver produtos semelhantes a este. Bem, poderíamos começar e construir um sistema de IA extremamente complexo que recomendasse produtos. Mas também poderíamos simplesmente colocar produtos da mesma categoria que atendessem aos requisitos do usuário. E não acabaríamos com uma grande tarefa de desenvolvimento porque talvez apenas mostrar produtos similares e a mesma categoria fosse realmente ótimo. E podemos enviar isso muito rapidamente e isso funcionaria. Na verdade, não obteríamos nenhum benefício com a criação de um enorme sistema de IA para recomendar produtos. Ou talvez enviemos a coisa mais fácil. E então percebemos que, na verdade , obteríamos valor com melhores recomendações de produtos. qual ponto podemos construir a coisa melhor, porque sabemos então que vale a pena investir tempo. Isso é conhecido como metodologia Lean. Então, você divulga algo em nosso formulário básico. Você vê usuários como esse, vê o que eles respondem, depois reavalia e volta novamente, vê o que eles respondem, depois reavalia e volta novamente, assim como falamos sobre essas metodologias ágeis, você está iterando, entregando algo, dizendo como funciona, aprimorando-o, em vez de criar esse enorme produto do big bang que pode falhar desde o início. 36. Investir: Nesta lição, veremos o acrônimo de investimento que pode ser usado para boas histórias de usuários. Portanto, eu sou para cada independente, cada loja deve se manter sozinha e é negociável. As histórias não são corrigidas, mas podem ser atualizadas se necessário. Então, trazer essas informações e coisas como, mesmo quando você inicia a implementação, se algo não pode ser feito devido a requisitos técnicos, é frustrante, mas talvez você precise ver como reformular a história. Se for esse o caso, V é valioso, ele precisa agregar valor genuíno para o usuário. Como o usuário vai ter uma experiência melhor por causa dessa mudança? E é para estimável. Portanto, você precisa ter uma ideia aproximada de quanto tempo isso levará. Se você não conseguir estimar isso , o que provavelmente precisará fazer é levantar um tíquete de investigação. um ticket que é como um desenvolvedor, quero investigar quanto tempo seria necessário para implementar esse recurso. E então reserve um tempo para, digamos, meio dia e veja se você consegue calcular uma escala de tempo aproximada. E então, com base nessa escala de tempo, você saberá se deseja seguir em frente com o tíquete ou não. S é para pequenos, então ele pode ser entregue em um único sprint. Tudo o que está fazendo vários sprints precisa ser detalhado ainda mais. E T é testável. Critérios de aceitação claros, como um usuário saberia se esse tíquete foi concluído? E, idealmente, também automatizamos os testes. Então, estou realmente pensando em como podemos testá-lo na cobertura automática de testes desde o início. 37. Prototipagem e laboratórios de usuários: Uma estratégia cooperativa de Agile e Lean é construí-lo rapidamente, criar algo, basicamente, colocá-lo na frente do usuário e ver como isso funciona. Agora, uma boa maneira de fazer isso é com a prototipagem. Assim, você pode usar algo como o Adobe XD para criar interfaces de usuário simuladas. E então você pode dar isso a um usuário. Veja como eles usam o sistema, veja como se comportam, faça algumas alterações antes de você mesmo criar o complicado software. Como você faz isso? Bem, você simula isso em algo como o Adobe XD. E então você pediria um usuário da amostra que viesse talvez a um laboratório. Você os filmaria, filmaria a tela. Vá observá-los enquanto estão fazendo isso e apenas anote, ok, o que funciona para eles. Entre em um diálogo com eles, diga: Ok, ok , ok, eu gostaria que você encontrasse este produto. Como você faria isso? Eles vão navegar pesquisar e ver o histórico de pedidos para ver se o compraram anteriormente e podem encontrar o link dessa forma. Qual método será melhor para eles. Você dá a eles a demonstração pede que eles façam a tarefa. Você fala com eles sobre onde eles estão pensando em fazer com que eles falem sobre você, ok? Eu já disse, tente encontrar este produto. Em que você está pensando agora? E o usuário pode dizer: Ah, bem, eu provavelmente uso uma pesquisa, e pesquisar é minha forma favorita de fazer isso. E então eles poderiam pesquisar e chegar. Dessa forma, sabemos exatamente como um usuário deseja que o sistema funcione, se é onde podemos construir esse sistema e se podemos adaptá-lo às suas necessidades. Agora, muito disso é demorado, mas pedir a alguém que venha ao seu escritório, montar um laboratório onde você possa preencher o que está acontecendo ou assistir e dar a essa pessoa um conjunto de tarefas. Tudo leva tempo, mas esse tempo realmente compensa quando você entrega algo que está exatamente de acordo com o que o cliente deseja. Se você puder ver como eles usam o sistema, otimize-o e realmente receba esse feedback desde o primeiro dia. Inicialmente, leva muito tempo, mas seu tempo de desenvolvimento é muito menor porque você está construindo exatamente o que eles querem. Em relação aos sistemas tradicionais, você faria o grande bloco de desenvolvimento. Então, descobrimos que não era realmente o que eles queriam e temos reprojetar tudo investindo esse tempo cedo. Podemos então criar exatamente o que o usuário deseja e oferecer essa funcionalidade com mais rapidez. Isso mesmo, exatamente o que eles precisam fazer. E podemos fazer isso por meio de coisas como prototipagem rápida e laboratórios de usuários. 38. Requisitos funcionais: Os requisitos funcionais indicam o que o sistema deve ser capaz de fazer. Por exemplo, se dissermos que estamos tentando verificar o status do pedido, o requisito funcional pode ser que o usuário possa ver o status e os outros clientes não possam ver o pedido específico do cliente. Ou se estivermos construindo um sistema de login, por exemplo , por senha, por e-mail, meio de autenticação de dois fatores? E como estão as senhas? Reiniciar? Então, existe um mecanismo de reinicialização? Talvez os usuários devessem ser capazes, deveriam ser solicitados a alterar sua senha a cada 90 dias. Todas essas coisas são requisitos funcionais porque os requisitos funcionais documentam as funções do sistema. Eles documentam como o sistema funciona. Não é um pouco diferente dos requisitos não funcionais. E quando eu continuar a discuti-los, acho que você será capaz de ver a diferença de qual é qual. 39. Requisitos não funcionais: Requisitos não funcionais são coisas importantes ou essenciais, mas não afetam diretamente o funcionamento do sistema. Então, que tipo de coisas podem ser essas? Bem, coisas como desempenho, que rapidez o sistema responde? Disponibilidade e escalabilidade para alta carga? O serviço sempre estará disponível como monitoramento de segurança? Então, como você saberá se algo interrompe a reportagem? Podemos perguntar ao back-end? Podemos ver o que está acontecendo? Acessibilidade e usabilidade? Esses requisitos provavelmente mais funcionais agora muito importantes para eles e depois para a documentação. Como os futuros desenvolvedores ou usuários do sistema saberão como isso funciona? Então, observe que essas coisas não são opcionais, certo? exemplo, segurança e acessibilidade são requisitos legais porque nossos projetos precisam ser acessíveis. E se não tivermos segurança suficiente, violaremos a lei do GDPR. Então, essas coisas não são extras opcionais que todos precisam incluir, mas na verdade não fazem parte de como o sistema funciona. Por exemplo, se você tem uma página de status do pedido que mostra ao cliente onde está a entrega, esse é o requisito funcional de que a página informe onde está a entrega. Mas também há vários requisitos não funcionais . Então, por exemplo quão rápido uma página demora para carregar? Bem, poderia levar, não demoraria um segundo ou 1 minuto. Agora, se demorar 1 minuto, os usuários ficarão muito irritados e provavelmente sairão e farão compras em outro lugar. Mas, tecnicamente, se for exibido, que atenda aos critérios de aceitação usuário poderá ver o status do pedido. Portanto, não é tecnicamente um requisito funcional, mas é muito importante. Da mesma forma, a segurança, se outra pessoa puder ver o status do pedido, isso não necessariamente viola os requisitos funcionais. Mas seria muito importante porque exporíamos dados privados a alguém que não deveria ter acesso a eles. Portanto, é muito importante que pensemos requisitos não funcionais quanto nos requisitos funcionais. Mas eles são fáceis de esquecer. Esqueci de criar um recurso e você esquece de executá-lo no teste de segurança ou no teste de acessibilidade e o F ou algo fica confuso. É por isso que é muito importante incluir esses requisitos não funcionais na definição feita. Portanto, não permita que um ticket seja movido para a coluna concluído, a menos que tenha sido monitorado, a menos que tenha sido testado quanto à usabilidade, a menos que tenha sido testado o desempenho. Mas todas essas coisas em sua definição de feito e depois, você sabe, testá-las para que você saiba que tudo o que está incluído nela não as chama atendem aos requisitos funcionais e não funcionais. 40. Dívida de tecnologia: Há um tipo de multa que um engenheiro pode levantar: dívida de tecnologia ou dívida técnica. Então, isso ocorre quando fazemos algo para acelerar a entrega, sabendo que teremos que resolver isso mais tarde. Por exemplo, digamos que estamos criando algum software que talvez seja como um aplicativo meteorológico. O que ver se os dados meteorológicos vêm de uma fonte externa. E estamos usando a biblioteca a. Mas agora precisamos usar a biblioteca seja porque ela é melhor ou nos permite fazer algo e só queremos mudar para a biblioteca B. Uma maneira muito rápida de fazer isso seria trazer a biblioteca B para nosso aplicativo sem remover a biblioteca a como essa que ainda atendia aos requisitos se agora usássemos a biblioteca B, mesmo que a biblioteca a ainda estava incorporada ou trazida para a base de código de alguma forma. Agora, se fizéssemos isso, isso geraria uma dívida tecnológica. Como a biblioteca a ainda precisa ser removida em algum momento, ainda não fizemos isso. Agora, por que é importante lidar com a dívida tecnológica? Bem, primeiro, isso torna o código muito mais fácil ler se você é novo no projeto e está pensando : Ah, por que estamos usando a biblioteca be, mas também temos a Biblioteca a lá. O que está acontecendo lá? Isso pode ser muito confuso e, portanto, é mais difícil integrar pessoas. É mais difícil fazer trabalhos de desenvolvimento futuro. Isso pode retardar coisas como o processo de construção. Então, quando estamos compilando o software, se estamos trazendo duas bibliotecas, isso vai torná-lo maior do que o necessário para ser lento lá embaixo. Ou isso poderia afetar o desempenho, por exemplo, se fosse uma biblioteca JavaScript do lado do cliente. E estamos trazendo a biblioteca a, a biblioteca B, mas usando apenas a biblioteca be. Em seguida, carregaríamos a biblioteca a no navegador do usuário sem a necessidade dela. Portanto, ele tem muitos efeitos não funcionais, mesmo que não necessariamente afete a função do software. E essa é a dívida técnica e por que é importante enfrentá-la. 41. Cancelando um sprint: Em raras ocasiões, os requisitos do projeto podem mudar no meio do sprint. Temos esse princípio do Scrum de que nada de novo entra em um sprint. Então, definimos as tarefas que queremos fazer no início do sprint e, em seguida, iniciamos o sprint e as fazemos. E não trazemos mais ingressos até o próximo sprint. Então, o que fazemos se tudo em que estamos trabalhando se tornar irrelevante e não precisarmos mais cumprir as metas do sprint? Bem, nessas ocasiões, podemos cancelar um sprint e o proprietário do produto tem autoridade para cancelar o sprint. Eles acham que os requisitos mudaram e não adianta continuar trabalhando no que estamos trabalhando. Eles podem ir em frente e cancelar o sprint. Qualquer tíquete que estivesse funcionando, volte para a lista de pendências do produto e formamos um novo sprint. Então, temos uma nova reunião de planejamento de sprint. Descobrimos quando nosso papel de jornal será impresso e trazemos tíquetes de dados sobre novos tíquetes para atender aos novos requisitos. 42. O que é gerenciamento de lançamento ágil?: Quando falamos sobre Agile, estamos falando de pequenas iterações, pequenos recursos que criamos, que preparamos e depois os aprimoramos. Agora, algumas organizações adotam essa ideia de trabalhar com Agile, mas, na verdade, as implantações ainda são feitas de uma forma Big Bang. Então, há todas essas equipes ágeis trabalhando nos recursos de um software, mas o software só é lançado a cada dois meses e todos os recursos são lançados ao mesmo tempo. Então, quando falamos sobre o Agile Release Management, estamos falando sobre se livrar desse lançamento do big bang. Estou substituindo-o por um ciclo mais iterativo, pouco mais alinhado com o trabalho de desenvolvimento que estamos fazendo no sprint, nos sprints e nas equipes do Scrum. Portanto, a ideia é que você possa obter um conjunto de recursos e lançá-los independentemente dos recursos nos quais outras equipes estão trabalhando. Então, diga equipe a, crie alguns recursos e os implante e construa alguns recursos com base em equipe e eles serão implantados separadamente. Podemos até estar falando sobre ingressos individuais. Então, o TMA finaliza um tick como parte desse acabamento, ele está se fundindo com a base de código principal, implantando-a e implantando esses problemas um de cada vez. Seja qual for a forma exata de gerenciamento ágil de versões, acaba sendo implementada. Trata-se de reduzir esse ciclo de desenvolvimento, esse ciclo de vida do software, para que possamos obter pequenas funcionalidades sem ter esses lançamentos do big bang, em que lançamos muitos recursos ao mesmo tempo e não fazemos muitos lançamentos e dizemos que queremos pequenos lançamentos regulares de acordo com o processo ágil. 43. Ciclo de gerenciamento de lançamento: Todo desenvolvimento passa por um ciclo. E, nesse caso, analisaremos o ciclo de gerenciamento de lançamentos. Portanto, você pode começar a qualquer momento, mas começaremos pela parte superior com solicitações de mudanças. O proprietário do produto quer que algo mude. Por isso, projetamos uma solução, criamos alguns critérios de aceitação que implementariam essa mudança. Em seguida, criamos e escrevemos o código e o enviamos para outra pessoa para análise, para que ela possa verificar se o código faz sentido e é uma boa ideia. Em seguida, testamos para garantir que funcione e, se for aprovado, implantará esse trecho de código. Em seguida, teremos alguns tipos de métricas, que são relatórios sobre seu desempenho. E se houver algum problema , faremos o possível para relatar alguns problemas. Trabalharemos juntos como uma equipe para resolver um defeito ou criar outra história de usuário para alterá-lo. E então isso realimenta a solicitação de mudanças. 44. Vantagens do gerenciamento de lançamento ágil: Por que gostaríamos de fazer lançamentos ágeis? Bem, aqui estão as vantagens reais do processo de lançamento do Agile. O número um é que ele faz as coisas saírem mais rápido. Então, nosso objetivo é encurtar esse ciclo de desenvolvimento. Assim, você cria um recurso, o lança imediatamente pode começar a receber feedback sobre ele imediatamente. Se for uma mudança importante, ela sairá mais rápido, agrupando em uma versão maior no futuro. Número dois, ele funciona de acordo com o Agile. Então, se você tem todas essas equipes de Scrum trabalhando dessa forma muito ágil, por que seu processo de lançamento não suportaria isso? Por que voltaríamos repentinamente à abordagem do big bang, que tem todos os riscos de fracasso. Número três, ele permite que a equipe de scrum assuma a responsabilidade pelo lançamento. Então, da maneira antiga, todas as equipes desenvolviam coisas e, em seguida, parte da equipe teria que assumir a responsabilidade de lançá-las, analisar os bugs e monitorar o impacto das frutas. Quando você o devolve a um processo ágil em que cada equipe pode lançar os recursos nos quais está trabalhando. Então, a equipe de scrum pode assumir a responsabilidade por tudo isso. Eles podem expandir os recursos, monitorar o que está acontecendo. Eles podem fazer uma reversão, se necessário. Na pior das hipóteses, há alguns problemas e eles precisam fazer isso. Mas isso se encaixa na ideia de que as equipes Scrum são unidades independentes, multifuncionais. Eles assumem a responsabilidade pelo tíquete do início ao fim e podem orientar todo o processo sem serem bloqueados por outras equipes. E número quatro, pode ser mais seguro. Então, há esse tipo de mentalidade da velha escola da ideia. Ao criar todos esses recursos, você os entrega aos testadores e seu texto é incluído em todos esses cenários para garantir que tudo funcione em conjunto. Mas a realidade é que quando você lança 100 recursos de dez equipes diferentes ao mesmo tempo, eles provavelmente interagirão de maneiras que você nem imaginava e é muito provável que as coisas corram mal. E quando as coisas correm mal, é muito difícil reverter, porque você está revertendo 100 recursos de dez equipes. Quando você permite esses lançamentos iterativos muito pequenos. Então, se uma versão der errado, é muito fácil revertê-la porque você só muda uma coisa. E a equipe que o mudou está gerenciando o lançamento para que eles possam reverter rapidamente. Eu diria que o Agile Release Management não é apenas mais rápido e melhor, mas também mais seguro. 45. Horários de lançamento comuns: Vamos dar uma olhada em alguns cronogramas de lançamento comuns. Todos eles. estilo mais antigo seria o que chamamos de lançamento do Big Bang. Portanto, é um grande lançamento para várias equipes e uma grande equipe de teste revisar todos os recursos. Então, esse é o tipo de, digamos que você tenha três equipes diferentes trabalhando em um produto. Você está trabalhando como Microsoft Windows nove e quer lançar o Microsoft Windows 10. Então, todas as equipes que trabalham nisso fazem todas as mudanças e você as libera. Big Bang, que é o Windows 10 tem todas as mudanças ao mesmo tempo. E você precisa de uma grande equipe de testes para analisar todos os recursos, porque todos estão fazendo essas mudanças e não está claro como eles interagirão ou como as coisas falharão porque você precisa testar tudo novamente. E por isso é muito lento. Então temos algo como um sprint. Então, aqui estamos entrando em nosso processo de lançamento mais ágil. Então, um lançamento no final de cada sprint. É bom porque tem um cronograma de lançamento muito previsível. E qual é o objetivo? exemplo, você pode ter algumas talas em que tem muito para liberar e alguns sprints em que não tem muito o que liberar. Então, você provavelmente quer obter essas coisas quando está produzindo muitas coisas que podem sair, você provavelmente quer retirá-las mais rápido. E quando você não está produzindo muitas coisas que precisam ser enviadas, então por que você faria isso, por que lançaria? Portanto, isso cria um pouco de flexibilidade lá. Descendo, temos essa ideia de lançamento de recursos. Então, liberado manualmente, cada recurso está pronto. Assim, a equipe do Scrum preparará um recurso. Em seguida, você o mesclará manualmente na base de código e o lançará. Rápido. Pequenas mudanças. É bom e fácil de reverter. É necessário algum gerenciamento, como se fosse um processo de liberação manual. Mas isso ocorre mesmo no mundo ágil, que tem empresas que realmente adotaram o lançamento de recursos ágeis ainda é muito popular porque oferece mudanças tão rápidas e pequenas sem correr os riscos de contínuas, sobre as quais falaremos a seguir. Então, contínua é quando toda mudança, assim que você mescla algo, ela é enviada para o servidor de produção. Hum, então é super rápido, muito fácil de reverter porque você está enviando uma única confirmação. Então, quando você está revertendo as coisas, a única coisa que você precisa considerar é que a última confirmação fica um pouco complicada se você perceber que ela está quebrada. E então talvez você precise ter vários commits de volta. Mas se você está apenas lançando um, testando, se ele funciona na produção e depois em frente e pode avançar muito rápido. Mas isso exige um nível muito alto de cobertura de teste, porque literalmente tudo será retirado e, portanto, pode quebrar a qualquer momento. E você realmente precisa desse alto nível de cobertura de testes para garantir que tudo esteja funcionando. 46. Chaves para o sucesso: Aqui estão algumas chaves para o sucesso do Agile Release Management. O número um é obter a adesão da gerência. Isso vale basicamente para tudo o que você faz. Se você conseguir incorporar a gerência, terá muito mais facilidade. E, como discutimos anteriormente, há algum tipo de gerência da velha escola que prefere lançamentos do Big Bang porque acha que são mais seguros. Então, eu costumo me concentrar em realmente vendê-los com a ideia de na verdade, se fizermos esses lançamentos muito pequenos poderemos reverter com muita facilidade. E isso seria apenas lançar uma coisa vez para que saibamos como ela interage com todo o resto. É mais seguro. Portanto, não só vamos obter seus recursos mais rapidamente, mas também faremos com que as coisas corram mal com menos frequência. A segunda é projetar recursos com a implantação em mente. Então, quando você está criando um recurso, como você vai divulgá-lo? Um ótimo exemplo são coisas como interruptores de recursos. Assim, você pode implantar o código se colocá-lo atrás do switch de recursos e ativá-lo posteriormente. Então implante o código, ative o recurso. Se não funcionar, basta desligá-lo imediatamente e não precisa entrar em pânico. E se você puder pensar com antecedência em quais são as etapas que eu precisaria para implantar esse tíquete, você achará muito mais fácil fazer esses lançamentos. O número três é ter um bom plano de reversão. Se algo der errado, você pode reverter rapidamente? Tradicionalmente, na metodologia em cascata, não temos um bom método para fazer isso, mas é muito mais fácil quando estamos fazendo esses lançamentos muito pequenos e muita confiança se, mesmo quando as coisas correm mal, basta digitar esse pequeno comando. Ele rola por toda a parte traseira automaticamente e está tudo bem. Número quatro, tem alta cobertura de testes automatizados. Portanto, você quer ter certeza de que depois de fazer a alteração, você possa executar toda a jornada do cliente em todos os cenários que você precisa fazer automaticamente usando todas as ferramentas de teste automatizadas disponíveis. Porque quando você está fazendo lançamentos muito pequenos , você vai querer testar constantemente. Você faz uma mudança, testa tudo e faz uma mudança, testa tudo. A única maneira de cobrir isso é com testes automatizados porque você não poderia ter testadores suficientes para fazer todos esses cenários. Portanto, se você obtiver essa cobertura de teste, isso dará muita confiança para você e para a gerência de que as coisas funcionarão. E número cinco, coordene com outras equipes. Certifique-se de saber o que as outras equipes estão fazendo e como elas podem interagir com você. E também em termos de agendamento de um ucraniano lançado esta manhã, eles estão fazendo e lançamentos pela manhã, como você vai saber quando ele pode se revezar para fazer esses lançamentos, que você possa divulgar as coisas de forma rápida e eficiente. E então vocês não vão pisar nos pés um do outro. 47. Integração contínua: A integração contínua executa os testes automatizados após cada confirmação. Então, pode ser que toda vez um desenvolvedor envia algum código, ele o executa, ou pode ser que toda vez que um ticket é mesclado com um master, você queira executá-lo nessas filiais, dependendo de quanto você deseja gastar em suas ferramentas de integração contínua. Agora vou mostrar um exemplo aqui usando o Travis, que é apenas uma das opções disponíveis. E eu tenho esse projeto aqui, que é um ambiente de aprendizado de código aberto. E eu defini um arquivo de configuração aqui apenas para dizer ao servidor de integração contínua que ele está escrito em PHP. E eu queria testá-lo novamente, de repente, ponto 4.8, 0.0. E aqui estão todas as etapas necessárias para configurá-lo. Isso significa que, quando eu pressiono um commit, ele executará as tarefas tanto no PHP quanto no PHP 7.01. Podemos entrar neles e ver o que aconteceu. Travis estabeleceu tudo. Ele executa a instalação conforme solicitado e , em seguida, executa a unidade PHP para executar os testes e é aprovado. Então isso é ótimo. E então ele é feito exatamente a mesma coisa aqui, mas está funcionando novamente, 7.4. Portanto, se você tiver várias configurações de produção diferentes, poderá testar o servidor de integração contínua em todas essas configurações. E eu também posso ver uma história completa. Então, se eu acessar o histórico do Build, isso mostrará que toda vez que eu pressiono um commit, ele fez uma compilação. E, por exemplo, aqui, tivemos um que falhou na construção. Então, podemos entrar e não podemos mais ver os registros, infelizmente, mas sabemos que algo deu errado lá. E então eu conserto outra coisa aqui. Então, nesse caso, ele estava mudando a versão do PHP para corresponder ao servidor. E podemos ver que a construção está funcionando novamente. Portanto, é muito fácil de rastrear. Você pode executar os testes automatizados uma variedade de ambientes e ver facilmente o que está errado, pois pode ver exatamente onde a compilação parou de funcionar. 48. Entrega contínua: Um passo à frente da integração contínua é a entrega contínua. Então, aqui, o código passa automaticamente por todos os testes automatizados e é implantado automaticamente em seu ambiente de produção. Agora, isso não significa que você está implantando cada confirmação. Portanto, há várias estratégias de ramificação. Você poderia usá-lo, você poderia tê-lo para ter uma filial de produção. E toda vez que você mescla algo do master à produção, ele executa todas as tarefas automatizadas. E se isso funcionar, eles sobem sem qualquer intervenção humana adicional. Ou você pode colocá-lo onde o Master está sentado em seu ambiente de produção. E toda vez que uma equipe mescla ticket individual em master, ela executa todos os testes e é implantado automaticamente. O que isso é, está tirando a ideia de implantação manual. Portanto, um tíquete pode mesclar uma parte do recurso em que todos os testes são executados automaticamente e, se estiverem corretos, são enviados para o ambiente de produção. 49. Ferramentas de entrega contínuas: Há uma grande seleção de diferentes servidores de construção e ferramentas de integração contínua disponíveis. Nesta lição, discutiremos alguns deles. O primeiro a mencionar é provavelmente Jenkins. Portanto, esse é um servidor de automação de código aberto. Então você precisa hospedar isso sozinho. Você precisa ter um servidor em sua organização e executar o Jenkins sozinho. Mas é de código aberto, é gratuito e você pode executá-lo internamente. Depois, temos os ambientes hospedados aos quais normalmente se conectam. Se você tiver algo como um repositório do GitHub, ele se conectará a ele e extrairá seu código de lá. Então, temos Travis CI, qual mostrei o exemplo. E então também temos um CircleCI. E se você preferir manter as coisas no GitHub , o GitHub realmente tem uma coisa chamada GitHub Actions, que permite que você faça processos de CI e CD e, obviamente, se conecta muito bem se seu repositório estiver lá ou você puder usar uma plataforma como Get lamp. É como um servidor de integração contínua e um hub integrado em um. Portanto, é tanto para o servidor Git quanto criar seu software para você. E então o Team City é outro servidor de integração contínua que também é muito popular. 50. Software ágil: Até agora, fizemos coisas principalmente com planilhas e as publicamos. E essa é uma ótima maneira de aprender os fundamentos e entender como os sistemas funcionam. Mas em um contexto de negócios, muitas dessas coisas normalmente são feitas usando um software de gerenciamento de projetos. E isso é muito bom, especialmente se você tem uma equipe remota as pessoas estão em todos os lugares e todas precisam poder ver o tabuleiro e, em seguida, onde estão os ingressos. E você tem todos colaborando juntos. É aqui que o software de gerenciamento de projetos realmente se destaca. Então, neste módulo, vamos explorar algumas dessas soluções que já estão disponíveis para você usar. 51. Jira: Jira é possivelmente a ferramenta mais popular para fazer scrum online. Então, vamos em frente e criar um projeto aqui. Vamos chamá-la de loja de comércio eletrônico. E vamos mudar nosso modelo aqui para limpar. Perfeito. Sim, parece bom. Vamos seguir em frente e criar isso. Vou deixar de usar nenhuma ferramenta por enquanto. Ok, ótimo. Então, temos nossa lista de pendências aqui. Então, abaixo disso, temos nosso roteiro. Aqui, temos uma lista de pendências para que possamos começar a adicionar problemas à lista de pendências, se quisermos. Ou podemos começar a adicionar coisas também. Então, aqui esta página do produto é meio épica. E eu vou dizer que, como visitante, quero ver o título do produto. Como visitante, quero ver uma foto do produto. Como uma visita. Quero ler as avaliações dos produtos. Então, poderíamos adicionar outra época aqui. Então, poderíamos dizer Portal de Gerenciamento. E então, como gerente, quero ver a lista de pedidos. E, como gerente, quero despachar e fazer pedidos. Essa guia de roteiro permite o UPS. Em vez disso, criei esses épicos. E ajudaria se eu soubesse soletrar. Vamos despachar e fazer o pedido. Ótimo. Então, isso provavelmente não nos permitirá excluí-los, mas vamos tentar. Lá vamos nós. Então, podemos entrar em cada um deles e adicionar uma descrição. E então podemos adicionar alguns pontos da história aqui. Então, talvez muitos. Digamos que sejam três. E esse é cinco. Este vai ser um dois. E esse também vai ser um cinco. Ótimo, então temos alguns valores de pontos. E se tivermos uma lista de pendências, podemos começar a organizá-las em sprints. Então, aqui temos nosso primeiro sprint. E podemos arrastar alguns desses tíquetes dentro. Então, temos os tickets da nossa página de produtos n, os deixamos na lista de pendências. E se apertarmos Start Sprint do que isso, agora estamos na guia do tabuleiro. E aqui temos nossa prancha. Então, podemos adicionar algumas colunas aqui, se quisermos. Poderíamos chamar isso de revisão de código. Vou colocar isso lá. E também adicionaremos um para testes. Coloque isso aí. Então, se eu quiser começar com um tíquete, posso atribuí-lo a mim mesmo. Eu posso enviá-lo para o modo em andamento. E aqui temos nosso quadro À medida que atualizamos todos esses tíquetes, você atualizará para todos. E, obviamente, ao convidarmos os membros da nossa equipe , eles também poderão ver os tíquetes se movendo pela tela à medida que os transferimos. 52. Gráfico de gravação: Portanto, uma métrica importante que você deve observar em seu sprint é o Burndown Chart. Então, se clicarmos neste botão Insights aqui, podemos ver que temos esse progresso de sprint que nos diz qual porcentagem é feita está em andamento ou não foi iniciada. E também temos esse Sprint Burndown Chart aqui. Então eu o defini como um sprint de duas semanas. E podemos ver, em teoria, que deveríamos completar esse número de pontos. Então, na metade, devemos estar na metade dos pontos. Então, à medida que transferimos esses tíquetes, apenas atualizamos que agora podemos dizer que estamos 100% em andamento, mas nada foi feito ainda. Mas então, se eu pegar um desses tíquetes e movê-lo para Concluído. E, novamente, vamos atualizar. Agora estamos em, agora estamos 56 por cento concluídos, 44% incompletos. E podemos ver que nosso gráfico detalhado parece muito bom porque queremos essa linha azul, que é o trabalho feito para chegar a zero antes daqui. Portanto, precisaríamos atingir essa linha para alcançá-la. Se estiver aqui, não estamos concluindo o trabalho tão rápido quanto pensávamos que faríamos. Se estiver aqui embaixo , estamos concluindo o trabalho mais rápido do que pensávamos. 53. Trello: O Trello é uma ferramenta muito simples para criar quadros e listas de tarefas. Então, eu tenho um quadro totalmente novo aqui e podemos adicionar qualquer coluna que quisermos a e talvez adicionemos uma em andamento. Se eu souber soletrar. E depois uma revisão do código, teste e pronto. E então eu posso começar a adicionar coisas aqui. Então, eu quero ver o nome do produto. Como visitante, quero ver uma foto do produto. Diga visitante. Quero ler as avaliações dos produtos. E depois, podemos clicar neles. Eu posso atribuí-los a mim, por exemplo, eu posso adicionar uma descrição, então salve-a. E então minhas pequenas fotos, porque eu as assinei, posso colocá-las em andamento. Agora, o que o Trello não fará porque é muito simples começar a usar o Trello . É isso. Estamos em alta agora. Isso não nos fornecerá todos os relatórios que algumas das ferramentas mais avançadas farão. Mas é ótimo para projetos pequenos, projetos simples ou projetos que você só quer continuar, seguir frente e não quer perder muito tempo brincando porque você pode facilmente criar esses pequenos quadros, compartilhá-los com sua equipe e fazer com que todos trabalhem muito rapidamente. 54. Mural: Aqui está outra ferramenta chamada Miro, que tem muitos modelos. Então, quando você o carrega pela primeira vez e nós o teremos, você pode usar esses laços de amizade pendurados. Mas se você optar pelo Agile, ele tem muitas coisas legais. Então, por exemplo , ele tem um modelo retrospectivo, Start, Stop, Continue retrospectivo. Muitas coisas sobre as quais falamos. Ou podemos reduzir até a planilha de cinco porquês, muito boa para navios de guerra, retrospectiva de equipes e contorções diárias. E isso traçará uma visão geral. E, novamente, prováveis orbitais. Você pode compartilhá-lo com todos os membros da sua equipe e, em seguida , começar a usá-lo. 55. Construindo segurança psicológica: A segurança psicológica é saber se os membros da equipe sentem que têm a confiança necessária para expressar seus pensamentos e ideias. E é realmente responsabilidade da equipe construir isso. Porque, infelizmente, muitos de nós tivemos a experiência de não querer falar abertamente. Não queremos compartilhar ideias porque estamos preocupados. Seremos julgados, gritados, demitidos, seja o que for. Esses não são ambientes psicologicamente seguros. E no Scrum, reconhecemos que cada membro da equipe tem algo realmente valioso para apresentá-los e comentar sobre eles. Então, se pudermos criar segurança psicológica para que mais membros tímidos ou da equipe, ou mesmo qualquer membro da equipe, possam realmente ser honestos sobre seus sentimentos ou opiniões , isso é realmente benéfico. Então, como construímos segurança psicológica? Bem, estabelecê-lo verbalmente e de forma funcional é uma ótima maneira de apenas ressaltar que a opinião de todos é válida. Então, escrever isso e ter tudo isso concordando, como equipe, que realmente queremos essa contribuição e que não vamos julgar. Vamos ouvir e respeitar a opinião de todos , ajuda muito a construir essa segurança. As boas regras podem incluir: não há problema em cometer erros. Se tivermos uma cultura de julgamento e culpa, as pessoas não admitirão seus erros e , portanto, não aprenderemos nada. Por outro lado, se estabelecermos uma cultura em que não culpamos as pessoas pelos erros, apenas observamos o que deu errado e como podemos garantir que isso não aconteça novamente, é mais provável que as pessoas sejam honestas. E, portanto, podemos resolver esses problemas. Ter a opinião de todos é valioso, é só ter isso como regra: muitas pessoas podem achar que sua opinião não é importante. Portanto, se toda a equipe concordar que a opinião de todos é importante, isso pode realmente incentivar algumas pessoas a serem mais abertas. Ter uma cultura de respeito, respeitar a ideia de tampões e não interromper. Provavelmente todos nós já estivemos em reuniões em que uma pessoa continua interrompendo e isso é muito irritante, é rude e é desrespeitoso. E a pessoa que está sendo interrompida acabará desistindo e não compartilhando suas ideias. Então, se estabelecermos essa ideia de que, quando alguém está falando, não o interrompemos, o que deveria ser uma maneira básica, mas muitas vezes precisamos de um pouco de lembrança. Então, essa pode ser uma ferramenta muito útil Uma das maneiras pelas quais podemos construir isso é garantir que haja retrospectivas regulares para garantir que as pessoas tenham sua opinião e que as pessoas possam falar sobre como pensam que as coisas estão indo e como estão confiantes na equipe. E pode ser muito bom retirá-los do local. Então, se você tem um escritório aqui, talvez você tenha uma cafeteria aqui. Pode ser muito bom entrar naquela cafeteria ou ir para outro lugar. Basta tirá-lo do escritório para que as pessoas se sintam como se estivessem no escritório, claramente como o domínio do gerente. E podemos ficar um pouco mais nervosos se você levar isso para ambiente mais descontraído, como uma cafeteria, que também pode realmente ajudar as pessoas a se abrirem. 56. Reuniões de levantamento: As reuniões de adoração acontecem após a conclusão de um projeto, mas também, provavelmente, o mais importante depois que algo dá errado. Este é um momento em que as pessoas estão preocupadas com a culpa. Portanto, o objetivo da reunião é realmente descobrir o que aconteceu e o que podemos fazer melhor na próxima vez. É muito importante enfatizar que não é uma investigação, mas tentar encontrar algumas pessoas para culpá-las e puni-las por isso, mas apenas entender o que aconteceu e onde podemos consertá-lo. Então, da próxima vez , podemos fazer melhor. Agora, uma ferramenta muito boa em reuniões de adoração é usar o que é chamado de Cinco Porquês. Então, perguntamos por que cinco vezes. E quanto mais fazemos isso, mais chegamos à causa raiz do problema. Então, digamos que tivemos uma falha no servidor e as equipes se reuniram para uma reunião de encerramento. E podemos dizer: por que o servidor falhou? Quando, por quê? Bem, ficou sem espaço em disco. Ok. Por que ficou sem espaço em disco? Bem, os pulmões o encheram e havia tantos registros que ele encheu todo o disco rígido. Então, por que o servidor ficou cheio de registros? Bem, não havia configuração de monitor no servidor para nos alertar quando o disco rígido estava 80% cheio. Por que não havia configuração do monitor? Bem, não estava em nossa definição de concluído quando estávamos criando o servidor, então esquecemos de fazer isso. Por que não estava em nossa definição de feito? Bem, nunca tivemos uma reunião de trabalho para a equipe resolver isso. Assim, podemos ver que quando fazemos todas essas perguntas sobre o porquê e continuamos pesquisando, continuamos investigando um problema que pode parecer que, à primeira vista, foi a queda de um indivíduo. Foi alguém que deixou o servidor falhar. Na verdade, na causa raiz disso. É um problema de equipe e algo que podemos fazer melhor na próxima vez. Podemos ter formas de trabalhar. Podemos melhorar nossa definição de concluído. Podemos voltar e analisar isso, melhorar o monitoramento. Todas essas coisas surgiram porque continuávamos perguntando por que ir à raiz do problema, em vez de pensar na culpa. O ponto chave sobre a reunião de adoração é realmente falar. Falamos sobre segurança psicológica, construindo esse ambiente. Bem, não estamos culpando, estamos apenas analisando o que deu errado para sabermos o que podemos mudar no futuro. 57. Vender ágil para gerenciamento: metodologia ágil pode parecer ótima para muitos de nós, mas gestão nem sempre está de acordo com ela. Então, como podemos convencê-los que é uma maneira melhor de fazer as coisas? Bem, primeiro, devemos considerar quais preocupações, quais preocupações a gerência pode ter. Primeiro, é uma mudança. A mudança pode ser assustadora. É uma maneira diferente da maneira como eles fizeram as coisas antes. Portanto, se uma empresa teve sucesso ou pelo menos está lidando com isso até agora, então muda. Sempre há um elemento de risco lá dentro. Pode parecer que leva muito tempo para fazer qualquer coisa, em vez do tipo de método antigo em cascata, que é eficiente se funcionar perfeitamente. Nephron funciona perfeitamente, é claro, mas hipoteticamente poderia, enquanto estamos vendendo gerenciamento e ideias. Ok, bem, vamos criar uma página de produto em branco. Então vamos colocar um título nele. Em seguida, vamos colocar uma imagem nela e vamos lançar , mostrar e revisar todas essas coisas nesta etapa Você pode parecer que vai levar anos. E também capacita equipes em vez de gerentes. E isso é assustador se você é gerente e está acostumado a microgerenciar e controlar tudo. E então alguém apareceu e disse: temos essa metodologia de scrum e é muito bom capacitar a equipe para fazer o trabalho, então eles podem ficar nervosos com isso porque gostam de ser controlados. Então, como lidamos com esses medos, essas preocupações? O número um é um documento com falhas dispendiosas e processos de aprovação lentos. Então, se houver, digamos que o big bang seja lançado e continue e leve horas para revertê-lo. E há todo tipo de reclamações, então isso é ótimo para documentar. Ou, se esse processo de aprovação demorar quando você quiser, você lança um recurso e leva duas semanas. E os termos do produto perguntam: onde está, onde está? E você está dizendo, bem, que será lançado no próximo lançamento, mas fazemos lançamentos para toda a empresa, então não podemos fazer nada do que você apresentará, será comer até tarde. E então perdemos um documento de prazo, tudo isso. Porque se você puder ir até a gerência e dizer: Olha, houve um grande fracasso porque fizemos os lançamentos do Big Bang. Aqui, perdemos um prazo importante para mudar algo porque tivemos que esperar até o próximo lançamento. Essa é uma boa evidência de que o processo em vigor atualmente não está funcionando. Número Para focar nos benefícios de uma entrega mais rápida, os gerentes geralmente gostam de divulgar as coisas o mais rápido possível. Então, se pudermos contar a eles, olha, esse recurso que você pediu levou oito semanas para ser feito. Depois, houve mais duas semanas esperando por um alívio. E, na verdade, achamos que podemos obter uma versão básica dessa metade desse tempo, incluindo o lançamento. Nem precisaremos esperar até o próximo lançamento. Isso vai ser um grande argumento de venda. E falamos anteriormente também trazem essa ideia de segurança. Essa ideia, se estivermos fazendo lançamentos pequenos, mais fáceis de reverter , teremos menos dessas falhas catastróficas. O número três é falar sobre equipes mais felizes. Geralmente, as equipes preferem trabalhar de forma ágil em vez de em cascata. De uma forma em cascata, a equipe não está realmente no controle. Funciona em uma parte do sistema. Não se responsabiliza por isso. Não supera isso, não capacita a equipe. Desperdiça tudo o oposto disso. Isso capacita totalmente a equipe a assumir a responsabilidade pelo que está construindo e como vai entregá-lo. E as pessoas adoram que as equipes tenham adorado isso, elas adoram isso. A empresa está confiando a eles essa responsabilidade. E então eles são capazes de fazer esse trabalho e são capazes de fazê-lo bem. E isso significa equipes mais felizes. E do ponto de vista da gestão, isso significa redução da rotatividade. As pessoas não vão sair porque vão gostar mais do trabalho e, portanto, permanecerão na empresa. O número quatro é reconhecer que a mudança é assustadora. Eles podem estar preocupados com todas essas coisas e podemos dizer: Bem, sim, essas são preocupações. Temos certeza de que, quando 99% de certeza de que se contorcer é melhor do que uma cachoeira, porque todo mundo está acontecendo atualmente. Mas por que não fazemos isso como um julgamento? E um julgamento é uma ótima maneira contornar objeções, porque se você disser Ok, vamos tentar isso por três meses ou seis meses e ver como funciona. E se tudo explodir, voltaremos à cachoeira. Mas se funcionar e pudermos expandi-lo e implementá-lo em todas as equipes, é muito mais provável que você consiga aderir, pois isso vai dar certo. E é menos arriscado porque é apenas uma coisa temporária. Mas é claro que então vamos tentar. Que trabalham muito bem. Eles vão adorar e poderemos implementá-lo em toda a organização. 58. Boas práticas de treinamento: Mencionamos a ideia de que, às vezes precisamos treinar as melhores práticas e incentivar sua equipe a realmente usar toda a estrutura disponível nos esfoliantes. Então, como fazemos isso? Como treinamos de forma eficaz? Bem, o número um é começar onde a equipe está agora e ver o que funciona para eles. Então, às vezes, há uma tendência de entrar e simplesmente tentar começar a fazer mudanças. Mas se fizermos isso, a equipe provavelmente será bastante opositora. E eles estão felizes com a forma como as coisas estão. Se entrarmos, veremos o que funciona, veja o que não funciona. E podemos observar, fazer perguntas e depois ver o que não está funcionando bem para eles. E nesse ponto, podemos começar a sugerir mudanças e dizer: percebi que isso não está funcionando para você. Que tal se tentássemos dessa maneira, talvez isso ajude a resolver o problema. Faça sugestões, não comandos. As pessoas geralmente não gostam que digam o que fazer. Então, como acabamos de discutir, se pudermos fazer sugestões e oferecê-las à equipe, eles poderão optar por aceitá-las. Eles podem escolher não abraçá-la. Se eles se sentirem no controle das mudanças, concordarão muito mais em fazê-las do que se tentarmos impor algo a elas. Use como ou quais perguntas, em vez de por que perguntamos a alguém, por que você faz isso dessa maneira? Parece bastante acusatório. E isso coloca as pessoas na defensiva. Se usarmos como ou quais perguntas como, ok, bem, como você faz isso e como é isso? Como isso está funcionando para você? Então, você faz com que as pessoas examinem um pouco mais a situação, em vez de ficarem na defensiva como podem fazer perguntas sobre o porquê. Lembre-se de que contorcer o ArcGIS não é uma religião. Portanto, foque no que funciona, leve para ele o que funciona, e você não precisa usar o que não funciona. Se algo não está funcionando bem para você dentro da estrutura do Scrum, não use essa parte , use as partes que funcionam para você em sua organização, em sua equipe, seja o que for, absorva as coisas boas e não seja muito dogmático sobre as regras. Seja um modelo. A coisa mais importante que podemos fazer é seguir nós mesmos as melhores práticas. Se não o estamos seguindo , não podemos esperar que outras pessoas o sigam. Então, se há áreas em que achamos que talvez não estejamos totalmente alinhados com a forma como vemos as melhores práticas, então nos dedicamos a esse curso para modelar o que são as boas práticas. E também quando as pessoas veem isso funcionando para nós , acho que não está funcionando para Chris, talvez eu adote isso também. Veja o panorama geral das equipes dentro das organizações. Então, às vezes, a equipe está fazendo algo de uma certa maneira e há uma maneira melhor de fazer isso. Mas às vezes essa é a melhor maneira de fazer isso dentro da estrutura organizacional em que estão contidos. Portanto, é importante considerar como os valores mais amplos da organização podem afetar a equipe e levá-la a fazer as coisas de uma determinada maneira. E então experimente as mudanças como um experimento. Portanto, a mudança pode ser assustadora, mas se a vendermos como um experimento, por que não tentar isso nos próximos dois sprints e ver como funciona? muito mais provável que as pessoas se envolvam nisso porque não acham que estão se comprometendo com uma mudança permanente de dígitos. Ok, vamos experimentá-lo para a Sprint. Dois sprints duram alguns meses, seja o que for, se você está tentando nadar em geral, provavelmente deseja se comprometer com uma escala de tempo maior, talvez três a seis meses, pelo menos, algo assim. Mas se você formular isso como um experimento, vamos tentar isso e podemos voltar à maneira antiga. Se não estiver funcionando, as pessoas ficarão muito mais relaxadas experimentar coisas do que se você disser, certo, precisamos mudar agora. Isso soa muito permanente e muito assustador quando dizemos: vamos tentar como um experimento e ver se funciona ou não. É muito mais provável que as pessoas se envolvam. 59. Como escalar o Scrum: Scrum é projetado para uma equipe de cerca de dez pessoas a mais do que isso na equipe e começa a se tornar incontrolável. Você não pode fazer tudo em um scrum diário. E o significado, as atualizações são menos significativas porque as pessoas aqui e as pessoas aqui provavelmente trabalharei em coisas diferentes. Portanto, as atualizações realmente não funcionam e não é um ambiente de equipe. Mas o que acontece se você tem um projeto que precisa mais de dez pessoas trabalhando nele, como costumamos fazer nos negócios? Bem, nesse caso, você precisa de várias equipes Scrum. Mas as áreas de preocupação o que acontece se a equipe de scrum começar a pisar nos pés uma da outra e a se atrapalhar. Como podemos escalar de uma única equipe Scrum para várias equipes Scrum? Bem, é isso que vamos ver neste módulo. 60. Scrum de Scrums: Se tivermos várias equipes de Scrum e elas precisarem ser capazes se comunicar para impedir que pisem umas nas outras. Então, como podemos fazer isso acontecer? Bem, uma solução é o Scrum of Scrums. Então, isso é essencialmente um scrum diário. Então, a mesma coisa que o Scrum diário. Mas cada equipe de Scrum envia um Scrum de Scrums delicado e esse formulário é um pouco maior. Portanto, isso pode ser feito diariamente, também pode ser feito semanalmente, se isso funcionar em sua organização ou em qualquer frequência que funcione para você. Mas é o mesmo formato de um scrum diário. Cada natação é representada por uma pessoa, que pode ser qualquer um. Então, pode ser o Scrum Master, se isso faz sentido, pode ser, digamos, um engenheiro-chefe, mas realmente pode ser qualquer um. Você pode girar em torno da equipe para que todos tenham chance de ir ao Scrum of Scrums e ver como ele funciona. Quando você está no próprio Scrum do Scrum, ele funciona como os scrums diários. Então, a pergunta a ser feita é: O que fizemos? Especialmente coisas que podem estar impactando outras equipes? O que estamos fazendo agora que pode afetar as equipes e com quais bloqueadores outras equipes poderiam nos ajudar. Então, da mesma forma que quando estamos fazendo nosso scrum diário, falamos sobre o que fizemos individualmente anteriormente, fazendo agora e quais bloqueadores temos, estamos chegando ao Scrum of Scrums e dizendo para nossa equipe isso é o que fizemos, é nisso que estamos trabalhando. Esses são bloqueadores com os quais precisamos de ajuda. Cada equipe se alimenta para que as equipes saibam no que cada um de nós está trabalhando. E então o delegado volta para sua equipe individual do Scrum e envia informações irrelevantes para o resto da equipe. 61. Dividir produtos: Um conceito-chave no Scrum é um produto tem um proprietário de produto. Você não pode ter um produto. Temos vários proprietários de produtos. O que acontece se você as equipes do Scrum precisem trabalhar no mesmo projeto. Parece que você terá dois proprietários de produtos diferentes que desejam em cada equipe trabalhando no mesmo produto. Como você lida com isso? Bem, nesse caso, precisamos dividir os produtos de alguma forma em seções separadas. Então, vamos trazer nosso site de comércio eletrônico novamente, como exemplo. É uma grande luta e queremos que diferentes equipes de scrum trabalhem nela. Mas não podemos ter dois proprietários de produtos proprietários do site de comércio eletrônico. O que poderíamos fazer, por exemplo, é dividi-lo em front-end e back-end. Então, por domínio de front-end, as coisas que o cliente verá se estiver acessando o site para navegar. E então, o sistema de back-end é o que a equipe do armazém e a equipe de vendas trabalham no site de comércio eletrônico usam para gerenciar e enviar todos os pedidos. Ao separá-los, você pode ter uma equipe Scrum assumindo a responsabilidade por cada um. Assim, você pode ter equipe Scrum trabalhando no lado voltado para o cliente. equipe Scrum trabalhará no back-end do produto e você terá um proprietário de produto para cada um que os gerencia. Agora, outra solução que você pode fazer é ter um proprietário de produto trabalhando em várias equipes Scrum. Portanto, a equipe a está trabalhando no front-end, equipe B está trabalhando no back-end. E há um proprietário de produto que gerencia e trabalha em ambas as equipes, o que o torna um proprietário de produto bastante ocupado. Mas, dependendo da quantidade de decisões e da autonomia da equipe, isso também pode funcionar muito bem. 62. Alinhamento de sprint: Se você tem várias equipes Scrum, talvez queira começar a pensar em alinhamento de sprint. Então, se você tem a equipe a e a equipe B ou seus sprints começarão ao mesmo tempo? Eles serão diferentes? O tempo em que eles funcionam ao mesmo tempo funciona muito bem porque se você tem alguns bloqueadores, como o TMA, é bloqueado por algo em que a Equipe B está trabalhando. A equipe começou a trabalhar nisso e disse: sprint free e team a nose, que eles poderão retomá-lo no sprint quatro, brilhando, está terminado. E então tudo está alinhado. Você pode alinhar seus roteiros de produtos. Então você pode dizer, mais ou menos, que teremos o TMA trabalhando nesta equipe, trabalhando nisso. E então, em duas semanas, quando o sprint e nós o alteraremos. Então, alinhá-los pode ser muito útil. Para algumas organizações, é melhor não alinhá-las apenas por motivos logísticos. Tão seguro, você só tem uma sala de reuniões. Então, se você tiver todas as suas equipes de scrum começando e terminando com a aspirina, elas serão gastas no mesmo dia. Ambos vão querer a sala de reuniões para o Sprint Planning e para as retrospectivas no mesmo dia. Então, nesses casos, você pode realmente querer deixar a equipe de sprint ser uma estrela aqui e fazer um sprint de duas semanas e equipe B começar aqui uma semana depois. Então, a compensação, para que eles não se deparem com esses encontros com conflitos. Em termos de alinhamento e alinhamento das diferentes equipes gastas. É aqui que variar a duração do sprint pode ser realmente útil. Digamos que você tivesse TMA e acabou comprar o Team Be On uma semana depois. Mas você realmente quer alinhar seus sprints e pode fazer com que a equipe a faça um sprint de três semanas, para que ambos terminem ao mesmo tempo. Ou você pode fazer com que a tuberculose se reduza a um Sprint de uma semana. E depois disso, eles voltam para se você estiver usando sprints de duas semanas por padrão, eles voltam às duas despesas e depois se alinham. Então, você pode fazer isso da maneira que quiser, mas ter um pouco de antecedência para saber se você quer que eles estejam alinhados ou se você quer que eles estejam alinhados ou não e como você vai alinhá-los usando comprimentos de sprint pode ser muito útil. 63. Outras metodologias: Este curso se concentrou no Scrum, mas existem outras metodologias ágeis você pode querer usar de tempos em tempos e em vez de estruturas que talvez você queira incluir junto com o SCRUM que realmente complementam o crescimento. Então, neste módulo, vamos discuti-los sobre metodologias e estruturas ágeis que seria muito útil para você conhecer ao trabalhar dentro do Scrum. 64. Kanban: O Scrum e o Kanban são provavelmente as estruturas ágeis mais populares para gerenciar projetos. Então, quando você usaria o squirm e quando você usaria o Agile, era muito adequado para entregar novos projetos em que você está construindo algo, algo Greenfield, você tem um trabalho a fazer. Você sabe, você tem, digamos, seis meses para fazer isso em. E você só precisa passar por todas as coisas. Kanban tende a ser mais adequado para nosso tipo de ambiente de negócios , como de costume. Então, talvez você já tenha construído sua plataforma de comércio eletrônico. É ao vivo e você só precisa ver o que aparece. Pequenas melhorias, pequenas correções. Você não tem o tipo de grande roteiro de produto que desenvolveu. Mas você precisa responder às coisas com muito mais rapidez porque está lidando com problemas ativos no site. Portanto, o kanban funciona de forma um pouco diferente pois não há sprint scrum. Temos essa ideia de sprints e temos, digamos, um bloqueio de duas semanas. Decidimos o que vamos fazer e começamos com duas semanas e fazemos isso por duas semanas e analisaremos o que vamos fazer. Em Kanban. Há uma placa contínua e o acúmulo de produtos. E o tipo de coisa que achamos do Sprint Backlog, da lista de tarefas, é a mesma coisa. Portanto, a lista de pendências do produto já está na coluna de tarefas do quadro e em ordem de prioridade , para que você escolha a primeira. Então, digamos que vamos usar nossa plataforma de comércio eletrônico novamente. Nós o temos ao vivo. E notamos que o símbolo da moeda não está sendo exibido corretamente, certo? Para alguns usuários. E isso é um problema muito grande porque se trata de pagamentos. Assim, o proprietário do produto levantaria um tíquete para dizer que símbolo da moeda não estava sendo exibido corretamente, provavelmente o enviaria direto para o topo da lista de pendências. Então, o próximo engenheiro a pegar alguma coisa, nós poderemos pegá-la. Então, em vez de ter esses sprints, tudo está em uma lista. Você pega a coisa de cima e se algo precisar ser feito com urgência, basta trazê-la e colocá-la diretamente no topo da lista de pendências para que você possa começar a trabalhar nela. Agora, isso significa que, no Scrum, medimos a velocidade. Quanto mais pontos conseguirmos comida por sprint, melhor será o nosso desempenho. No Kanban, falamos sobre o tempo de ciclo. Então, a partir do momento em que o tíquete é levantado, rapidez podemos distribuí-lo e liberá-lo e pronto. Então, como um resumo rápido, Scrum é ótimo para quando você tem tarefas fixas e fica feliz em trabalhar nesse sprint de duas semanas quando tem algo disponível e só precisa fazer pequenos ajustes. E você está menos preocupado em fazer um grande trabalho. Você só precisa obter essas correções rapidamente. O Kanban pode ser mais útil. Lá. 65. Programação extrema: A programação extrema é uma abordagem ágil para escrever código. exemplo, o Agile em si não é um conjunto claro de regras, mas antes existem vários princípios e várias técnicas que se formam para formar o que chamaríamos de programação extrema. Geralmente envolve várias pessoas trabalhando no mesmo trecho de código. Então, isso pode ser um código escrito em pares, Pair Programming, que uma pessoa é o piloto realmente digitando as coisas, mas ela está colaborando com alguém sentado ao lado dela falando sobre as decisões que são capazes de identificar o que está funcionando e como projetá-lo. Você pode até mesmo escalar até a programação em massa. Então, quatro ou cinco pessoas estão examinando um trecho de código, seja em seus próprios computadores, colaborando em tempo real ou em um computador todo sentado, se isso funcionar para você. Dessa forma, ele garante um código realmente de alta qualidade. Mas é claro que leva mais tempo. Se você estiver em pares, apenas metade dos seus engenheiros está escrevendo código e programando em massa ainda mais. Então. O código deve ser amplamente revisado e aprovado por outra pessoa. Portanto, isso deve estar em tudo o que você escreve. Se você escrever um trecho de código, envie um pull request ou uma revisão de código para outra pessoa. E outra pessoa deveria examinar esse código, se certificar de que faz algum sentido. Faça comentários e repasse para a pessoa. Se uma passagem for imediata ou se houver alguma alteração necessária ou sugerida, passe-a de volta ao autor para ver se ele deseja fazer essas alterações. As tarefas automatizadas devem ser escritas para tudo. Portanto, adotar essa ideia de integração e entrega contínuas deve ser um teste automatizado para cada funcionalidade que escrevemos, porque é impossível para testadores humanos aprenderem tudo isso, mantendo-o o mais simples possível. Então, na verdade, sempre queremos escrever o mínimo de código possível e torná-lo reutilizável. E se pudermos escrever um trecho de código que possamos usar em três lugares diferentes e excluir o código antigo e volumoso , isso é ótimo porque menos linhas de código significam menos lugares onde as coisas podem dar errado. Depois, desenvolvimento orientado por testes, sobre o qual falaremos na próxima lição. 66. Desenvolvimento orientado para testes: desenvolvimento orientado por testes, também conhecido como TDD, é uma forma de escrever código em que escrevemos o teste unitário antes de escrevermos o próprio código . Por que fazemos isso? Bem, isso nos impede de adicionar código que não precisamos. Então, falamos anteriormente sobre essa ideia de escrever uma história de usuário e dizer, como usuário, eu quero fazer isso. E então podemos escrever o código sabendo que, assim que atendermos aos critérios de aceitação , cumpriremos o trabalho. Bem, isso é basicamente o mesmo, pois escrevemos primeiro o teste para dizer o que esse código precisa ser capaz de fazer. E então escrevemos o código para preencher esse texto. Assim que o teste de unidade for aprovado, agora podemos começar a escrever código. Não precisamos adicionar nenhum outro inchaço porque passamos pelo teste unitário e , portanto, ele faz tudo o que precisamos fazer. Portanto, escrever o teste primeiro e depois o código funcional nos ajuda a garantir que tudo tenha cobertura de teste. E segundo, não estamos adicionando nenhum inchaço ao código porque podemos parar assim que o teste for bem-sucedido. 67. Desenvolvimento baseado em comportamento: O desenvolvimento orientado por comportamento é uma extensão do desenvolvimento orientado por testes, que escrevemos nossos testes em histórias de usuários e, em seguida, escrevemos o código para preencher essas histórias de usuários. Então, o que isso realmente significa? Bem, digamos que estamos codificando o sistema de checkout para nossa plataforma de comércio eletrônico. Podemos escrever uma história como como cliente, eu quero poder ver o total da minha cesta. Ou, como cliente, quero poder efetuar o pagamento do meu pedido. E esse seria o idioma em que escrevemos o teste. Esse seria nosso teste, digamos, e é muito compreensível. Qualquer um pode dar uma olhada nisso, o próprio proprietário do produto poderia escrever. Qualquer pessoa que esteja assistindo ao teste, mesmo que não seja uma pessoa técnica, entende o que está acontecendo lá. Em seguida, temos uma camada de código no meio, que traduz isso em testes reais, em vez de dizer: “ Quero efetuar o pagamento do meu pedido”. Quais são as etapas automatizadas para realmente testar isso? Então, traduzir a linguagem natural em um teste. E então, é claro, temos nosso código funcional, a própria plataforma de comércio eletrônico. E então há meio que 33 peças lá dentro. O que é, qual é a vantagem de fazer isso? Quando escrevemos o código em linguagem natural. Todos podem entender isso, o proprietário do produto, coisas não técnicas e entrar e ver exatamente o que estamos testando. Em segundo lugar, ele realmente se concentra em atender aos requisitos do usuário. Assim, podemos escrever nosso teste primeiro. Preciso que o usuário consiga concluir esse pagamento. Em seguida, escrevemos nosso teste e nosso código funcional para cumprir isso. E assim que cumprirmos isso, podemos parar. Não estamos adicionando nenhum exagero porque sabemos que essa história de usuário está definida e já temos uma cobertura de teste completa sobre ela. Portanto, sabemos que podemos executá-lo por meio um pipeline de integração contínua e tudo funcionará muito bem porque o teste abrange isso, não há nada mais necessário e todos podem entender o que está acontecendo. Agora, existem várias populares de BDD de desenvolvimento orientado por comportamento estruturas populares de BDD de desenvolvimento orientado por comportamento. Temos pepino em Ruby, temos b hat em PHP, temos J se comportar em Java, mas seja qual for a linguagem em que você esteja trabalhando, provavelmente existe uma estrutura BDD por aí. Então, eu recomendo subir, uma olhada e ver o que está lá , experimentar e ver como você lida com isso.