Skip to content

Instantly share code, notes, and snippets.

@reginadiana
Last active June 8, 2023 12:48
Show Gist options
  • Save reginadiana/86872db83bdb2cb9d753ebe8fda370aa to your computer and use it in GitHub Desktop.
Save reginadiana/86872db83bdb2cb9d753ebe8fda370aa to your computer and use it in GitHub Desktop.
Anotações sobre gestão de projetos (Agile, Scrum e outras metodologias)

Livro Agile (Casa do Código)

Cap. 4 - Entregando valor

  • Os testes de regressão garantem que uma nova alteração não irá impactar negativamente as funcionalidades que já existiam

Livro Agile (Casa do Código)

Cap. 5 - Direcionando a equipe

  • Jamais use metas para intimidar as pessoas ou ameaçá-las, em vez disso, para ajudá-las a entender o que a organização precisa que façam naquele dado momento, e para que todos possam "remar o barco na mesma direção";

  • É importante que as metas sejam comunicadas e permaneçam sempre explicitas e visiveis para o time. De que vale uma meta se as pessoas que precisam realizar o trabalho para que elas sejam atingidas não a conheçam?

  • Abaixo temos um gráfico de CFD, onde a quantidade de demandas são medidas ao longe de 6 semanas. É possivel notar que os testes se tornaram um gargalo:

image

  • Throughput (entregas);

  • A velocidade, o escopo pendente/entregue e o trabalho em progresso são as métricas mais acompanhadas por equipes ágeis;

  • Meça times e não individuos: medir individuos pode destruir a colaboração do time, uma vez que ajudar um outro momebro do time pode significa melhorar a métrica de desempenho dele e prejudicar a sua própria. Já quando mede-se o time em vez do indivúduo, já que a colaboração tende a melhorar a performance do time como um todo, a colaboração entre as pessoas será mais incentivada;

  • Lead time: tempo entre o pedido do cliente e a entrega funcionando em prod;

  • Cycle time: tempo entre a história estar em "to do" para "done";

  • Tempo de Vida: tempo em que uma história está no backlog;

  • Ultrapassar o tempo da retro (ou de qualquer outra reunião), pode fazer com que os participantes fiquem dispersos e sintam-se desrespeitados, uma vez que podem ter outros compromissos;

  • O facilitador da retro deve permanecer neutro em discussões mesmo quando houver fortes opiniões a respeito. Se ele estiver engajado na discussão, provavelmente não conseguirá fazer um bom trabalho na liderança da retro. Ele também deve evitar que ocorram conversas em paralelo, e deve assegurar que todos sejam devidamente ouvidos. Contudo, ele deve cortar as discussões quando estiverem propensas a estourar o tempo da reunião ou impedir que todos os tópicos importantes sejam abordados;

  • É essencial que as pessoas deixem de lado competição e colaborem para alcançar um bom resultado na retrospectiva, podem estender isso também ao trabalho do dia a dia;

  • É possivel avaliar o resultado das retrospectivas através dos beneficios conquistados, isto é, das melhorias realizadas por meio das ações que foram definidas e efetivamente realizadas;

  • Evite a todo custo sair da retrospectiva sem uma lista clara de ações a serem tomadas para alcançar melhoras;

  • Assim como para o varejo a grande quantidade de estoque é considerada um disperdicio por n motivos, em software há fatores que tornam um trabalho um desperdicio de tempo e dinheiro, como gastar tempo detalhando histórias que demorarão muito tempo a serem desenvolvidas, pois o escopo, cenários e motivações podem mudar, gerando retrabalho. O mesmo ocorre quando muitas features são inseridas em um projeto, sendo que a maioria dos clientes usam muito pouco do que há disponivel; Produzir documentos que ninguém le é disperdicio; Quando o PO não está presente e não há ninguém que o represente quando há alguma duvida, é necessário esperá-lo, pois o dev pode seguir por um caminho que não é o esperado e gerar retrabalho

Livro Agile (Casa do Código)

Cap. 6 - Otimizando o Sistema

  • Gerentes devem fazer o que for possível para menter o time ativo, criativo e motivado;

  • Pesquisas apontam que "motivações" como aumento de salario, bonus, premios e recompensas não são suficientes para manter as pessoas motivadas. É preciso entender quais são os desejos e necessidades de cada individuo através da abordagem da motivação intrinseca para que então, de alguma forma, seja possível alinhar e equilibrar os propositos entre individuo e organização;

  • Gestores precisam estar atentos e devem dedicar-se a conhecer a cada pessoa individualmente, para entender como pode motivá-las;

  • "O que é medido é gerido";

  • Auto-organização pode não funcionar, para diminuir esta possibilidade de as pessoas um proposito claro e metas compartilhadas;

  • Metas devem ser especificas, mensuráveis, atingíveis, realistas e oportunas;

  • Trabalhar com uma diversidade de métodos é crucial para lidar com as pessoas;

  • Desenvolvedores precisam saber se o código que escrevem está legível do ponto de vista de seus pares;

  • Desenvolvedores precisam dar feedback sobre a gestão;

  • Uma das maneiras para conhecer o time é realizando 1:1; Não existe um periodo de tempo entre essas reuniões que seja "gravado na pedra". Há times que fazem semanalmente, outros mensalmente e até a cada 3 meses, porém, o importante é que seja curto o suficiente para que o ciclo de feedback e processo de melhoria aconteçam rapidamente;

  • Não se engane com a ideia de que o gestor não deveria passar tanto tempo com as pessoas para não perder o foco da gestão, porque isso faz parte da gestão;

  • Outro estilo de feedback é o Feedback 360, onde são analizados diversos aspectos sob o olhar de várias pessoas do time; É importante evitar fazer uma relação direta do resultado do feedback com promoções, bonus, demissões, etc para não perder a confiança das pessoas e acabar criando um clima de tensão na equipe, além de perder o foco do objetivo dessa pratica; A essencia do feedback 360 graus, de um ponto de vista agil, é que voce possa dar feedback para todos os membors do seu time, receber feedback de todos e, em alguns casos, inclusive, se autoavaliar com o objetivo de que todos possam utilizar esse feedback para melhorar. Já a forma pode variar bastante. Há diversas abordagens que podem ser usadas, por exemplo, pode ser anonimo, pode ser face a face, pode ser mais subjetivo e aberto, ou mais objetivo e relacionando a metas especificas. O resultado pode ser particular, ou pode ser publicado para todos;

  • Profissionais "T" são especializados em uma área especifica (ex: desenvolvimento de software), mas também são capazes de exercer outras funções, ainda que não tão bem, como design, segurança, gestão, testes, etc.

  • Times funcionais são divididos em grupos de pessoas isoladas em suas áreas, ou seja, há um grupo de desenvolvedores, outro de design, outro de gestores, etc. Já os times cross-funcionais podem ser divididos em squads onde cada integrante possui uma área de especialização. Essa squad pode atuar em um pedaço do sistema, que ao juntar com outros formarão o sistema inteiro;

  • As opiniões quanto ao tamanho idela de uma equipe ágil podem variar, mas, geralmente são equipes pequena sque variam de 5 a 12 integrantes. Quanto mais pessoas envolvidas mais frágil se torna a comunicação do time, mais coordenação se torna necessária e, geralmente, menor é produtividade;

  • Pessoas precisam trabalhar juntas por um tempo para que sejam uma equipe de verdade, e não apenas um grupo de trabalho. POr isso, é importante que elas possam permanecer por algum tempo na mesma equipe, embora, de tempos em tempos, pequenas mudanças, rotacionando membros de uma equipe para a outra, podem ser positivas para disseminar o conhcimento dentre as equipes;

  • Contratação colaborativa: Algo que sem dúvida, influencia na formação de equipes, são os novos membros que são contratados ao longo do tempo. A contratação colaborativa é uma prática que basicamente consiste em permitir que as pessoas da equipe da qual possivelmente o candidato fará parte possa participar do processo fazendo perguntas e criando desafios para o candidato. Essa prática requer confiança da gestão e maturidade da equipe, mas, dessa forma, além de o time colaborar para selecionar mais pessoas aderentes a cultura e as necessidades da organização, as equipes tendem a aceitar melhor o novo membro, dado que participaram ativamente do processo de contratação e seleção, e concordarão que o novo membro tem as caracteristicas que consideram importantes para a equipe;

  • Temos uma grande tendencia de nos conformarmos ao ambiente m que estamos inseridos. Por isso, esse fator faz total diferença na carreira. Estar em um ambiente onde os desenvolvedores procuram estudar e se atualizar fará com que voce faça isso para se equiparar a eles naturalmente;

  • Esteja sempre lendo um livro. Quando terminar, já começe outro e mantenha constancia; Não compre mais livros do que pode ler. Assim que terminar um, compre o próximo;

  • Participe de eventos e conferencias sobre tecnologias e assuntos do seu interesse, troque informações com outros profissionais e constua uma rede de relacionamentos. Hoje em dia, temos uma grande riqueza de material em áudio e vídeo disponiveis.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment