Escolar Documentos
Profissional Documentos
Cultura Documentos
Analia Irigoyen
2020
Fundamentos
Engenharia de Software
Analia Irigoyen
© Copyright do Instituto de Gestão e Tecnologia da Informação.
Todos os direitos reservados.
Scrum ................................................................................................................... 23
Kanban ................................................................................................................. 26
Planejamento .................................................................................................... 28
Melhoria contínua.............................................................................................. 32
ScrumBAN ............................................................................................................ 33
Planejamento .................................................................................................... 34
Monitoração ...................................................................................................... 34
Melhoria contínua.............................................................................................. 34
XP ......................................................................................................................... 34
Os valores do XP .............................................................................................. 35
Azure DevOps....................................................................................................... 39
Jira ........................................................................................................................ 41
CALMS ................................................................................................................. 48
Motivação .......................................................................................................... 63
Referências………. .................................................................................................. 70
Métodos e ferramentas.
Documentação.
Busca-se:
Tipos de aplicações
Software de Sistema:
Aplicações Web:
Software que provê capacidade específica a ser usada por muitos clientes.
Computação Ubíqua:
Código complicado.
Sequencial (Cascata)
Iterativo (Incremental)
Planejamento (iterativo).
Desenvolvimento (iterativo).
Entrega (iterativo).
Baseado em componentes.
As principais desvantagens:
Cliente não sabe que o software que ele vê não considerou, durante o
desenvolvimento, a qualidade global e a manutenibilidade a longo prazo. Força
a utilização do protótipo como produto final.
Abordagem cíclica.
Baseada em disciplinas:
‒ Tarefas.
‒ Responsabilidades.
Desenvolvimento iterativo-incremental:
‒ Iteração:
‒ Disciplina:
‒ Papéis:
Contexto e motivação
1. Anos 90: apareceram algumas metodologias ágeis, tais como XP (Kent Beck
e Ron Jeffries), 5 valores, 14 princípios e TDD, Scrum (Sutherland, Schwaber,
Beedle), Crystal (AlistairCockBurn) e Lean (manufatura).
Principais mitos
Existem alguns mitos relacionados a agilidade que ao longo dos anos foram
desmistificados e/ou esclarecidos, são eles:
Neste sentido, é um mito não adotar uma gestão ágil e adotar um processo
sem documentação. Se existem documentos que devem ser gerados eles devem ser
previstos como tarefas e sua revisão nos critérios de “done”. Os valores e princípios
da agilidade se remetem a agregar valor ao cliente; se para o cliente estes
documentos são importantes, eles serão gerados.
Os congressos ágeis possuem trilhas específicas para áreas que não são de
TI comentarem e relatarem suas experiências, é possível notar a presença de
médicos, advogados e até empresas de seguros nestas trilhas.
Aceitar a mudança como algo que sempre vai existir e se preparar para lidar
com ela é fundamental. Quando definimos ciclos curtos de feedback, permite-se essa
evolução do conhecimento da equipe e do cliente. Um processo de mudança
burocrático desencoraja e muitas vezes impede uma mudança que é extremamente
necessária para o sucesso do projeto.
Entregar de forma frequente partes do produto e/ou serviço, que tenham valor
para o usuário e/ou cliente. Assim é possível dar um feedback rápido ao cliente,
reduzindo diversos riscos do projeto (sejam eles de escopo, prazo ou tecnologia).
Esse princípio se opõe a realizar poucas ou, no limite, uma entrega de valor única,
apenas ao final do projeto (o ciclo de vida cascata tradicional).
Ter o principal objetivo de gerar produto ou serviço que possui algum valor ao
cliente, do que algo que não vai ser utilizado. A documentação deve ser útil e com o
objetivo de aumentar o valor agregado ao cliente traduzido em partes de produtos
e/ou serviços.
12. Em intervalos de tempo regulares, a equipe reflete sobre como se tornar mais
efetiva e então refina e ajusta seu comportamento de acordo.
Para se tornar cada vez mais efetiva, a equipe regularmente inspeciona suas
formas de trabalho e adapta quando oportunidades de melhoria são identificadas,
promovendo a melhoria incremental contínua.
Nesta unidade vamos tentar desvendar aos poucos a sopa de letrinhas ágil
que já invadiu o mercado e tem sido cada vez mais difundida e utilizada para gestão
de projetos. Quem nunca ouviu falar de algumas destas siglas? Scrum, Kanban e
ScrumBAN.
Scrum
Não é metodologia.
É um framework.
É adaptável.
É atitude!
Transparência – Tudo que afeta o resultado final deve ser visível para aqueles
que gerenciam os resultados.
Times de Scrum (Papéis) – Product Owner (PO), Scrum Master (SM) e Team
(Time).
Times de Scrum
O fluxo do Scrum
Kanban
Da mesma forma que o Scrum, a abordagem Kanban também tem seus mitos
e verdades, sendo eles:
Não existe o time box – Não existe esta exigência, mas deve ser utilizado
sempre que o fluxo for otimizado.
Não existe estimativa – Não existe esta exigência, mas deve ser utilizada
sempre que apropriado e fizer sentido.
O fluxo do Kanban
Planejamento
Se a linha de backlog estiver mais inclinada que a linha do “Done” significa que
está entrando mais coisas que podemos entregar.
O fluxo deve ser gerenciado com o chamado filtro de decisões Agile, seguindo
no mínimo estes questionamentos: “Estamos obtendo progresso?”, “Estamos
encorajando a cultura baseada em confiança?”, “Estamos tratando o WIP como risco
e não como um ativo?”.
Após realizar essas análises, a equipe deve planejar entregas, otimizar o fluxo
e experimentar sempre.
Melhoria contínua
Sempre que necessário a equipe deve fazer melhoria contínua no fluxo e nas
regras: mude, experimente, ajuste os WIPS, ajuste o quadro e aumente a visibilidade.
A utilização das duas abordagens juntas está cada vez mais sendo adotado
pelo mercado. É possível perceber que ao adotar o ScrumBAN, os progressos andam
mais rápidos. Alguns autores classificam o Kanban como sendo uma evolução e o
Scrum como uma evolução, mais ainda é possível identificar as seguintes vantagens:
o aumento da qualidade, a inserção das inspeções, a inclusão da análise de causas
de problemas/defeitos e a diminuição do desperdício.
Fonte: https://agilewheel.com/tag/scrumban.
Monitoração
Melhoria contínua
XP
Os valores do XP
Comunicação:
Simplicidade:
Coragem:
Melhorar o design de código que está funcionando para torná-lo mais simples.
Refatoramento contínuo.
Integração contínua.
Azure DevOps
Dashboards customizáveis.
https://azure.microsoft.com/pt-
br/services/devops/compare-features/
https://azure.microsoft.com/pt-
br/pricing/details/devops/azure-devops-services/
Jira
Gestão de Requisitos.
Gestão de Testes.
Gestão de Documentos.
Gestão de Tarefas.
Gestão de Mudanças.
Gestão de Configuração.
Geração de Relatórios.
https://br.atlassian.com/software/bamboo/pricing
https://www.atlassian.com/software/crowd/pricing
https://www.atlassian.com/software/jira/portfolio/pricing
Como afirma Dweck (2017), mindset é uma palavra inglesa que significa
“pensamento”, “atitude mental”, “moldes mentais”. A forma de pensar, a mente, está
organizada como o pensamento se organiza e encara as situações da vivência diária.
A palavra ágil faz sentido ao que se é eficaz e rápido, diligente, trabalhador, aquele
que acha solução rápida, que consegue se resolver com facilidade.
CALMS
Como será que devemos aplicar CALMS nas organizações? Existem algumas
maneiras aos quais o CALMS pode ser aplicado ao DevOps para empresas,
pensando na melhora ou na mudança estrutural, visando a melhoria de práticas
DevOps ou até mesmo sua implantação.
Fonte: https://azure.microsoft.com/.
Vantagens do PaaS
Serverless
Frameworks Serverless.
Estratégia de Branching
Baseado no Ambiente:
Baseado no aplicativo:
Alternância de Recursos:
Gemba: ir e ver com os seus próprios olhos o que está acontecendo para
propor melhorias e/ou ajustes. Por exemplo: se o problema é na utilização do
aplicativo do cliente, gere empatia e vá até o cliente para entender qual é a
dificuldade real.
Revisão de código: uma das formas mais comuns de revisão de código é o Pull
Request, onde o desenvolvedor solicita revisão de forma colaborativa após
concluir mudança no código, esse processo é muito usado no GitHub.
A terceira maneira tem como objetivo principal criar uma cultura de confiança
para que seja possível errar e aprender com os erros. É importante correr riscos para
potencializar um aprendizado contínuo. A terceira maneira é fundamental para que a
cultura DevOps esteja presente e sempre acesa nos times. Sem ela, a cultura de
automação e colaboração vai se enfraquecendo ao longo do tempo. Temos que nos
habituar e, consequentemente, habituar os times em que trabalhamos a melhorar
continuamente até a perfeição. Como a perfeição não existe, a melhoria contínua não
terá fim.
Cultura justa: existem algumas importantes dicas para promover esta cultura
justa, são elas: nunca nomear ou envergonhar quem é o culpado da falha;
Motivação
Isso significa que, pela nossa natureza humana e por primeira reação:
O seu cérebro vai criar mil razões para impedi-lo de mudar os hábitos.
Para que este aprendizado seja possível, precisamos correr riscos, ter uma
cultura justa e buscar fatos e dados para tomar qualquer tipo de decisão.
Para que possamos correr riscos, aprender e não ativar nosso lado
“reptiliano”, precisamos de segurança psicológica. Conforme ilustrado na Figura 15,
para que o aprendizado aconteça, segurança psicológica e responsabilidades
precisam andar juntos.
Alvin Toffler, em uma das suas frases mais conhecidas, diz que “os
analfabetos do futuro não serão os que não sabem ler ou escrever, mas os que não
sabem aprender, desaprender e reaprender”. Não é difícil entender que criar uma
cultura de experimentação e aprendizado é imprescindível para qualquer empresa.
Implantação contínua.
Iteração 0 (zero).
Squad de produto.
As três maneiras.
Fonte: mapa mental dos autores Paulo Caroli e Alexandre Barbosa (2019).
KIM, Gene et al. The DevOps Handbook: how to create world-class agility, reliability,
and security in technology organizations.Portland: IT Revolution Press, 2016.
MUNIZ, Antonio; IRIGOYEN, Analia. Jornada Ágil e Digital. Editora Brasport, 2019.
FOGGETTI, Cristiano. Gestão Ágil de Projetos. São Paulo: Education do Brasil, 2014.
BECK, Kent. Extreme Programming Explained: embrace change. Upper Saddle River:
Addison-Wesley Professional, 1999.
BECK, Kent; FOWLER, Martin. Planning extreme programming. Upper Saddle River:
Addison-Wesley Professional, 2000.
usuários desenvolvendo software com agilidade e alta qualidade. São Paulo: Novatec,
2004.
Informática), 2005.
Referências RUP
_ https://www.ibm.com/br/shop/trainings/
_ https://www.ibm.com/products/software
_ https://www.public.dhe.ibm.com//software/pdf/br/RUPDS.pdf