O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Il computer dice no!

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Próximos SlideShares
TDD patterns and TDD strategies
TDD patterns and TDD strategies
Carregando em…3
×

Confira estes a seguir

1 de 27 Anúncio

Mais Conteúdo rRelacionado

Semelhante a Il computer dice no! (20)

Mais de Matteo Emili (20)

Anúncio

Mais recentes (20)

Il computer dice no!

  1. 1. #DOH19
  2. 2. 2 Il computer dice no! Qualitá in un processo di Continuous Delivery Matteo Emili Microsoft MVP – Azure DevOps matteo.emili@live.com https://mattvsts.github.io || http://twitter.com/MattVSTS
  3. 3. #DOH19 3 Organizer & sponsors GetLatestVersion.it
  4. 4. 4 “Il mio codice é perfetto va benissimo!” Non saprei…
  5. 5. 5 “Ma funziona!” Sicuramente, ma come?
  6. 6. 6 DevOps é basato sul concetto di qualitá Anche il migliore artigiano ha bisogno di un aiuto.
  7. 7. 7 L’automazione é essenziale Serve automazione per ottenere il massimo valore possible
  8. 8. 8 La qualitá deve essere ovunque Ogni passo ha margine di miglioramento
  9. 9. 9 ‘Qualitá’ o ‘Qualitá del codice’? Sono due cose differenti…
  10. 10. #DOH19 Definiamo qualitá del codice Standard industriali Misure della complessitá di Halstead Complessitá ciclomatica Indice di manutenibilitá CERT Secure Coding Standards Lista di CWE … Scelte specifiche Standard di documentazione Regole di stile Ri-uso di pattern Copertura del codice Percentuale massima di variabilitá …
  11. 11. 11 Gli standard industriali… …sono standard. Sono in giro da tanto tempo.
  12. 12. #DOH19 Alcuni da prima che nascessi! Matteo Emili Nato nel 1990 Standard industriali Complessitá ciclomatica (1976) Misure della complessitá di Halstead (1977) Metriche di struttra del software (1981) ISO/IEC 9126 Product Quality (1991) …
  13. 13. 13 Le scelte di un team sono variegate Diversi fattori non-tecnici da considerare
  14. 14. 14 E la qualitá? La Qualitá sta nell’applicare pratiche e processi per garantire che il risultato finale corrisponda alle aspettative
  15. 15. 15 Strumenti ed automazione Ridurre le interazioni manuali al minimo possibile
  16. 16. #DOH19 Qual é il nostro standard qualitativo? Strumenti Un controllo di codice sorgente moderno Continuous Integration Script ed estensioni per il server di CI Scanner della qualitá del codice Strumenti di analisi delle vulnerabilitá … Pratiche Review del codice Iterazioni dedicate ad un fine TDD Ancora piú test! Secure Development Lifecycle …
  17. 17. 17 C’é solo un pre-requisito É l’unica regola della moderna ingegneria del software
  18. 18. 18 Gli strumenti devono essere integrati nella piattaforma CI/CD scelta Fare altrimenti causa frizioni non necessarie, riducendo l’adozione
  19. 19. 19 Ora, strumenti… Di cosa c’é realmente bisogno per aumentare la qualitá del codice?
  20. 20. 20 Misurare (con contesto) Con cosa abbiamo a che fare?
  21. 21. #DOH19 Come e cosa misurare? Metrica o disciplina Analisi qualitativa del codice Rischio di sicurezza diretto Rischio indotto dale dipendenze (indiretto) Analisi infrastrutturale preventiva Strumenti raccomandati SonarQube, Kiuwan, … Checkmarx, BinSkim, Fortify, … WhiteSource AzSK, Azure Scanner, …
  22. 22. 22 DEMO La cavia: PartsUnlimited https://github.com/microsoft/PartsUnlimited
  23. 23. 23 Ogni strumento va applicato ad uno stadio differente Una build da 30 secondi non puó durare un’ora…
  24. 24. #DOH19 Esempi di quando fare cosa? Cosa? Analisi qualitativa del codice Rischio di sicurezza diretto Rischio indotto dale dipendenze (indiretto) Analisi infrastrutturale preventiva Quando? Build di CI (branch principali e PR) Ad-hoc per branch master, develop Tutte le build senza eccezioni Dopo il deployment in sviluppo, prima di UAT
  25. 25. 25 É DevSecOps? Potrebbe (ci sono diverse definizioni), ma secondo me é solo buon senso...
  26. 26. #DOH19 Grazie! https://mattvsts.github.io/slideshare
  27. 27. 27 Qualcosa di piú? GetLatestVersion On-Air ogni secondo martedí!

×