Article image
Diogo Barbosa
Diogo Barbosa28/03/2023 18:43
Compartilhe

Como Trabalhamos e Como Entregamos Performance - Como equipes de tecnologia trabalham para entregar o melhor desempenho possível em seu projetos

  • #Desperte o potencial
  • #Equipe Motivada
  • #Boas práticas

Boa noite pessoal, essas são algumas das informações adquiridas na mentoria do dia 28 de Março, realizada pela Nicole Pires, engenheira de software sênior no Banco PAN.

Essa mentoria abordou um pouco como as equipes de tecnologia do PAN (e outras empresas) trabalham para entregar o melhor desempenho possível em seu projetos. Vamos lá?

Tríade de liderança

Product Owner (P.O.) - Quem mais entende sobre o produto e que, decide o que a equipe de projetos irá fazer, e com qual prioridade.

Scrum Master - Responsável por blindar o time. Define uma lista de taresfas que o time irá atuar, somente com aquilo que foi planejado para o time não sair do foco. Facilita a comunicação do time.

Teach Lead - Atua acompanhando o time em todas as etapas técnicas (Upstream e Downstrean), assim como destravar impedimentos técnicos.

Time técnico

Quality Analyst (QA) - É responsável por realizar testes de componente ou E2E com foco em validações funcionais e também apoiar e conduzir o time em testes e qualidades.

Engenheiro de Software - Indentifica como tornar real a solicitação do PO, refinar a solução, desenvolver testes unitários, implantar, monitorar e corrigir possíveis bugs.

User experience Design (UX) - Responsável por planejar e prototipar a melhor experiência nas telas do sistema, com foco em usabilidade, utilidade e acessibilidade.

Features e Bugs

Feature - São funcionalidades disponíveis ao cliente, recursos do software.

  • Ex: Tranferência por TED, Pix, Doc.

Bug - Erros que geram falhas ao clientes, problemas do software.

  • Ex: Uma tela de load infinita.

Upstream e Downstrean

Upstream - Amadurecimento e validação das ideias antes de aplicá-las ao mundo real

Passo a passo da validação:

image

Foto retirada da mentoria*

Um exemplo abaixo mostra um pedido do PO diante de uma necessidade para melhorar a qualidade de atendimento ao cliente, enquanto o engenheiro de software analisa o que será necessário para esse pedido se tornar aplicável.

image

Foto retirada da mentoria*

Downstrean - Mão na massa, execução do que foi definido, tornando o desejado em solução real.

Passo a passo do desenvolvimento, acompanhem a explicação das etapas e pesquisem sobre:

image

image

Fotos retiradas da mentoria*

Lembrando que ao final da criação e implementação do processo, você é responsável pelo gerenciamento do que foi implementado. Você cria, você gerencia! (You Build It, You Run It!)

Run - Gerenciando o sistema

Monitoração de Dashboards - Verificação se há muitos erros 500 no sistema, se há lentidão ou atraso, status code da famílha 400, etc.

Gestão de incidentes - Quando não se consegue encontrar erros durante o monitoramento dos dashboards e há uma reclamação por parte do cliente, resolver o que está causando esse problema o quanto antes seguindo a criticidade do erro.

Manutenção e compilance - Manter o sistema atualizado e em conformidade com as novas tecnologias ou leis que surgirem.

Performance - Desempenho do Software

Desempenho é a comparação entre o resultado desejado e o que foi alcançado. Performance é o resultado futuro ao corrigir erros de desempenho passados.

O que se espera?

Execução correta do software e em tempo adequado mesmo em seu período de volume máximo de requisições.

Identificando problemas de performance

Teste de carga - Estudar e descobrir quantos acessos ao mesmo tempo o software aguenta.

Teste de estresse - Como o sistema se comporta mesmo após o limite de acessos ser excedido.

Teste de duração - Submeter o sistema a uma quantidade de submições de forma continua e sem pausas para ver como ele se comporta

Teste de pico ou spike - Como o sistema se comporta com muitas requisições em um curto período de tempo.

Teste de volume - Verificar se o software suporta o volume de dados que será utilizado por ele.

Teste de escalabilidade - Parecido com o teste de pico, analisa como o sistema se comporta quando há um grande volume de requisições e também quando há uma baixo número de requisições, de forma escalável.

Seguem agora outros artigos para se aprofundarem em alguns assuntos abordados nessa mentoria:

Pirâmide de Testes, TDD e BDD - Os principais testes realizados em projetos de desenvolvimento: https://digitalinnovation.one/artigos/piramide-de-testes-tdd-e-bdd-os-principais-testes-realizados-em-projetos-de-desenvolvimento

Engenharia de Confiabilidade de Site (SRE) - A disciplina criada pelo Google: https://digitalinnovation.one/artigos/engenharia-de-confiabilidade-de-site-sre-a-disciplina-criada-pelo-google

Ferramentas de testes sugeridas pela mentora:

Dynatrace

Grafana

Apache JMeter

k6

WebLOAD

Sugestões de Livros:

Tire seu projeto do papel com SCRUM

Testes de software

14 hábitos de desenvolvedores altamente produtivos

Obrigado por lerem, boa sorte e bons estudos a todos.

Compartilhe
Comentários (0)