Boas práticas de desenvolvimento em IoT - Victor Lima

35
Boas práticas de desenvolvimento em IoT [email protected]

Transcript of Boas práticas de desenvolvimento em IoT - Victor Lima

Page 1: Boas práticas de desenvolvimento em IoT - Victor Lima

Boas práticas de desenvolvimentoem IoT

[email protected]

Page 2: Boas práticas de desenvolvimento em IoT - Victor Lima

Boas práticas

Page 3: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlguns exemplos

Controle deVersão

Separação de ambientes

Gestão de pacotes

Build automatizado

Testes automatizados

Testes Integrados

Integração Continua

DeployContínuo Instrumentação

Page 4: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

Controle deVersão

Separação de ambientes

Gestão de pacotes

Build automatizado

Testes automatizados

Testes Integrados

Integração Continua

DeployContínuo Instrumentação

Page 5: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git Separação de ambientes

Gestão de pacotes

Build automatizado

Testes automatizados

Testes Integrados

Integração Continua

DeployContínuo Instrumentação

Page 6: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git plist, build type

Gestão de pacotes

Build automatizado

Testes automatizados

Testes Integrados

Integração Continua

DeployContínuo Instrumentação

Page 7: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git plist, build type

cocoapods, gradle

Build automatizado

Testes automatizados

Testes Integrados

Integração Continua

DeployContínuo Instrumentação

Page 8: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git plist, build type

cocoapods, gradle

gradle, xcodebuild

Testes automatizados

Testes Integrados

Integração Continua

DeployContínuo Instrumentação

Page 9: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git plist, build type

cocoapods, gradle

gradle, xcodebuild

Testes Integrados

Integração ContinuaXCTest, JUnit

DeployContínuo Instrumentação

Page 10: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git plist, build type

cocoapods, gradle

gradle, xcodebuild

Integração ContinuaXCTest, JUnit XCTest,

Robotium

DeployContínuo Instrumentação

Page 11: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git plist, build type

cocoapods, gradle

gradle, xcodebuild

XCTest, JUnit XCTest, Robotium Jenkins, xcserver

DeployContínuo Instrumentação

Page 12: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git plist, build type

cocoapods, gradle

gradle, xcodebuild

XCTest, JUnit XCTest, Robotium Jenkins, xcserver

DeployContínuo Instrumentação

Page 13: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git plist, build type

cocoapods, gradle

gradle, xcodebuild

XCTest, JUnit XCTest, Roboeletric Jenkins, xcserver

Instrumentaçãotestflight,crashlytics

Page 14: Boas práticas de desenvolvimento em IoT - Victor Lima

IEm mobile?

git plist, build type

cocoapods, gradle

gradle, xcodebuild

XCTest, JUnit XCTest, Robotium Jenkins, xcserver

testflight,crashlytics google analytics

Page 15: Boas práticas de desenvolvimento em IoT - Victor Lima

O que mudou então?

Page 16: Boas práticas de desenvolvimento em IoT - Victor Lima

Um template

Page 17: Boas práticas de desenvolvimento em IoT - Victor Lima

IVocê, amanhã

Page 18: Boas práticas de desenvolvimento em IoT - Victor Lima

Como isso se aplica?

Page 19: Boas práticas de desenvolvimento em IoT - Victor Lima

IIProblema

Você está desenvolvendo um aplicativo para uma empresa que permite você alugar um carro. Você usa um aplicativo, ele se comunica com um hardware no carro que permite que o carro ande, após você pagar pelo

aluguel do mesmo.

Page 20: Boas práticas de desenvolvimento em IoT - Victor Lima

Como você garante as boas práticas de desenvolvimento?

Page 21: Boas práticas de desenvolvimento em IoT - Victor Lima
Page 22: Boas práticas de desenvolvimento em IoT - Victor Lima
Page 23: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

Controle deVersão

Separação de ambientes

Gestão de pacotes

Build automatizado

Testes automatizados

Testes Integrados

Integração Continua

DeployContínuo Instrumentação

Page 24: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

Controle deVersão

• A coisa tem software rodando nela, ele está no controle de versão?

• E os esquemas sobre como montar a coisa?

• Como você versiona, publica e comunica ele para o time e stakeholders?

Page 25: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

Separação de Ambientes

• Como você configura e separa as configurações especificas de cada ambiente em que a coisa vai rodar?

• Em Prod ela usa um certificado, em QA ele é self-signed?

• Para qual API ela aponta?

Page 26: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

Gestão de Pacotes

• Como você atualiza pacotes/libs que você usa em uma coisa?

• Como você gerencia e atualiza firmware de componentes que a sua coisa usa?

• Como você gerencia e atualiza componentes que a sua coisa usa?

Page 27: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

Build Automatizado

• Como você constrói partes ou integralmente a sua coisa?

• Jenkins for the win?

Page 28: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

Testes Automatizados

• Como você testa a sua coisa?

• Como você mocka coisas?

• Como você emula uma coisa?

• E se você depender de uma condição externa, do tipo: a coisa reage a algo quando alguma coisa pega fogo

Page 29: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

Testes Integrados

• Como você testa a sua coisa, de ponta a ponta?

Page 30: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

Integração Contínua

• Como você integra continuamente todo o incremento de produto?

• E as dependências?

• E hardware de grande porte?

Page 31: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

DeployContínuo

• Como você atualiza o software na sua coisa?

• E se a coisa estiver sem conexão com a internet?

Page 32: Boas práticas de desenvolvimento em IoT - Victor Lima

IAlgumas boas práticas

Instrumentação• Como você coleta dados da

sua coisa?

• Como você sabe como os seus usuários estão interagindo com a coisa?

Page 33: Boas práticas de desenvolvimento em IoT - Victor Lima

IOutras questões

Segurança

Recall

Compatibilidade

Privacidade

Mão de obra

Acesso a internet

Acessibilidade

Page 34: Boas práticas de desenvolvimento em IoT - Victor Lima

Obrigado!!!

Page 35: Boas práticas de desenvolvimento em IoT - Victor Lima

Desenvolvemos produtos digitais