1. Quem Tem Medo do Low Code?
Skills dev em um ambiente “não dev”
DÉBORA MODESTO & DOUGLAS SIVIOTTI
Porto Alegre, 8 de Dezembro de 2022
Free images by:
2. Sobre
Tema: Plataformas No Code e Low Code
Foco: Skills relevantes para Enterprise Low Code
Organização: 29 slides em 4 partes (+- 30 minutos):
Parte 1 – Cenário e Introdução
Parte 2 – Experiências e Casos Práticos (Equipe Dev)
Parte 3 – Skills Ainda Relevantes
Parte 4 – Reflexões Finais e Perguntas
DOUGLAS SIVIOTTI
DÉBORA MODESTO
Analista de sistemas com especialização em
engenharia de software pela Universidade Federal
do Rio Grande do Sul e em privacidade e uso de
dados pessoais pela PUC-MG.
Atua com desenvolvimento há mais de 20 anos e é
arquiteto e software do SERPRO desde 2005.
Nos últimos anos atua especialmente com
arquitetura, qualidade de software, segurança e
proteção de dados (LGPD), sendo um dos criadores
do "guia de desenvolvimento confiável" do SERPRO.
Mestre em Informática pela Universidade
Federal do Estado do Rio de Janeiro.
Trabalha desde 2010 no Serviço Federal de
Processamento de Dados (SERPRO), atuando
como desenvolvedora, analista de requisitos e
líder de projetos.
Atualmente é gerente de equipes de engenharia
com foco em atendimento a novos negócios e
soluções Low Code.
3. Aviso sobre o Conteúdo
Equalizando Expectativas
1. Não é uma apresentação sobre ferramentas de low code
2. Não é sobre o código gerado por plataformas low code
3. Não é sobre vantagens, desvantagens e comparativos
4. Plataformas No Code e Low Code
simplificam o processo de
desenvolvimento de soluções e
expandem os recursos humanos
capazes de realizar atividades “dev”
Parte 1
Cenário e Introdução
5. Cenário Atual de Desenvolvimento de Soluções
Impactos da Pandemia e do Trabalho Remoto
6. No Code
Plataformas de Desenvolvimento Sem Código
1. Plataforma para desenvolvimento de soluções digitais sem utilização de código
fonte por parte do desenvolvedor
2. Baseada em interfaces gráficas “drag and drop” e configurações
3. Desnecessário conhecimento em programação
4. Usuário típico: Qualquer pessoa
5. Uso típico:
●
Soluções internas e/ou temporárias
●
Gestão de conteúdo
●
Processos padronizados (workflows, e-comerce)
8. Low Code
Plataformas de Desenvolvimento de Pouco Código
1. Plataforma para desenvolvimento de soluções digitais com auxílio de interfaces
e aceleradores, mas com possibilidade de edição do código fonte
2. Baseada em interfaces gráficas “drag and drop”, mas com código por trás
3. Desejável conhecimento em programação
4. Usuário típico: Desenvolvedor
5.Uso típico:
●
Startups e transformação digital
●
Problema menos complexo ou crítico
●
Entregas mais rápidas para validação (MVP e protótipo)
10. Espectro de Nível de Problema a Ser Resolvido
Abordagens Diferentes para Diferentes Níveis
Simples
Ordinário
Periférico
Complexo
Crítico
Estratégico
No
Low
“High”
11. Espectro de Nível de Skills Necessários
Conhecimento de Programação e Tecnologias
No
Low
“High”
Foco da Palestra:
Zona Laranja
“Não Devs” Devs Experientes
12. Zona Laranja (Enterprise Low Code)
Características Comuns
1. Problemas típicos de low code que evoluem para maior complexidade
2. Problemas já complexos que requerem resposta/entrega muito rápida
3. Equipe júnior com desafio sênior
No High
Low
14. Experiência de uma equipe de
desenvolvimento usando uma
plataforma low code como stack
para soluções de clientes
Parte 2
Experiências e Casos
15. Contexto
Por que fizemos nossas escolhas?
Objetivo: Ampliação de capacidade produtiva p/ apoiar prospecção de novos negócios
Premissas
◦ Colaboradores teriam que aprender do zero qualquer stack escolhida
◦ Curva de aprendizado: mais rápida possível
◦ Aprendizado de outras atividades (requisitos, estimativa, g. de fluxo, UX, LGPD etc)
Estratégia
◦ Usar Low Code (OutSystems)
◦ Capacitação básica e onboarding mão-na-massa em
projeto de cliente com “pouca pressão”
16. Formação dos
Times
Apoio de
Mentores
Avaliação
do
Contexto
Identificação
de Dívida
Técnica
Desempenho
das Pessoas
Aumento da
Taxa de Erros
Aumento da
Complexidade da
Aplicação
Tamanho da Equipe
vs Modularização
Ausência de Testes
Automatizados
...
Back End
Grande Volume
de Dados
Contexto Mais
Complexo = Mais
Modelagem do
Problema
Capacitação
Básica
(40 hrs)
Início
do
Desenvolvimento
Muitos
Impedimentos e
Dificuldades
Primeiras
Entregas
(Sprint 1 a 4)
Sistema 1 – Time A
Sistema 2 – Time B
Curso de
Arquitetura
SISTEMA 3
Low Code?
Contexto
Linha do Tempo
Perfil:
- Regime temporário
- Primeiro emprego
- Escritório de Projetos
Solução para cliente: digitalização
de uma ficha cadastral, melhoria
de UX, integração com SSO e APIs.
Produto de prateleira: geração de
serviços padronizados e workflow
de atendimento, integração com
SSO e APIs.
17. Low Code é Pra Todo Mundo?
Quem “saiu do outro lado” usando low code
Apesar de mais simples que uma stack “high code”, a
capacitação básica não foi suficiente: foi necessário
ter mentores.
Quem não sabia nenhuma outra linguagem não
“saiu do outro lado”.
Obs: outras experiências com desenvolvedores Natural no passado não
foram bem sucedidas
“
Sair do outro lado
Conseguir desenvolver
funcionalidades de
complexidade média, com
uma taxa de erros baixa,
sem depender de auxílio
de alguém mais
experiente, em um prazo
considerado aceitável pelo
restante do time.
”
18. Dev ou Não Dev?
Eis a questão
Para atender soluções da “zona laranja”
QUANTO MAIS DEV, MELHOR
19. Quando e Onde Adotaríamos Novamente?
Sugestões conforme nossa experiência
Descoberta da Solução: soluções funcionais rápidas
◦ Prospecção de clientes, validação de hipóteses,
entendimento de novas funcionalidades, testes de UX
Software “doméstico”
◦ Uso interno, menor dependência “da TI” ou concorrência
com outras prioridades
Soluções de Clientes
◦ Transacionais, de pequeno porte/complexidade, front-
end, com forte apelo cadastral ou sequencial (workflow)
Em outros cenários, pensaríamos a respeito
20. Alguns skills de design e/ou
arquitetura ainda serão relevantes
em plataformas de low code
Podem ser um grande diferencial
Parte 3
Skills Relevantes
21. Skills e Conhecimentos Relevantes
Mais ou menos dependentes da plataforma
Design / Arquitetura
1. Modelagem Conceito/Dados
2. Modularização Física
3. Gestão de Dívida Técnica
4. Facilidade de Manutenção
Infraestrutura
a) Desempenho e Otimização
b) Escalabilidade
c) Testes e Qualidade
d) Segurança e Operações
Parcialmente dependente da plataforma Independente da plataforma
22. 1. Modelagem Conceitual e de Dados
Entidades, Cardinalidades, Chaves, Domínios
●
Formulário Simples
●
1 Entidade (1 Conjunto)
●
Campos Abertos
●
Uso interno
No High
Low
●
Entradas Variadas
●
Muitas Entidades
●
Domínios e Referências
●
Integrações
23. 2. Modularização, Acoplamento e Complexidade
Projetando serviços e elementos físicos em rede
●
Sistema Monolítico
●
Desempenho Único
●
Versionamento Simples
●
Autocontido
No High
Low
●
Microserviços
●
Muitos Níveis de Serviço
●
“Version Hell”
●
Integrações
24. 3. Gestão de Dívida Técnica
Identificando, mensurando e pagando dívida
●
Vida Útil Curta
●
Baixa Taxa de Evolução
●
Equipe Pequena
●
Baixa Rotatividade
No High
Low
●
Vida Útil Longa
●
Alta Taxa de Evolução
●
Equipe Grande
●
Alta Rotatividade
25. 4. Facilidade de Manutenção (capacidade de)
Se tem algum código ele deve ser limpo
●
Vida Útil, Evolução e Equipe (anterior)
●
Nomes, Comentários e Estilo
●
Funções pequenas e unitárias
●
Encapsulamento e fronteiras
No High
Low
26. Profissionais com Skills Dev tem
grande vantagem em um ambiente
Enterprise Low Code
Parte 4
Conclusão