Slide 1

Slide 1 text

Desenvolvimento no Centro da Transformação Ágil Arquiteturas Evolutivas, Continuous Delivery e outros tópicos

Slide 2

Slide 2 text

Samanta Cicilia mãe da Luna e da Leona QA Manager #PayCertify viajante #diversidade #ministryOfTesting INICIATIVAS Agile Testers ToT MoT RJ MoT SP CONTATOS @samantacicilia https://samantacicilia.com/ https://www.linkedin.com/in/samantacici/

Slide 3

Slide 3 text

No content

Slide 4

Slide 4 text

Incremental X Iterativo Processo Incremental Plano detalhado (validação apenas no final) Processo Iterativo Plano breve (validação contínua)

Slide 5

Slide 5 text

Pesquisa Lean BUILD (hipóteses) MEASURE (prova de conceito) LEARN (consequências) Fonte Adaptada: GOTHELF, Jeff. Lean UX, 2016.

Slide 6

Slide 6 text

Vamos ser ágeis! Mas só depois de... - desenhar toda a arquitetura do projeto... - comprar todos os servidores que precisamos... - ter todas as telas da aplicação...

Slide 7

Slide 7 text

Arquiteturas Evolutivas

Slide 8

Slide 8 text

“Uma arquitetura evolutiva suporta mudanças contínuas e incrementais como um primeiro princípio por meio de vários aspectos.”

Slide 9

Slide 9 text

Características - Modularidade e Acoplamento; - Organizada em torno da capacidade do negócio; - Experimentação

Slide 10

Slide 10 text

Princípios - Fitness Functions; - Trazer o que há de pior para o início; - Decisões de última hora

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

Entrega Contínua

Slide 13

Slide 13 text

“É uma disciplina de desenvolvimento de software na qual você constrói software de forma que ele possa ser liberado para produção a qualquer momento.”

Slide 14

Slide 14 text

Objetivos - Tornar todas as partes do processo visíveis; - Melhorar o feedback; - Software entregue em qualquer ambiente a qualquer momento

Slide 15

Slide 15 text

Benefícios - Reduzir risco nos deploys; - Viabilizar que o DONE seja produção; - Rápido feedback dos usuários reais

Slide 16

Slide 16 text

Pipeline

Slide 17

Slide 17 text

Qualidade

Slide 18

Slide 18 text

Qualidade é uma característica percebida, feita de expectativas do usuário (coisa que você não controla)

Slide 19

Slide 19 text

O que é qualidade? "Qualidade de um produto de software é formada por vários componentes" Lisa Crispin & Janet Gregory Agile Testing: A practical Guide for Testers and Agile Teams

Slide 20

Slide 20 text

Qualidade de Produto de Software Funcionalidade -Completude -Corretude -Adequação -Co-existência -Interoperabilidade -Adequabilidade reconhecida -Aprendizabilidade -Operabilidade -Proteção a erros -Estética da interface do usuário -Acessibilidade -Maturidade -Disponibilidade -Tolerância a Falha -Recuperabilidade -Modularidade -Reúso -Analisabilidade -Modificabilidade -Testabilidade -Adaptabilidade -Instalabilidade -Coexistência -Capacidade para substituir -Comportamento Temporal -Utilização de Recursos -Capacidade Performance Compatibilidade Usabilidade Confiabilidade Segurança Manutenibilidade Portabilidade -Confidencialidade -Integridade -Não repúdio -Autenticidade -Rastreamento ISO 25010 (antiga 9126)

Slide 21

Slide 21 text

Wikipedia - Atributos de Qualidade

Slide 22

Slide 22 text

Continuous Testing

Slide 23

Slide 23 text

By 2020, DevOps initiatives will cause 50% of enterprises to implement continuous testing using frameworks and open-source tools Gartner Summits 2017 Renovate, Innovate and Unleash the Power of Digital Business

Slide 24

Slide 24 text

Continuous Testing is a best practice approach for automated testing that allows you deliver quality software faster without compromising quality. By allowing you to test your apps at high speed and throughout the software lifecycle, Continuous Testing can help you avoid bottlenecks in your development process, all while keeping your users happy with flawless digital experiences.

Slide 25

Slide 25 text

Elementos core 1 - Compromisso com a Cultura de Qualidade 2 - Testar em cada estágio do Ciclo de Desenvolvimento 3 - Usar as melhores ferramentas para automação 4 - Use uma plataforma de execução de teste que ofereça cobertura abrangente 5 - Escalar a infra conforme a necessidade 6 - Ter visibilidade da sua eficiência de teste

Slide 26

Slide 26 text

https://www.blazemeter.com/shiftleft/continuous-testing-next-step-software-lifecycle-evolution

Slide 27

Slide 27 text

https://www.ibm.com/developerworks/library/d-continuous-testing-shift-left-trs/index.html

Slide 28

Slide 28 text

https://danashby.co.uk/2016/10/19/continuous-testing-in-devops/

Slide 29

Slide 29 text

Por fim...

Slide 30

Slide 30 text

https://leankit.com/learn/lean/3-key-concepts-of-lean-process-improvement/

Slide 31

Slide 31 text

Referências https://www.infoq.com/news/2015/03/qcon-microservices-architecture https://www.infoq.com/br/news/2016/04/evolutionary-architectures https://www.thoughtworks.com/pt/books/building-evolutionary-architectures https://www.thoughtworks.com/pt/insights/blog/microservices-evolutionary-architecture https://martinfowler.com/bliki/ContinuousDelivery.html https://www.oreilly.com/learning/configuring-a-continuous-delivery-pipeline-in-jenkins

Slide 32

Slide 32 text

Obrigada!