55
#DOH19

Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Page 2: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

How to make your managers happy using Azure DevOps(or at least how I made mine)

Matteo TumiatiSenior Consultant @iCubedsrl, Microsoft [email protected] | @xtumiox

Page 3: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Organizer & sponsors

GetLatestVersion.it

Page 4: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Agenda

• Come semplificarci la vita

• Come rendere felici i manager

• Come (non) spiegare ai manager perché PROD va

https://twitter.com/mike_kaufmann/status/11443373

07304169472

Page 5: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19 5

Chi sono i manager?

manager ‹mä′niǧë›Colui che amministra (governa) e detiene la responsabilità con poteri decisionali

Scrum masterResponsabili del backlog

Developer TeamResponsabile dello sviluppo

PM & DirigentiResponsabili della delivery

Page 6: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Una storia triste…

No DevOps• 5 persone sul progetto

=> non ne sentivano la necessità

• Build & release da Visual Studio

• No test

• It works on my machine!

• Primo customer in produzione e…

Page 7: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Il debugging

Tentativo 1: fail• Accesso via FTP abilitato (no-lock)

• Applicazione compilata in DEBUG

Tentativo 2: fail• Download delle DLL

• Recupero del numero di versione

• Risalire al branch / git commit

Tentativo 3: success?• ILSpy per disassemblare le DLL di PROD…

• Ricerca manuale in ~100 commit della versione rilasciata

• 7 business days dopo, nuova release in PROD

Page 8: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Che cos’è DevOps?

DevOps is the union of people, process, and products to enable continuous delivery of value to your end users.

Page 9: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

DevOpsFaster

Time to Market

Increased

Revenue

2,604x Faster Mean

Time to Recover

2,555x Faster Lead

Time For Changes

7x Lower Change

Failure Rate

46x Deployment

Frequency

$

Source: 2018 Accelerate: State of DevOps: Strategies for a New Economy." N. Forsgren, J. Humble, G. Kim. DevOps Research and Assessment (DORA)

High performance DevOps companies…

Page 10: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Pratiche comuni a DevOps

Infrastructure as Code (IaC)

Continuous Integration

Automated Testing

Continuous Deployment

Release Management

App Performance Monitoring

Load Testing & Auto-Scale

Availability Monitoring

Capacity Management

Change/Configuration Management

Feature Flags

Automated Environment De-Provisioning

Self Service Environments

Automated Recovery (Rollback & Roll-Forward)

Hypothesis Driven Development

Testing in Production

Fault Injection

Usage Monitoring / User Telemetry

Page 11: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Principi di deployment

Zero downtime

Completamente automatizzato

Responsabilità condivisa tra Developers e Operations

Servizi decoupled con clear contracts

Feature flags

Page 12: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Un po’ di numeri…

~70 persone sul progetto• Include il management

• 30% è il team di sviluppo

3 location differenti

2 timezone

4 aree di lavoro “ufficiali”• Mobile, frontend, backend, D&A

• 2 team backlog (FE & BE)

• Un’area di lavoro virtuale (Rollout team)

60Deployments per day

128Pull requests per

month

40kTest executions per day

900/660Work items created over running in PROD

1,2kGit commits per month

Page 13: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Un po’ di contesto…

Le persone• Sono la parte più complessa

• Mindset

I processi• Riguardano le persone

• Coinvolgono il management

I tool• Sono la parte più semplice

• Vanno e vengono

• Semplificano il lavoro

Page 14: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Azure DevOps

Deliver value to your users faster

using proven agile tools to plan,

track, and discuss work across

your teams.

Build, test, and deploy with CI/CD that

works with any language, platform,

and cloud. Connect to GitHub or any

other Git provider and deploy

continuously.

Get unlimited, cloud-hosted

private Git repos and collaborate

to build better code with pull

requests and advanced file

management.

Test and ship with confidence

using manual and exploratory

testing tools.

Create, host, and share packages with

your team, and add artifacts to your

CI/CD pipelines with a single click.

Azure Boards Azure ReposAzure Pipelines

Azure Test Plans Azure Artifacts

https://azure.com/devops

Page 15: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Pianificazione

Manage work

Develop + Test 1

Project starts

PlanTrack progress

Page 16: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Backlog: regole di validazione

I PBI creati spesso contengono solo il titolo:

• Dovuto alla mancanza di refinement

• La descrizione se esiste non è accurata e non rispecchia uno standard

• Per i bug non esistono repro steps, numero di build in cui sono stati identificati

SoluzioneCustom fields (se necessari) e regole di validazione

Page 17: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Backlog: regole di stile

E’ difficile identificare i bug oppure i task da eseguire in base alla priorità all’interno del backlog

SoluzioneApplicare regole sugli stili

Page 18: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Backlog: stato dei work item

Nessun team member aggiorna mai lo stato dei backlog item:

• Scrum master «nervosi»

• Impossibilità di previsione dell’andamento

Problema dovuto principalmente alla mancanza di stati sufficienti…

Page 19: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Backlog: stato dei work item

…e degli sviluppatori pigri ☺

Soluzione• PoSh script in Azure Pipeline

• REST API

• Custom condition

• Processo ☺

Page 20: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

20

DEMOAzure DevOps REST API

Page 21: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Query

Difficile capire cosa viene rilasciato tra una release e la successiva:

• Intercorre troppo tempo e la memoria è breve

• Tipologie di work item differenti da raggruppare

• Difficile capire se un’attività è relativa ad un customer specifico oppure al prodotto

SoluzioneWork item custom e query

Page 22: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Sviluppo

Write Code

Unit

Testing

2

Build

Version Control

Build Verification

Release

Page 23: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Branch policies

Vengono utilizzate per proteggere dei branch da commit

• Commit «pericolosi» nel mezzo di un rilascio

Forzano l’uso delle PR • Se non bypassate

• Aiutano ad avere un controllo qualità e mantenere gli standard di sviluppo

Aumentano la tracciabilità

Possono essere applicate a branche topic branch

Page 24: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Branch policies: bypass

Non tutte le policy sono required by default• E’ anche possibile impostare policy opzionali

• In caso di failure non bloccano l’approval

Si possono bypassare impostando i permessi a livello di security

Oppure anche dalla CLI

Page 25: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

La Azure DevOps CLI

Basata sulla CLI di Azure• Stessa modalità di autenticazione, interactive,

via username/password, identity o via Service Principal

Permette di automatizzare Azure Artifacts,Boards, Pipeline e Repo

L’automazione delle estensioni, permessi, team, wiki è nell’area admin az devops

Si possono anche invocare comandi diretti sulle API REST

az login -u [email protected] -p VerySecret

az repos pr update --id[--auto-complete {false, true}][--bypass-policy {false, true}][--bypass-policy-reason][--delete-source-branch {false, true}][--description] [--draft {false, true}][--merge-commit-message][--squash {false, true}][--status {abandoned, active, completed}][--title]

az logout

az rest --method {delete, get, head, options, patch, post, put} --uri[--body][--headers][--subscription][--uri-parameters]

Page 26: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Estensibilità e customizzazioni

Si possono creare policy personalizzate

• Mantengono lo stesso funzionamento di quelle di default

• Richiedono uno status server (e le status server REST API)

Supportano Node.js ed Azure Functions

• Si possono combinare con la CLI sfruttando la preview!

Sono registrate come WebHook in Azure DevOps

# Input bindings are passed in via param block.

param($req, $TriggerMetadata)

Write-Verbose "PowerShell HTTP trigger function processed a request." -Verbose

# You can interact with query parameters, the body of the request, etc.

$prId = $req.Body.Resource.PullRequestId

$status = 200

$body = “PR " + $prId + " processed successfully“

# Call az CLI from here…

# You associate values to output bindings by calling 'Push-OutputBinding'.

Push-OutputBinding -Name res -Value ([HttpResponseContext]@{

StatusCode = $status

Body = $body

})

Page 27: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

27

DEMOCustom Branch policies

Page 28: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Versioning

Il versioning è complicato…• Versione di business/prodotto

• Versione delle API

• Versione delle DLL

Altri problemi…• I pacchetti di NuGet?

• AssemblyVersion non supporta SemVer

• Cosa/come considero una breaking change?

• Devo cambiare modalità di lavoro per adattarmi al versioning?

• Posso farlo da Visual Studio?

Il naming è complicato…• Qualcuno si ricorda i Service Pack

oppure Exchange Server 2010 Update Rollup 27 per Service Pack 3? ☺

Soluzione?• Non c’è una soluzione perfetta ma…

• SemVer ci aiuta

• No Visual Studio

• Stesse linee guida di Microsoft

https://docs.microsoft.com/en-us/dotnet/standard/library-guidance/versioning

Page 29: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

GitFlow e GitVersion

Non è l’unica branching strategy• GitHubFlow o altre potrebbero fare al caso

vostro, ma dipende dal contesto

Il versioning è gratis con GitVersion• Se si rispetta la convenzione

• Il numero di «build» è identificato dal branch, dai tag, dai commit etc.

Non è in grado di capire le breaking changeper aumentare il major number

• “+semver: breaking” o “+semver: major”

Page 30: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Come modifico la build?

Nella pipeline è un task ☺

Meglio usare dei numeri di default in caso in cui ci siano errori

• Potrebbe andare in timeout se ci sono troppi long-living branch

Un altro task per impostare il numero di versione

• GitVersion.FullSemVer per AssemblyInformationalVersion e versionname (su Android)

• GitVersion.AssemblySemVer o GitVersion.MajorMinorPatch per AssemblyFileVersion

- task: GitVersion@5displayName: Detect versioninputs:

runtime: 'core’continueOnError: truetimeoutInMinutes: 2

- task: Assembly-Info-NetCore@2displayName: Set assembly infoinputs:

FileNames: '${{ parameters.assemblyPath }}’VersionNumber: '$(GitVersion.AssemblySemVer)’FileVersionNumber: '$(GitVersion.AssemblySemVer)’InformationalVersion: '$(GitVersion.FullSemVer)'

Page 31: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Security scanning

Supporta oltre 200 linguaggi

Nella versione free consente fino a 5 scan (per day) sia su repo privati che su repo pubblici

Mantiene aggiornata una lista di vulnerability su OSS

E’ un buon punto di partenza…

Page 32: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Security scanning

Export in PDF per i manager…

Nel report generato a fine build si possono vedere le vulnerabilityelencate per livello di criticità

Per ogni CVE *dovrebbe* esserci anche una suggested fix:

• Può essere fatta manualmente

• Può essere fatta in automatico ☺

Page 33: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Security scanning

Consente di trovare vulnerability nelle dipendenze tra container

Compliance per PCI, HIPAA, GDPR

Scanning completo per registry, file, sensitive data, malware etc.

Piano free, Pay-per-Scan, CSP

RUN apk add --no-cache ca-certificates && update-ca-certificates && \

wget -O /microscanner https://get.aquasec.com/microscanner && \

chmod +x /microscanner && \

/microscanner <token> --html && \

rm -rf /microscanner

Page 34: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Release

Cloud

Load Testing

Integration

testing

environment

Automated functional

testing environment

3

Pre-production

environment

Staging

environmen

t

Monitor + Learn

Page 35: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Il collo di bottiglia (parte 1): SQL

SQL Database e il suo schema: cosa succede in caso di breaking change?

Step 1

Creo l’applicazione

compatibile con più

schema (il vecchio ed

il nuovo)

Step 2

Update del database

per supportare il

nuovo schema

Step 3

Migrazione dei dati al

nuovo schema:

• No lock su tabelle

• Always append

• Campi nullabili

prima

Step 4

L’applicazione può

usare solo il nuovo

schema

Step 5

Rimozione dello

schema vecchio

Page 36: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Il collo di bottiglia (parte 1): SQL

SQL Database e il suo schema: cosa succede in caso di breaking change?

Step 1a

Creo una replica del

SQL Database

Step 2a

Update dello schema

sulla replica

Step 2b

Se lo schema non è

aggiornabile per «breaking

changes», allora

l’intervento è manuale

Step 5a

Swap dei SQL DB e

rimozione di quello

inutilizzato

Page 37: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Monitoring

4

Monitor

Feedback

Plan the next iteration

Page 38: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Tipologie di monitoring

Page 39: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Testing in production

Non è quello che intendete voi ☺

Richiede che i deployment non coincidano con le feature da rilasciare:• Spesso le feature in PROD non sono completate

• «Minor» breaking changes ☺

• Feature branch servono per isolare, ma non se si rilascia continuamente: abbiamo ancora bisogno di GitFlow?

Feature attivate on-demand

A/B testing, dark launch, canary release

Page 40: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Il collo di bottiglia (parte 2): approval

Funzionano bene se abbiamo bisogno di approvazioni da parte del business, ma:

• Non lavorano bene con feature flags

• Non ci consentono di avere rilasci veloci e controllati

• Non aumentano la qualità e la sicurezza del prodotto rilasciato

Page 41: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Release gate

Applicano un controllo qualitativo alla release

Il deployment può partire:• Quando nel backlog non ci sono più bug aperti

• Su Azure Function o servizi REST per richiedere approval esterni ad Azure DevOps

• Infrastructure health: quando applicationinsights non rileva anomalie

• Change management: integrazione con ServiceNow

• NPI e KPI di UX

Può lavorare in combinazione con gli approval (se necessario)

Page 42: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Release gate

Il sampling è temporale

Dopo N failure, la release è marcata come failed e non proseguirà

Page 43: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Partial rollout

Non è detto che dopo i controlli tutto continui a funzionare

• Dobbiamo ancora testare le feature!

Si può procedere con un rolloutprogressivo tramite gli slot di App Service

In caso di errore, i release gate fermeranno il deployment prima di raggiungere il 100% (a.k.a. PROD)

Page 44: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Cosa serve ai manager?

Risorse (a.k.a. persone) ☺• Se non c’è una capacity adeguata, il

lavoro non verrà mai completato

• Come sta progredendo lo sprint?

Tempo e budget ☺

Identificare velocemente se ci sono problematiche

Dashboard!

Page 45: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Analytics dashboard

Ricordate le query? ☺

Page 46: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Build analytics

Un po’ meno da manager…

Aiuta ad identificare i colli di bottiglia nelle pipeline

Attualmente in preview

Page 47: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Test analytics

Non sempre vengono eseguiti tutti i test

• Se aumentano, la pipeline durerà di più => maggiori costi

E’ sufficiente eseguire quelli impattati dalle modifiche

• Serve capire l’andamento nel tempo (e branch)

Flaky test

Page 48: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Dashboard personalizzate

Azure DevOps fornisce gli strumenti, ma non conosce il vostro prodotto per creare soluzioni ad-hoc

Si possono creare dashboard personalizzate grazie alle REST API

Page 49: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Documentazione tecnica

Dipende dai progetti e da «quanto tecnica»

Se possibile, viene generata e convertita in markdown• Così è pubblicabile e accessibile da tutto il team all’interno della WiKi

La documentazione funzionale è soggetta a review da parte del team• Vengono sfruttate le PR

Page 50: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Documentazione non-tecnica

Può riguardare lo stato dello sprint:• Quanti PBI sono stati elaborati nel corso dello sprint corrente?

• Quali sono ancora i bug aperti?

• Quali bug sono invece stati risolti?

I report sono generati in automatico grazie alle query…

Esportati in PDF in automatico al termine dello sprint via

email ☺

Page 51: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Power BI

Page 52: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Principi di deployment

✅ Zero downtime

✅ Completamente automatizzato

✅ Feature flags

🤷 Responsabilità condivisa tra Developers e Operations

🤔 Servizi decoupled con clear contracts

Page 53: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Summary

DO FAIL(and then automate all the things)

P.S. don’t forget to add unicorns and colors in reports to your managers

Page 54: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

Se volete fallire con me… I’m hiring!

2 “DevOps engineer”

CV @ [email protected]

Page 55: Presentazione standard di PowerPoint · Backlog: regole di validazione I PBI creati spesso contengono solo il titolo: •Dovuto alla mancanza di refinement •La descrizione se esiste

#DOH19

THANK YOU!