
se puoi migliorare il tuo
produttività da due a tre X lo farebbe
importa se si potesse capire come
inizia a dire si a tutti gli affari
Le richieste che si sta dicendo di no a
farebbe la differenza e se tu
ha deciso che tutta questa roba era troppo difficile o
non aveva senso per la tua compagnia quando
sei tornato indietro ma i tuoi concorrenti
ha deciso di andare all-in e davvero iniziare
trasformando il modo in cui hanno fatto il software
sviluppo puoi vedere come questo faccia a
differenza per la tua azienda al tuo
collaboratori e a te stesso nel tempo dovuto
a 3x sembra un po ‘ridicolo
dichiarazione in termini di essere in grado di ottenere
più produttivo ma in grande
organizzazioni penso che sia reale
Penso che sia realistico per HP in 19 o in
2008 2007 ho avuto l’opportunità di prendere
sul firmware incorporato LaserJet
organizzazione che era di circa 800 persone
in tutto il mondo si parlava di tutto il mondo
cento milioni di dollari all’anno e per
due decenni da quando ero stato nel
affari era stato il collo di bottiglia per
l’intero business della stampante LaserJet noi
non è possibile aggiungere un nuovo prodotto ai nostri piani
non siamo riusciti a creare il marketing
capacità così abbiamo voluto perché noi
dovevo sempre verificare con il firmware e
troppo spesso la risposta era no e nel 2008
tutti ricordano che il 2008 è stato grande
la spesa è aumentata di anno in anno non è stato così
molto abbiamo avuto un nuovo vizio esecutivo
il presidente entra nel senior VP e nel
i costi erano sotto costrizione, dovevamo
capire come ridurre i costi
drammaticamente in tutto il business aveva 30
giorni per venire con un piano per ridurre il mio
costo di sviluppo da cento milioni
dollari un anno a cinquanta a sessanta al
Allo stesso tempo stiamo facendo un completo
reaaahhr tech chure del sistema e
buttando via il vecchio codebase e
cercando di capire come tirarlo su
Ho visto questo business dal
fuori per un paio di decenni e
capito che era un vincolo per il
affari che non potremmo andare avanti , possiamo
muovendoci più velocemente dovevamo fare qualcosa
fondamentalmente diverso fino a questo
tempo che HP aveva cercato di trascorrere
uscita dal problema senza successo
avevamo bisogno di progettare una soluzione noi
necessario per fare un completamente diverso
approccio e abbiamo iniziato ad applicare quello che io
chiamerei principi agili e DevOps
su scala non abbiamo necessariamente speso a
molto tempo su questo
livello di squadra ma abbiamo ottenuto il mio personale di oltre 800
le persone pensano attraverso come noi
capire costantemente come migliorare
perché c’era un miliardo di dollari
affari in piedi dietro di me
avevamo buttato fuori la vecchia architettura noi
necessario per ottenere la nuova architettura
e stavo cercando qualsiasi cosa potessi
forse per migliorare l’efficacia
e produttività dell’organizzazione e
siamo andati in un viaggio di continuo
cercando di migliorare questo e dopo circa
tre anni guardiamo indietro e noi
fondamentalmente cambiato l’intero
produttività dell’organizzazione
ridurremmo il costo da cento
milioni di dollari all’anno a cinquantacinque
milioni di dollari all’anno il firmware era no
Più lungo è il collo di bottiglia quando volevamo
aggiungi un nuovo prodotto ai nostri piani e a
le nostre future tabelle di marcia
è stato facile per noi guardarlo e dire
non ci vuole un sacco di risorse così
possiamo aggiungere noi li stavamo cominciando a
liberare il cento quaranta percento
più prodotti di quelli di prima
sostenendo a circa la metà del costo e
il numero di loro la capacità che noi
avuto per nuove funzionalità e nuovi
le capacità erano passate da circa il 5% di
tutto ciò che stiamo facendo a circa il 40% di
tutto ciò che stavamo facendo così abbiamo iniziato
dire sì al business in un sacco di
modi fondamentali e come ho controllato
il mio coautore un paio di mesi fa quando
Ero di nuovo lì a parlare di come
le cose stavano andando
in effetti avrebbero drenato la palude a
richiesta di marketing e in realtà sono
lavorare con gli ingegneri per pensare
nuove idee che potrebbero aggiungere mentre loro
continuare a ridurre i costi nel tempo
miglioramenti piuttosto drammatici nel
produttività di tutto ciò che stiamo facendo
ora la cosa interessante è che guardiamo
tornando a questo abbiamo avuto un sacco di squadre
stavano implementando principi agili a
il livello di squadra che stavano bruciando
giù i grafici stanno facendo stand-up così
facendo la mischia stavano facendo tutti quelli
cose che abbiamo avuto alcune altre squadre
davvero non stavano implementando o
praticando quei rituali di squadra ovale e
quello che abbiamo capito è che non c’era un
drammatico cambiamento di produttività tra
le squadre che stavano facendo tutto agile
cose e le squadre che non stavano facendo
tutte le cose agili ma da 2 a 3 volte
miglioramento della produttività nel complesso
organizzazione che ha portato alla nostra conclusione
che in una grande impresa come le squadre
venire insieme
fornire valore è l’ effetto del primo ordine
come lavorano i singoli team
stessi come un effetto di secondo ordine ora
questo è un caso quando ne hai di più
architettura strettamente accoppiata che
richiede grandi parti dell’organizzazione
sviluppare qualificare e rilasciare il codice come a
unità
non succede necessariamente quando tu
avere organizzazioni che hanno
architetture di micro-servizi che tu
può avere piccoli team indipendenti sviluppare
qualificare e rilasciare il codice in modo indipendente
quindi se stai pensando ad un grande
un’organizzazione che ti ha accoppiato
bisogno di pensare a applicarli
principi se sei più in una situazione
dove hai un molto pulito
l’architettura con quella è molto vagamente
accoppiato puoi pensare di più a come
potenzia la squadra e ottieni persone
supportato e rendere questo tipo di cose
andando così quando parlo dell’agile
principi penso che sia carina
semplice e Dave può prendermi se
Ottengo questo torto perché era lì
fin dall’inizio tutti
capisce la cascata base
metodologia e realtà di
cascata che quando si tenta di bloccare
tutti e tre questi triangoli e c’è
incertezza e scoperta nel processo
o lavori le squadre a morte o
si scivola l’orario o alcuni
combinazione di entrambi e di base
il principio dell’agile è rompere questo
in piccole iterazioni dove sei
rilasciando su un più frequente in corso
base bene se hai un grande strettamente
sistema accoppiato che include centinaia a
migliaia di ingegneri la piccola agile
le squadre non necessariamente penseranno
su come si coordinano e si integrano
e rilasciare il loro codice su un continuo
base se ti allontani da qualsiasi cosa
con questa cima in alto con questo
quello in una grande organizzazione complessa
mischia non è agile e se lo sei
non molto attento a come lo fai
si sta andando a finire con un classico
errore che è stato fatto nella maggior parte delle aziende
di creare un processo di caduta di scrum d’acqua
in questo processo hai il team stand
facendo molto bene l’iterazione ma
si stanno ancora impegnando a farlo
sono 12 14 18 mesi nel futuro e
stanno ancora attraversando un periodo difficile
integrazione e rilascio del codice su
una base più frequente e diversa
approccio e l’approccio che sono
presentando nel mio secondo libro quello è
uscendo che porta la trasformazione è
non dovresti davvero farlo
non dovresti fare devops che non dovresti fare
magro non dovresti fare nessuno di quelli
cose che stiamo gestendo siamo un’azienda
parte di un business che dovresti capire
cosa stai cercando di ottenere per il tuo
affari e se non si può pensare
perché i tuoi attuali processi di sviluppo
non soddisfano le esigenze del business
e identificare chiaramente che non si dovrebbe
andare in viaggio solo per adottare il
ultime idee o approcci che dovresti
davvero iniziare con il motivo per cui il tuo filo è tuo
gli attuali processi di sviluppo non riescono a
supportare le esigenze di business che hai
e ottenerlo molto chiaro perché a
trasformazione come questa sta per
prenditi un po ‘ e hai sempre bisogno di guardare
a che cosa è la visione a lungo termine?
la direzione a lungo termine quali sono i
cose che nel modo di ottenere questo
fatto e cosa stiamo cercando di raggiungere
e poi una volta che hai il business
obiettivi che puoi iniziare a guardare
lì c’è la tua cassetta degli attrezzi e la tua cassetta degli attrezzi
combina idee idee magre ne ho due
idee DevOps idee e dovresti prendere
lo strumento altro toolbox che sta per risolvere
il problema è la tua più grande barriera
per migliorare la tua attività il prossimo
cosa che direi è che hai bisogno di un
miglioramento continuo a livello di impresa
processo non è abbastanza per ciascuno di voi
i singoli team stanno facendo retro
spectryx e facendo recensioni e cercando di
migliorare perché se hai intenzione di fare
questi cambiamenti in una grande organizzazione
deve funzionare in tutta l’organizzazione
e hai bisogno che i tuoi dirigenti siano coinvolti
parte del processo di impostazione del
obiettivi e lavorare con l’organizzazione
per capire cosa si sta intromettendo
di fare le cose e cosa no
e poi se hai un buon processo per
cambiando il tuo processo di pianificazione verso dove
è reattivo e reattivo a ciò che è
andare su un arretrato prioritario e poi
hai un buon processo per il rilascio
codice su base continuativa nel
impresa non ha bisogno di essere nessuno
più complesso o difficile di quello ma
hai bisogno di imparare e adattarti continuamente
è necessario iniziare a dove si sta andando a
avere il maggiore impatto sul business e tu
iniziare a lavorare sulla tua pianificazione
processo e il processo di consegna così
nel complesso in tutta l’organizzazione presso HP
molto chiaramente iniziato con la nostra attività
obiettivi e i nostri obiettivi di business
non volevamo che il firmware fosse il
collo di bottiglia per l’azienda più e
volevamo liberare la capacità per
innovazione
quindi quando guardavamo quelle cose noi
iniziato a guardare la nostra proposta di valore
e abbiamo iniziato a guardare qualsiasi cosa
era un pilota a tempo di ciclo o un guidatore di costi
quella non era la chiave per il valore che noi
stavano cercando di fornire l’azienda e
tutto ciò che non è stato automatizzato
eliminato o lo abbiamo progettato da
il sistema è cambiato radicalmente
tutto ciò che stiamo cercando di fare il prossimo
cosa è che hai bisogno di un dirigente
processo di miglioramento continuo e questo
è più di un semplice insieme di cosa
le squadre stanno facendo perché se tu hai
ho un migliaio di persone e tu hai te
conosci un centinaio di squadre diverse la tua
la strategia non può essere un aggregato di tutti
quelle squadre diverse se hai intenzione di
cercare di coordinare il lavoro e il coordinamento
la prova attraverso l’organizzazione
quel pezzo in più, quindi è necessario iniziare
con gli obiettivi di impostazione che conosco di più
squadre agili lavoreranno per due settimane o a
mese o una settimana e una sorta di
itera e rispondi ma se sei in a
grandi organizzazioni ho trovato su a
il mese funziona bene e ti dà tempo
fissare questi obiettivi e dà anche
tempo per ottenere l’allineamento attraverso il
organizzazione che quelle cose sono
importante e realizzabile e possibile
fai una volta che hai fissato quegli obiettivi tu
non cambiare loro durante l’iterazione
ti concentri su di loro e poi su
dirigenti quello che passeremmo il nostro tempo
fare sta cercando di capire cosa fosse
entrare nel modo in cui le organizzazioni di
Ottenere queste cose fatte in modo da iniziare
il mese con la sua organizzazione delle vene
comprati che erano importanti
erano una priorità e pensavano
erano fatti per finire e se
non sono stati fatti durante il mese
come dirigente avevo le metriche che potevo
rivedere ogni mattina e vorrei spendere tutto
i miei giorni fuori un’organizzazione come un
giornalista investigativo che cerca di capire
fuori quello che stava entrando nel
modo dell’organizzazione e non stava andando
per andare a dire Dave perché non l’hai preso
questo fatto è stato Dave bene quello che è successo
cosa c’e ‘di mezzo perche’ non e ‘successo?
fatto e non era perché non l’ha avuto Dave
era quello che ostacolava Dave
essere in grado di realizzare questo e fare
questo e attraverso questo processo tu prendi
quegli insegnamenti li fanno passare al prossimo
iterazioni e iniziare a prendere piani e
rimuovere le barriere che stavano entrando
il modo in cui l’organizzazione di essere
efficace e produttivo ed è stato un
interessante cambiamento culturale come leader
oltre un 800
organizzazione della persona quando ho iniziato
presentarsi al desktop di un ingegnere
quello stava lottando era un po ‘
intimidatorio all’inizio ma quando sono arrivati
Mi era solito venire in giro a chiedere il
domande e cercando di capire come
per aiutare e hanno capito che ero davvero
lì per aiutare ha iniziato a creare
trasparenza con vincoli di fiducia
i genitori anche con la trasparenza arriva il
capacità di sistemare le cose ed è una cultura
quello si costruisce su se stesso nel tempo il prossimo
cosa nel processo di pianificazione è
interessante e questo sta per essere il
più difficile in qualsiasi organizzazione per ottenere il
affari da capire perché loro
gestire tutto il resto nella loro attività
con cascata
Faccio impegni che fanno piani e
la maggior parte delle persone nell’organizzazione
non capisco il software è diverso
deve essere gestito in modo diverso probabilmente
la più grande sfida con il software è
siamo così poveri nel predire cosa
le funzionalità software aggiungeranno qualsiasi valore
che letteralmente il 50% di tutto ciò che facciamo
è nel settore è mai né l’ uno né l’altro
mai usato o non ha battuto la sua attività
intento puoi pensare a qualsiasi altra cosa
la tua attività che ha un tasso di successo del 50% in
termini di ciò che sta per essere utile in
lì i dirigenti devono capire che
hanno anche bisogno di capirlo
il software è molto diverso da
tutto il resto che fai se lo sei
andando a costruire un nuovo stabilimento di produzione
potrebbe essere di dimensioni leggermente diverse
essere in una forma leggermente diversa da
tutto ciò che hai fatto prima ma
verrà sfruttato al meglio dalla maggior parte
cose che hai fatto per anni
e anni in tempi diversi e
ci sarà qualche scoperta nel
processo quando si va a scrivere nuovi
software lo stai facendo per il molto
prima volta la primissima volta e
è davvero difficile pensare a tutti
le cose e puoi sederti intorno e
pianificare e pianificare e pianificare e fondamentalmente
sali su questa diapositiva dove sei finito
il tempo si può investire sempre di più in
pianificando ma si incontra diminuendo
ritorna dopo un po ‘il modo migliore per
saperne di più su ciò che il vostro programma è
sta per essere inizia a scrivere il codice e
inizia a convalidare alcuni dei tuoi
ipotesi e capirlo di più
i dirigenti non lo capiscono così, spero
il capitolo 5 del mio nuovo libro è qualcosa
quella
puoi condividerlo e metterti a morte
lavorarci sopra e aiutarli
capire che se lo saranno
efficace nella gestione del software di cui hanno bisogno
a pensare a come gestirla
diversamente in modo 50% non viene mai usato è
è difficile renderlo preciso ma il
il vantaggio del software è se sviluppi
è giusto che possa essere cambiato fino al
ultimo minuto
qualsiasi altra cosa un dirigente stia facendo
i loro affari se sbagliano e
hanno pianificato che è sbagliato è molto
costoso da cambiare se hai versato tutto
il cemento e la fabbrica ma tu avevi
ha sbagliato che sarà molto
costoso cambiare non è il caso
con il software quindi se si guarda all’applicazione
principi di cascata per il software tuo
rischio di commettere il classico errore di
prendendo la tua svolta più flessibile
in un bene fisso da consegnare
caratteristiche che non saranno mai usate o meno
fornire valore di business è necessario
ottenere dirigenti per capirlo e
capire il software di gestione
diversamente altrimenti ne sprecheranno uno
sacco di risorse che lavorano tutta la via d’uscita
a questa estremità della curva perché loro
pensa se passano più tempo
software di pianificazione andrà meglio
nel tempo probabilmente un sacco di gente Moore
è venuto ad ascoltare il lato DevOps di
questo ho passato un sacco di tempo
implementare una scala molto grande
integrazione continua cosa in HP e
poi da Macy’s avrei lasciato il nostro passaggio
consegna continua per il sito web
attraverso l’organizzazione molto di questo
le entrate saranno condivise sulla base di
che la prima cosa che devi iniziare
con o quali sono gli obiettivi
stai cercando di fare se hai intenzione di farlo
prova ad applicare i principi DevOps, se lo sei
andando a provare a rilasciare su un altro
base frequente una delle mie esperienze noi
siamo entrati abbiamo detto bene che faremo
consegna continua e pensiamo che lo sia
importante fare la consegna continua e
Sono entrato in azienda perché avevano un
sforzo per fare la consegna continua e lo farei
leggere il libro della giustizia mi è piaciuto che volevo
saperne di più su come farlo accadere
e avevamo preso una domanda e noi
detto okay, andiamo a scrivere un
la sua implementazione di script di ambiente
database evolutivo di test automatizzati
su quella domanda, ciò che rapidamente
trovato oltre non rapidamente su oltre nove
i mesi sono
stavamo lottando per fornire il valore
che ci aspettavamo di aiutare la compagnia
perché non potremmo in modo indipendente
sviluppare le qualifiche per giocare quel codice
perché era troppo stretto strettamente accoppiato
al resto del sistema l’organizzazione
è stato in grado di guardarci e vedere il
fatto che avevamo investito un sacco di soldi
e tempo e risorse che cercano di fare
consegna continua ma non lo era
influenzando il loro lavoro quotidiano e io
è passato il pomeriggio con Jaz e
brainstorming e ha lavorato su di esso per abbastanza
un po ‘e ho capito che avremmo fatto un
errore che non ho fatto HP in HP
non siamo andati a fare agili siamo partiti
per migliorare i nostri affari e incontrare i nostri
obiettivi aziendali e così ho fatto un passo
di nuovo da quello che stavamo cercando
compire quando stiamo facendo continuo
consegna e ha detto cosa sono quelli
obiettivi è importante e il primo
la cosa è che volevamo fornire il bene
feedback in tempo reale agli sviluppatori
perché volevamo aiutarli a diventare
sviluppatori migliori che vogliamo anche fare
sicuro che era in un funzionamento come
ambiente come forse potremmo perché
volevamo essere sicuri delle operazioni
squadra e il team di sviluppo erano
allineati su obiettivi comuni e detti
gli sviluppatori a cercare di capire come
ottenere una funzionalità e accenderla
il desktop e poi gettalo sul
muro e chiedere operazioni per provare la figura
il modo di entrare in produzione, che
non funziona molto bene l’altra cosa
in una grande organizzazione si tende a
prendi un sacco di risorse da cui partire
rilasciare il ramo in produzione richiede a
molto tempo richiede molto impegno
questo è senza valore aggiunto nel tuo sistema
e poi l’altra cosa siamo concentrati
su siamo stati alle prese con un rimprovero
riproducibilità e ripetibilità del nostro
costruisci il processo di test di implementazione così volevamo
per pulire che fino e quando ci si concentra verso il basso
su queste cose che hanno davvero aiutato la guida
la nostra guida le nostre direzioni uno dei
più grandi cose che stai cercando di fare in un
grande sistema aziendale complesso è trovare
il codice incriminato in modo da poterlo ottenere
risolto in modo da poter ottenere la qualità fino a
il punto in cui sono io rilasciabile
immagina che tutti conoscano il loro top triage
errori che passano attraverso il codice in
inizio e fine partita e cosa
stanno cercando di fare è chi ha portato
codice che stava offendendo ora se vado a
Dave ed io andiamo a Dave 6-8 settimane dopo
ha scritto un codice e dice hey
David sembra che tu abbia inserito questo e
ha rotto tutti questi test cosa eri
pensando a cosa stai facendo a quale
indica che Dave andrà a fare quel test
quando sei sicuro che ero io lo sai
danke
in quel codice scommetto molto che Dan e
probabilmente non ero io e quindi cosa sei
cercando di fare con il tuo processo di DevOps
è davvero isolato chi negli ultimi sei
otto settimane dal tuo ultimo rilascio
portato in quel codice incriminato e poi
dai loro quel feedback se puoi
che in poche ore non sto più battendo
su Dave per essere una cattiva persona
Sto aiutando Dave a diventare un migliore
programmatore perché sto dando loro il
feedback in un tipo operativo
ambiente per capire cosa ci vuole
per farlo funzionare fino al
cliente e ottieni l’ organizzazione
focalizzato su come lo passi
attraverso l’altro grande
il cambiamento culturale si sta sviluppando sul tronco
se guardi un complesso molto grande
sistema aziendale e tu dici di essere
andando a fare sviluppo tutto su tronco a
HP abbiamo avuto 20 prodotti diversi e dispari
stavamo sostenendo che stiamo supportando MIPS
processori stiamo sostenendo le armi
i processori stavano supportando le stampanti Lowe
e noi stavamo sostenendo le grandi copiatrici noi
avevamo diversi scanner che avevamo diversi
gestione della carta abbiamo avuto tutti quelli
cose differenti
tutto ciò che è stato fatto su un tronco con le braccia
cattura XP e vedere che il runtime è stato compilato
per il prodotto specifico quando ho iniziato
parlando con l’organizzazione riguardo a questo
pensavano che fossi pazzo lo farebbero
evitare di stabilire un contatto visivo quando cammino
lungo il corridoio loro li ignorano
torneranno a un censimento o lo farò
signora del fuoco. HP funziona così e poi
col passare del tempo ci fu un giorno in cui ci scambiavamo il reggiseno
è venuto da me, lo sai che ci penso
può fare questo lavoro che mostreremo
ci vincoliamo, eseguiremo il tempo compileremo quello che faremo
fare tutto funzionerà prendiamo tutto il
dichiarazioni if-then fuori dal codebase
lo inseriremo in un file XML
definisce il prodotto tutto il codice lo farà
riferimento a quel prodotto e lo faremo rapidamente
essere in grado di portarlo a tutti questi
diversi prodotti a cui è iniziato
ha senso, è stato davvero difficile per me
portare il rilascio e test per capire
e costruisci per capire come acquistare
questo processo ha pensato che fossi pazzo per
il tempo più lungo che in realtà vorrebbe
vieni da me e parla con me a
base regolare okay ramificazione stiamo andando
per far sì che non abbiamo intenzione di diramarti
perché prima avremmo voluto 10
diversi rami stavano rappresentando
Prodotto
e diverse finestre di versioni come
certo, non abbiamo intenzione di diramarlo
fuori dalle sura cercando di dire ramo
senza lo stesso ramo direbbe ma quando
andiamo in questo posto diverso alla fine
allora come gestiremo il cappotto?
e no non abbiamo intenzione di dirottare Troy
non aiuta a usare parole diverse e
Dopo circa due anni tre anni ero
si sta preparando per il nostro primo rilascio di
la nuova architettura per uno scanner che
stiamo cercando di ottenere la porta e di dire la nostra
personaggio sono pronto a portarlo lei è
come quello che sei pazzo non possiamo ramificarci
e perdere tutte le efficienze del lavoro
su un tronco con tutto il automatizzato
test e tutto il feedback rapido che sei
pazzo e poi è andato in gita sul fiume
giù la forchetta centrale il salmone c’è
un ranch fly-in che è a metà strada
quello è chiamato il ranch dell’ape volante e
egli si avvicinò a lui con il cappello su di esso
non abbiamo bisogno di puzzare essere ranch
Mi piace quella storia per alcuni motivi uno
è fino a quando non hai lavorato in questo tipo di
ambiente in cui non puoi immaginare di lavorare
questo tipo di ambiente una volta che hai
non hai potuto lavorare in questo ambiente
immagina di lavorare in qualsiasi altro modo che ho avuto
diverse persone lasciano la HB chiamami su go
Gary non puoi credere a questa nuova compagnia
Sto lavorando perché non hanno un sistema
non hanno un’integrazione continua
tutti i test automatici non funzionano e
Non ho la copertura non ho
la capacità di programmare con fiducia e
affidabilità e andare veloce come ero abituato a me
devo andare piano lento e poi devo
sistemare sempre le cose più tardi e poi
la base di codice in cui mi trovo non è stabile e io
non riesco a capire gli effetti del mio
cambia la chiave in questo sta succedendo che
viaggio da non credenti non lo sono
incredibile capace di immaginare il lavoro in qualsiasi
in un altro modo, ma dovresti iniziare con il tuo
i fondamentali penso che la cosa più grande
che le persone stanno iniziando a capire
come fanno la consegna continua sei tu
in uno di questi due campi quasi
a tutti quelli che ascolterai
conferenze come velocità o molto
quelli ha architetture molto pulite che
abilitare piccole squadre agili a
sviluppare in modo indipendente schierare e qualificare
codice che è idealmente dove dovresti essere
Mi piacerebbe essere in quel modo che tendo a lavorare
maggiori informazioni su legacy large legacy organization
che hanno architetture che sembrano a
un po ‘più come l’architettura
diagramma nella parte inferiore dello schermo
lì dove ci vogliono centinaia se no
migliaia di persone che lavorano insieme per
sviluppare qualificare e distribuire il codice se si
prova ad attuare le idee che sei
ascoltando la conferenza di velocità quando
hai un’architettura che assomiglia
una palla di corda non funzionerà
molto bene, quindi prima di iniziare ad applicare
I principi DevOps capiscono dove tu
sono in termini di tale indipendenza di
squadre e capire come lavorare
insieme ti incoraggerei
possibile agli architetti, penso a Rebecca
coperto alcune buone informazioni su come
reaaargh attacca i micro servizi a
abilitare questo accada il suo commento è stato
non dovresti fare micro servizi fino a quando
hai fatto una consegna continua, credo
il mio rifiuto su quello è che dovresti davvero
pensa di andare ai micro servizi così
è fattibile e facile da fare continuo
consegna ma puoi farlo con grande
organizzazioni strettamente accoppiate è solo
più complesso ed è necessario pensare
in modo diverso la prima cosa che vorrei iniziare
con sempre è il tuo processo di costruzione questo
può sembrare ovvio ma puoi disegnare a
grande diagramma architettonico del tuo principale
manufatto che stai pensando a
il sistema ottiene una build verde con alcuni
automatizzato test e poi se si va a
versione 2 di ciascuno di questi
i componenti e la versione B fanno sì che vada
rosso e ottieni una costruzione rossa puoi solo
tornare alla versione 1 del componente B e
ottieni una build verde o hai
librerie che sono strettamente accoppiate
attraverso il sistema che hanno dipendenze
attraverso di esso in modo che tu non possa tornare indietro e
avanti così perché se stai andando
costruire un grande sistema complesso e
lo manterrai sempre verde e
Rilasciabile se non puoi fondamentalmente
tira fuori pezzi ogni volta che ottieni un rosso
costruisci lassù, fermerai tutto
codice che progredisce attraverso il sistema e
diventerà molto doloroso il
la prossima cosa è l’automazione del test
Penso che Trisha e la gioia abbiano presentato alcuni
davvero buone informazioni nell’ultimo
un paio d’ore su come fare automatizzato
testare di più al livello di test unitario e
funziona bene se ce l’ hai e molto
di legacy sistemi strettamente accoppiati
spesso non puoi dipendere da questo
perché uno se hai un codice legacy quando
hai intenzione di avere il tempo di tornare indietro
a
e probabilmente ci sono un sacco di test unitari
non realistico da realizzare e se il
codici troppo strettamente accoppiati a Epple
avrò bisogno di un sistema di automazione del test
test per consentire di trovare tutto il
problemi e dare il feedback al
Gli sviluppatori che è necessario questo è troppo
importante essere lasciato al tuo controllo qualità
organizzazione se la lasci a un controllo di qualità
organizzazione che sta facendo manuale
test per anni si automatizzeranno
cosa stanno facendo manualmente e
scoprirai che finisci con a
incubo di manutenzione e si finisce
con codice che non localizza rapidamente
il problema e va bene quando tu
avere un test di 10 100 o 200 300 ma
quando inizi a ricevere migliaia di
test che non funzioneranno
Jeff Morgan ha un buon esempio
di come farlo con il sistema basato sull’interfaccia utente
prova dove hai la logica aziendale
nell’interfaccia utente e ciò che fa è fondamentalmente
usa un sito Web per l’ adozione di cuccioli e
ti insegna come fare questo ciò che fa
è per ogni pagina che crea una pagina
oggetto per ogni pagina nel tuo sito web e
poi quando colpisci quella pagina ha un
data magic gym che automaticamente
lo popola con i dati che tu
bisogno e poi quando scrivi un test tu
dì vai da qui a là se te ne vai
alla vostra organizzazione manuale per fare per
automatizzare ciò che stanno facendo
manualmente per anni cosa andranno
attraverso , diremo ok se io
ho una nuova carta di credito e aggiungo una nuova
funzionalità voglio assicurarmi che
quello funziona la prima cosa che farò e
otteniamo una home page che andiamo a Mann’s I’m
gonna go Blazers Vado al blu
e sceglierò questo potrei aggiungere il
prodotto al mio carrello e vado a controllare
fuori fa una carta di credito funziona bene
funziona bene quando ne hai uno o due
quelle prove ma quando ne hai mille
di quei test che iniziano in casa
pagina e la pagina iniziale cambia
morto nell’acqua ma se l’hai preso
l’approccio del modello a oggetti di pagina quindi loro
non lo fanno e ogni riferimento che
oggetto della pagina l’ unica cosa che devi
andare aggiornamento è che un oggetto pagina che
ti consente di mantenere i test dell’interfaccia utente
aggiornato con il tuo sito web ed evolversi
con esso e andare con esso come viene avanti
questo non è l’ unico modo per farlo
farlo o il modo giusto per farlo, ma si
bisogno di pensare a come la tua applicazione
sta per cambiare nel tempo e
come progettate il vostro sistema così
e cambia necessita solo i test
solo bisogno di cambiare in un posto e tu
può fare riferimento che l’altro problema
con questo test è stato un check-out
test per convalidare che la carta di credito
ha funzionato bene se la squadra della cassa è
responsabile per mantenere quel test
trasmettendo la nostra base continua ed è
scritto in quel modo in cui si imbatteranno
problemi e stai per scoprire che
non avranno la qualità di
quel test perché se la home page si è rotta
o la navigazione si è rotta o qualcuno di questi
altre cose che hanno rotto non lo era
associato a quello che stavano facendo era
non la loro responsabilità e non lo era
il loro codice allora che stanno andando a venire in
e guarda un sacco di test di verifica
rotto e lo assumeranno
devono risolvere qualcosa tua
i test automatici dovrebbero realisticamente
iniziare alla pagina di pagamento dovrebbe pre
popolarlo con tutto il necessario
fare e convalidare solo quella parte di
i codici sono stati spezzati, quindi ho fatto i test
dove sono mantenibili e rapidamente
localizzare i difetti è importante se
farai migliaia e migliaia
migliaia di test e ottenere la squadra
possedere la qualità del proprio codice su un
la prova automatizzata in corso è
Probabilmente lo strumento più prezioso Sono
cercando di capire come trasformarlo
Non so come lo trasformeresti
senza farlo bene penso che sia più
cosa frequentemente sbagliata in
organizzazioni ottiene mantenibile esso
arriva da dove non è mantenibile
continuando e arriva fino a dove è
Non triage in grado in termini di esso automatizzato
essere in grado di guardare il test e
capire cosa sta succedendo è troppo
importante per essere lasciata al vostro QA
organizzazioni che dovresti ottenere
architetto che capisce davvero
programmazione orientata agli oggetti e tiin
loro con le persone di prova e ordinare
di assicurarti di venire con la destra
avvicinarsi quando stai facendo
consegna continua è necessario pensare
su di te puoi fare molto su piccola scala
lungo algoritmo complesso e Jenkins esso
sorta di imposta tutto e lo rende
lavoro ti incoraggerei a pensare
su più dei diversi principi
che stai cercando di ottenere qui
hai bisogno di un innesco che si innesca
Costruisco che dice ho ottenuto un accumulo sarò
buttare via queste cose è necessario chiamare
i tuoi ambienti scriptati e impostalo
su separatamente è necessario per il tuo bisogno
distribuzione automatizzata tua evoluzione
database e il tuo test se si tenta di
costruisci tutto in uno script che ottiene
simile a quello che stai cercando di fare
l’ automazione dei test è quando la tua logica è tua
pensando a come stai
Sono un gasdotto che ha bisogno di cambiare le cose
tempo si finisce per dover aggiornare tutto
questi lunghi script monolitici, se puoi
pensa di tirare fuori quella logica aziendale
nel tuo Orchestrator ti consente di
sfruttare gli script più comuni in tutto il
sistema l’altra cosa che è importante
è se hai intenzione di avere un sacco di
ambienti diversi che sei
lavorando attraverso assicurarsi che tu abbia
script comuni che probabilmente non stai andando
avere ambienti che sono tutti
coerente ma simile come abbiamo fatto in
il business del jib laser in cui hai un XML
quello ha definito separatamente il diverso
i prodotti lo tolgono dal tuo comune
script in modo da avere uno script comune
che lavori tu automatizzi e tu
riprodurlo decine e centinaia di volte
prima di andare in produzione a
assicurati che funzioni e tu solo
riferimento alle differenze ambientali
tra i due luoghi che devi fare
la stessa cosa con il tuo automatizzato
implementazione per assicurarsi che siano comuni
e se hai il tuo team operativo e
il tuo team di sviluppo utilizza diversi
strumenti per questo processo non stai andando
iniziare l’allineamento culturale attraverso
organizzazioni che è necessario averle
lavorando su obiettivi comuni uno dei
i più grandi valori di consegna continua è
quando vai in produzione lo hai
già fatto centinaia di volte e
ha risolto tutti i bug se stai usando
diversi strumenti o diversi processi
in produzione di quello che sei
sviluppo non vedrai il
i benefici di questi cambiamenti evolutivi
database uno dei più grandi
sfide di mantenere il codice sempre
rilasciabile è quando si introduce uno schema
cambieranno molte persone e
dì no, non posso mantenerlo sempre rilasciabile
Devo fare questo cambiamento di schema che abbiamo
per coordinarlo se hai il tuo DBA
portare questo acquisto comprando questo libro
loro lo leggono è risolto che tu aggiungi e
deprecato non si modifica mai pigro
istanziazione se si modifica o modifica
è come incrociare i fasci di gatti grandi
dormire con i cani ogni sorta di male
le cose accadono e tu non puoi avere sempre
codice rilasciabile è necessario fare lo stesso
cosa con i tuoi servizi devono essere
versioni e lavorare attraverso questo processo
quando esegui la distribuzione automatica
spesso ciò che le persone fanno è che sono
distribuire su un gran numero di
server che distribuisci il codice o tu
configurare gli ambienti che si distribuiscono
il codice sul test automatico
e poi falliscono e tu inizi un grande
lungo processo complesso di triage e hai
devo capire quale routing o cosa
il server è in una cattiva configurazione o è danneggiato
stato che può essere tanto complesso quanto trovare
codice cattivo che è stato introdotto nell’ultimo
diversi mesi e cercando di localizzarlo
alla persona che difende e può essere
ugualmente peggio se hai lo stesso
applicazione in esecuzione su diversi
server ma la distribuzione ha avuto esito negativo
su uno dei server perché poi è
molto intermittente qualcuno lo vede quando
testano qualcun altro non lo vede
quando stanno testando la porta attraverso
che ci siamo imbattuti in questo e nell’ultimo
implementazione della consegna continua I
fatto e ciò che abbiamo trovato è avremmo fatto
passare due o tre giorni con la squadra
cercando di riportare il conto in verde e
ci fu un fallimento e ci provammo
hanno capito cosa stava succedendo
bene è abbastanza chiaro qui che tu
sappi non infastidirci di nuovo perché questo
lo spiegamento non ha avuto successo e ho detto
così come si può dire che pure se
vai in archivio e guarda in questi
aree puoi vedere questo oh grande
inizia ad aggiungerlo come test e così via
simile a quello che stiamo cercando di fare
frequenza fatturata e alcune altre cose
per localizzare il codice incriminato al
il minor numero di persone possibile cosa
stai cercando di fare con la tua implementazione
processo è localizzare il reato
ambiente o implementazione al minimo
numero di dispositivi o server di routing come
è possibile iniziare così
configurando i tuoi router e il tuo
i dispositivi server eseguono un test per la convalida
quello che ha successo alla fine di
ogni distribuzione esegue un test per essere sicuro
che tale spiegamento ha avuto successo e
quindi eseguire la convalida del codice quando
sei nel tuo sistema prova questi isolati
in una grande organizzazione complessa la
problemi di codice dai problemi di distribuzione
e non si vuole sprecare il vostro tempo su
queste cose e ogni volta che lo trovi
problemi di distribuzione o ambiente quando
tu corri nel tuo sistema finale provalo
ti dice che hai bisogno di un altro post
test di validazione che è necessario aggiungere
il processo per trovare queste cose e
li localizzi prima quando sei
costruire un sistema complesso di grandi dimensioni
hai un mucchio di grandi agili
organizzazioni ma sei appassionato di COBOL
applicazioni di tipo mainframe come fai tu
costruire e integrare un grande
sistema aziendale come questo il primo
il passo è sempre iniziare con la tua agilità
componenti assicurarsi che hai
unit test che stanno passando e tu hai
ho capito
tipi di analisi del codice di cose che vanno che cosa
stai cercando di fare è rimanere davvero male
codice da entrare e danneggiare il
intero sistema e questo è il primo ideale
passo Non riesco a pensare a nessuna ragione per cui a
sviluppatore sarebbe stato permesso di check-in
il codice dell’unità che non funziona non può pensare
di qualsiasi ragione lo sviluppatore sarebbe
permesso di verificare il codice dell’unità che è
non funziona
Detto questo, c’è una cattiva unità
codice e ci sono cose che possono essere fatte
e le persone lo scrivono male quando lo fanno
realizzerà il dolore di quello che inizieranno
pulendo quelle cose e facendolo
ma se possono controllare il codice e tu lo hai fatto
ho un gruppo che sta fallendo un mucchio
che stanno passando come decidi tu
se vuoi che le persone facciano il check-in o
non il prossimo passo è spezzare il
sistema
Ho trovato la virtualizzazione del servizio che potevi
chiamare un finto si potrebbe chiamare un mozzicone ma
come si isolano certe parti del tuo
sistema in modo da poter localizzare il codice
ci sono tre passi che sei tu
andando a prendere per localizzare uno è costruire
frequenza più frequentemente puoi
costruisci nel miglior feedback possibile
Dai più quello che vuoi
localizzarlo se si conosce meno il numero di
gli sviluppatori il secondo si sta rompendo
componenti che vengono qualificati e quindi
costruito nel sistema più grande, quindi se
hai due organizzazioni diverse una
sulla costa orientale e uno a ovest
costa potresti voler pensare a a
integrazione continua per costruire tanto
di quel sistema il più frequentemente possibile
un sistema che costruisce tanto di questo come
frequentemente come puoi e poi metti il
sistema insieme virtualizzazione dei servizi
dovresti evitare ovunque possibile come
più che puoi perché è qualcosa
hai intenzione di mantenere e
è qualcosa che potrebbe essere diverso
ma quando hai estremamente grande
organizzazioni che abbatte il
complessità e ti permettono di mantenere questo
andando e poi una volta al giorno tu o te
dovresti sempre assicurarti che stai tirando
la virtualizzazione fuori e facendo fine e
testare l’altra cosa importante su
questo è se hai sistemi molto complessi
aggancio a cose come COBOL e alcuni di
quelle altre cose su mainframe se tu
fare test indiani con tutto ciò che è
molto costoso è difficile è quasi
più complesso da impostare quelli grandi grandi
ambienti ed eseguire tutti i test in
il mio ultimo lavoro se abbiamo iniziato con 1.300
prova che abbiamo eseguito circa ogni 10 giorni per
rilasciare il codice su di esso per il sito Web e
base continua quando ho riso eravamo
vicino a 20.000 un test
ogni giorno se avessi corso tutto
quelle prove contro il mainframe e
addebitato per la mia elaborazione sul
mainframe il CFO mi avrebbe dato la caccia
verso il basso e mi ha sparato perché avrei
costano i costi, quindi l’idea era qui
prova quanta parte del sistema torna qui e
quindi se avessi avuto cento test di questo tipo
di finire in test e utilizzare il
servizio in modo simile eseguire il
centinaia di test quando ero in questo
fase della mia pipeline di distribuzione e poi
quando sono arrivato a questa fase ho appena scelto il
uno che ho pensato ha aggiunto il maggior valore
e fare la fine e testare su di esso è
diverso da come molti
le organizzazioni si avvicinano dove sono
vogliono avere il segno cliente off
Test indiani con tutto e te
dedica un po ‘del tuo tempo e impegno
cercando di mettere insieme l’intero sistema
e farlo funzionare l’altra cosa che io
Direi sentito parlare di persone che parlano
prima su come ottieni il tuo
compagni di squadra acquistati e coraggio di mantenere
una banconota verde e farlo funzionare su un
in corso perché quello che otterrai è
un naufragio sul sistema che
tutti devono smettere di sviluppare codice
distribuendolo prendilo in poi su a
regolarmente o altrimenti sai di essere
costruisci solo un tarball e puoi farlo
mai tornare ad un accumulo verde di HP ci
aveva un sacco di roba che stavamo cercando
fatto ho avuto un’organizzazione che respira
in fondo alla gola per guardare la funzione
throughput e cosa è stato fatto e
ci siamo imbattuti in un giorno che sia un
codice intermittente o intermittente
il test è entrato nel sistema e lo siamo
ricevendo bollette rosse e il team di costruzione era
frustrati tutti nel
organizzazione era frustrato il
costruire squadre aggiunte
produttività da due a tre X lo farebbe
importa se si potesse capire come
inizia a dire si a tutti gli affari
Le richieste che si sta dicendo di no a
farebbe la differenza e se tu
ha deciso che tutta questa roba era troppo difficile o
non aveva senso per la tua compagnia quando
sei tornato indietro ma i tuoi concorrenti
ha deciso di andare all-in e davvero iniziare
trasformando il modo in cui hanno fatto il software
sviluppo puoi vedere come questo faccia a
differenza per la tua azienda al tuo
collaboratori e a te stesso nel tempo dovuto
a 3x sembra un po ‘ridicolo
dichiarazione in termini di essere in grado di ottenere
più produttivo ma in grande
organizzazioni penso che sia reale
Penso che sia realistico per HP in 19 o in
2008 2007 ho avuto l’opportunità di prendere
sul firmware incorporato LaserJet
organizzazione che era di circa 800 persone
in tutto il mondo si parlava di tutto il mondo
cento milioni di dollari all’anno e per
due decenni da quando ero stato nel
affari era stato il collo di bottiglia per
l’intero business della stampante LaserJet noi
non è possibile aggiungere un nuovo prodotto ai nostri piani
non siamo riusciti a creare il marketing
capacità così abbiamo voluto perché noi
dovevo sempre verificare con il firmware e
troppo spesso la risposta era no e nel 2008
tutti ricordano che il 2008 è stato grande
la spesa è aumentata di anno in anno non è stato così
molto abbiamo avuto un nuovo vizio esecutivo
il presidente entra nel senior VP e nel
i costi erano sotto costrizione, dovevamo
capire come ridurre i costi
drammaticamente in tutto il business aveva 30
giorni per venire con un piano per ridurre il mio
costo di sviluppo da cento milioni
dollari un anno a cinquanta a sessanta al
Allo stesso tempo stiamo facendo un completo
reaaahhr tech chure del sistema e
buttando via il vecchio codebase e
cercando di capire come tirarlo su
Ho visto questo business dal
fuori per un paio di decenni e
capito che era un vincolo per il
affari che non potremmo andare avanti , possiamo
muovendoci più velocemente dovevamo fare qualcosa
fondamentalmente diverso fino a questo
tempo che HP aveva cercato di trascorrere
uscita dal problema senza successo
avevamo bisogno di progettare una soluzione noi
necessario per fare un completamente diverso
approccio e abbiamo iniziato ad applicare quello che io
chiamerei principi agili e DevOps
su scala non abbiamo necessariamente speso a
molto tempo su questo
livello di squadra ma abbiamo ottenuto il mio personale di oltre 800
le persone pensano attraverso come noi
capire costantemente come migliorare
perché c’era un miliardo di dollari
affari in piedi dietro di me
avevamo buttato fuori la vecchia architettura noi
necessario per ottenere la nuova architettura
e stavo cercando qualsiasi cosa potessi
forse per migliorare l’efficacia
e produttività dell’organizzazione e
siamo andati in un viaggio di continuo
cercando di migliorare questo e dopo circa
tre anni guardiamo indietro e noi
fondamentalmente cambiato l’intero
produttività dell’organizzazione
ridurremmo il costo da cento
milioni di dollari all’anno a cinquantacinque
milioni di dollari all’anno il firmware era no
Più lungo è il collo di bottiglia quando volevamo
aggiungi un nuovo prodotto ai nostri piani e a
le nostre future tabelle di marcia
è stato facile per noi guardarlo e dire
non ci vuole un sacco di risorse così
possiamo aggiungere noi li stavamo cominciando a
liberare il cento quaranta percento
più prodotti di quelli di prima
sostenendo a circa la metà del costo e
il numero di loro la capacità che noi
avuto per nuove funzionalità e nuovi
le capacità erano passate da circa il 5% di
tutto ciò che stiamo facendo a circa il 40% di
tutto ciò che stavamo facendo così abbiamo iniziato
dire sì al business in un sacco di
modi fondamentali e come ho controllato
il mio coautore un paio di mesi fa quando
Ero di nuovo lì a parlare di come
le cose stavano andando
in effetti avrebbero drenato la palude a
richiesta di marketing e in realtà sono
lavorare con gli ingegneri per pensare
nuove idee che potrebbero aggiungere mentre loro
continuare a ridurre i costi nel tempo
miglioramenti piuttosto drammatici nel
produttività di tutto ciò che stiamo facendo
ora la cosa interessante è che guardiamo
tornando a questo abbiamo avuto un sacco di squadre
stavano implementando principi agili a
il livello di squadra che stavano bruciando
giù i grafici stanno facendo stand-up così
facendo la mischia stavano facendo tutti quelli
cose che abbiamo avuto alcune altre squadre
davvero non stavano implementando o
praticando quei rituali di squadra ovale e
quello che abbiamo capito è che non c’era un
drammatico cambiamento di produttività tra
le squadre che stavano facendo tutto agile
cose e le squadre che non stavano facendo
tutte le cose agili ma da 2 a 3 volte
miglioramento della produttività nel complesso
organizzazione che ha portato alla nostra conclusione
che in una grande impresa come le squadre
venire insieme
fornire valore è l’ effetto del primo ordine
come lavorano i singoli team
stessi come un effetto di secondo ordine ora
questo è un caso quando ne hai di più
architettura strettamente accoppiata che
richiede grandi parti dell’organizzazione
sviluppare qualificare e rilasciare il codice come a
unità
non succede necessariamente quando tu
avere organizzazioni che hanno
architetture di micro-servizi che tu
può avere piccoli team indipendenti sviluppare
qualificare e rilasciare il codice in modo indipendente
quindi se stai pensando ad un grande
un’organizzazione che ti ha accoppiato
bisogno di pensare a applicarli
principi se sei più in una situazione
dove hai un molto pulito
l’architettura con quella è molto vagamente
accoppiato puoi pensare di più a come
potenzia la squadra e ottieni persone
supportato e rendere questo tipo di cose
andando così quando parlo dell’agile
principi penso che sia carina
semplice e Dave può prendermi se
Ottengo questo torto perché era lì
fin dall’inizio tutti
capisce la cascata base
metodologia e realtà di
cascata che quando si tenta di bloccare
tutti e tre questi triangoli e c’è
incertezza e scoperta nel processo
o lavori le squadre a morte o
si scivola l’orario o alcuni
combinazione di entrambi e di base
il principio dell’agile è rompere questo
in piccole iterazioni dove sei
rilasciando su un più frequente in corso
base bene se hai un grande strettamente
sistema accoppiato che include centinaia a
migliaia di ingegneri la piccola agile
le squadre non necessariamente penseranno
su come si coordinano e si integrano
e rilasciare il loro codice su un continuo
base se ti allontani da qualsiasi cosa
con questa cima in alto con questo
quello in una grande organizzazione complessa
mischia non è agile e se lo sei
non molto attento a come lo fai
si sta andando a finire con un classico
errore che è stato fatto nella maggior parte delle aziende
di creare un processo di caduta di scrum d’acqua
in questo processo hai il team stand
facendo molto bene l’iterazione ma
si stanno ancora impegnando a farlo
sono 12 14 18 mesi nel futuro e
stanno ancora attraversando un periodo difficile
integrazione e rilascio del codice su
una base più frequente e diversa
approccio e l’approccio che sono
presentando nel mio secondo libro quello è
uscendo che porta la trasformazione è
non dovresti davvero farlo
non dovresti fare devops che non dovresti fare
magro non dovresti fare nessuno di quelli
cose che stiamo gestendo siamo un’azienda
parte di un business che dovresti capire
cosa stai cercando di ottenere per il tuo
affari e se non si può pensare
perché i tuoi attuali processi di sviluppo
non soddisfano le esigenze del business
e identificare chiaramente che non si dovrebbe
andare in viaggio solo per adottare il
ultime idee o approcci che dovresti
davvero iniziare con il motivo per cui il tuo filo è tuo
gli attuali processi di sviluppo non riescono a
supportare le esigenze di business che hai
e ottenerlo molto chiaro perché a
trasformazione come questa sta per
prenditi un po ‘ e hai sempre bisogno di guardare
a che cosa è la visione a lungo termine?
la direzione a lungo termine quali sono i
cose che nel modo di ottenere questo
fatto e cosa stiamo cercando di raggiungere
e poi una volta che hai il business
obiettivi che puoi iniziare a guardare
lì c’è la tua cassetta degli attrezzi e la tua cassetta degli attrezzi
combina idee idee magre ne ho due
idee DevOps idee e dovresti prendere
lo strumento altro toolbox che sta per risolvere
il problema è la tua più grande barriera
per migliorare la tua attività il prossimo
cosa che direi è che hai bisogno di un
miglioramento continuo a livello di impresa
processo non è abbastanza per ciascuno di voi
i singoli team stanno facendo retro
spectryx e facendo recensioni e cercando di
migliorare perché se hai intenzione di fare
questi cambiamenti in una grande organizzazione
deve funzionare in tutta l’organizzazione
e hai bisogno che i tuoi dirigenti siano coinvolti
parte del processo di impostazione del
obiettivi e lavorare con l’organizzazione
per capire cosa si sta intromettendo
di fare le cose e cosa no
e poi se hai un buon processo per
cambiando il tuo processo di pianificazione verso dove
è reattivo e reattivo a ciò che è
andare su un arretrato prioritario e poi
hai un buon processo per il rilascio
codice su base continuativa nel
impresa non ha bisogno di essere nessuno
più complesso o difficile di quello ma
hai bisogno di imparare e adattarti continuamente
è necessario iniziare a dove si sta andando a
avere il maggiore impatto sul business e tu
iniziare a lavorare sulla tua pianificazione
processo e il processo di consegna così
nel complesso in tutta l’organizzazione presso HP
molto chiaramente iniziato con la nostra attività
obiettivi e i nostri obiettivi di business
non volevamo che il firmware fosse il
collo di bottiglia per l’azienda più e
volevamo liberare la capacità per
innovazione
quindi quando guardavamo quelle cose noi
iniziato a guardare la nostra proposta di valore
e abbiamo iniziato a guardare qualsiasi cosa
era un pilota a tempo di ciclo o un guidatore di costi
quella non era la chiave per il valore che noi
stavano cercando di fornire l’azienda e
tutto ciò che non è stato automatizzato
eliminato o lo abbiamo progettato da
il sistema è cambiato radicalmente
tutto ciò che stiamo cercando di fare il prossimo
cosa è che hai bisogno di un dirigente
processo di miglioramento continuo e questo
è più di un semplice insieme di cosa
le squadre stanno facendo perché se tu hai
ho un migliaio di persone e tu hai te
conosci un centinaio di squadre diverse la tua
la strategia non può essere un aggregato di tutti
quelle squadre diverse se hai intenzione di
cercare di coordinare il lavoro e il coordinamento
la prova attraverso l’organizzazione
quel pezzo in più, quindi è necessario iniziare
con gli obiettivi di impostazione che conosco di più
squadre agili lavoreranno per due settimane o a
mese o una settimana e una sorta di
itera e rispondi ma se sei in a
grandi organizzazioni ho trovato su a
il mese funziona bene e ti dà tempo
fissare questi obiettivi e dà anche
tempo per ottenere l’allineamento attraverso il
organizzazione che quelle cose sono
importante e realizzabile e possibile
fai una volta che hai fissato quegli obiettivi tu
non cambiare loro durante l’iterazione
ti concentri su di loro e poi su
dirigenti quello che passeremmo il nostro tempo
fare sta cercando di capire cosa fosse
entrare nel modo in cui le organizzazioni di
Ottenere queste cose fatte in modo da iniziare
il mese con la sua organizzazione delle vene
comprati che erano importanti
erano una priorità e pensavano
erano fatti per finire e se
non sono stati fatti durante il mese
come dirigente avevo le metriche che potevo
rivedere ogni mattina e vorrei spendere tutto
i miei giorni fuori un’organizzazione come un
giornalista investigativo che cerca di capire
fuori quello che stava entrando nel
modo dell’organizzazione e non stava andando
per andare a dire Dave perché non l’hai preso
questo fatto è stato Dave bene quello che è successo
cosa c’e ‘di mezzo perche’ non e ‘successo?
fatto e non era perché non l’ha avuto Dave
era quello che ostacolava Dave
essere in grado di realizzare questo e fare
questo e attraverso questo processo tu prendi
quegli insegnamenti li fanno passare al prossimo
iterazioni e iniziare a prendere piani e
rimuovere le barriere che stavano entrando
il modo in cui l’organizzazione di essere
efficace e produttivo ed è stato un
interessante cambiamento culturale come leader
oltre un 800
organizzazione della persona quando ho iniziato
presentarsi al desktop di un ingegnere
quello stava lottando era un po ‘
intimidatorio all’inizio ma quando sono arrivati
Mi era solito venire in giro a chiedere il
domande e cercando di capire come
per aiutare e hanno capito che ero davvero
lì per aiutare ha iniziato a creare
trasparenza con vincoli di fiducia
i genitori anche con la trasparenza arriva il
capacità di sistemare le cose ed è una cultura
quello si costruisce su se stesso nel tempo il prossimo
cosa nel processo di pianificazione è
interessante e questo sta per essere il
più difficile in qualsiasi organizzazione per ottenere il
affari da capire perché loro
gestire tutto il resto nella loro attività
con cascata
Faccio impegni che fanno piani e
la maggior parte delle persone nell’organizzazione
non capisco il software è diverso
deve essere gestito in modo diverso probabilmente
la più grande sfida con il software è
siamo così poveri nel predire cosa
le funzionalità software aggiungeranno qualsiasi valore
che letteralmente il 50% di tutto ciò che facciamo
è nel settore è mai né l’ uno né l’altro
mai usato o non ha battuto la sua attività
intento puoi pensare a qualsiasi altra cosa
la tua attività che ha un tasso di successo del 50% in
termini di ciò che sta per essere utile in
lì i dirigenti devono capire che
hanno anche bisogno di capirlo
il software è molto diverso da
tutto il resto che fai se lo sei
andando a costruire un nuovo stabilimento di produzione
potrebbe essere di dimensioni leggermente diverse
essere in una forma leggermente diversa da
tutto ciò che hai fatto prima ma
verrà sfruttato al meglio dalla maggior parte
cose che hai fatto per anni
e anni in tempi diversi e
ci sarà qualche scoperta nel
processo quando si va a scrivere nuovi
software lo stai facendo per il molto
prima volta la primissima volta e
è davvero difficile pensare a tutti
le cose e puoi sederti intorno e
pianificare e pianificare e pianificare e fondamentalmente
sali su questa diapositiva dove sei finito
il tempo si può investire sempre di più in
pianificando ma si incontra diminuendo
ritorna dopo un po ‘il modo migliore per
saperne di più su ciò che il vostro programma è
sta per essere inizia a scrivere il codice e
inizia a convalidare alcuni dei tuoi
ipotesi e capirlo di più
i dirigenti non lo capiscono così, spero
il capitolo 5 del mio nuovo libro è qualcosa
quella
puoi condividerlo e metterti a morte
lavorarci sopra e aiutarli
capire che se lo saranno
efficace nella gestione del software di cui hanno bisogno
a pensare a come gestirla
diversamente in modo 50% non viene mai usato è
è difficile renderlo preciso ma il
il vantaggio del software è se sviluppi
è giusto che possa essere cambiato fino al
ultimo minuto
qualsiasi altra cosa un dirigente stia facendo
i loro affari se sbagliano e
hanno pianificato che è sbagliato è molto
costoso da cambiare se hai versato tutto
il cemento e la fabbrica ma tu avevi
ha sbagliato che sarà molto
costoso cambiare non è il caso
con il software quindi se si guarda all’applicazione
principi di cascata per il software tuo
rischio di commettere il classico errore di
prendendo la tua svolta più flessibile
in un bene fisso da consegnare
caratteristiche che non saranno mai usate o meno
fornire valore di business è necessario
ottenere dirigenti per capirlo e
capire il software di gestione
diversamente altrimenti ne sprecheranno uno
sacco di risorse che lavorano tutta la via d’uscita
a questa estremità della curva perché loro
pensa se passano più tempo
software di pianificazione andrà meglio
nel tempo probabilmente un sacco di gente Moore
è venuto ad ascoltare il lato DevOps di
questo ho passato un sacco di tempo
implementare una scala molto grande
integrazione continua cosa in HP e
poi da Macy’s avrei lasciato il nostro passaggio
consegna continua per il sito web
attraverso l’organizzazione molto di questo
le entrate saranno condivise sulla base di
che la prima cosa che devi iniziare
con o quali sono gli obiettivi
stai cercando di fare se hai intenzione di farlo
prova ad applicare i principi DevOps, se lo sei
andando a provare a rilasciare su un altro
base frequente una delle mie esperienze noi
siamo entrati abbiamo detto bene che faremo
consegna continua e pensiamo che lo sia
importante fare la consegna continua e
Sono entrato in azienda perché avevano un
sforzo per fare la consegna continua e lo farei
leggere il libro della giustizia mi è piaciuto che volevo
saperne di più su come farlo accadere
e avevamo preso una domanda e noi
detto okay, andiamo a scrivere un
la sua implementazione di script di ambiente
database evolutivo di test automatizzati
su quella domanda, ciò che rapidamente
trovato oltre non rapidamente su oltre nove
i mesi sono
stavamo lottando per fornire il valore
che ci aspettavamo di aiutare la compagnia
perché non potremmo in modo indipendente
sviluppare le qualifiche per giocare quel codice
perché era troppo stretto strettamente accoppiato
al resto del sistema l’organizzazione
è stato in grado di guardarci e vedere il
fatto che avevamo investito un sacco di soldi
e tempo e risorse che cercano di fare
consegna continua ma non lo era
influenzando il loro lavoro quotidiano e io
è passato il pomeriggio con Jaz e
brainstorming e ha lavorato su di esso per abbastanza
un po ‘e ho capito che avremmo fatto un
errore che non ho fatto HP in HP
non siamo andati a fare agili siamo partiti
per migliorare i nostri affari e incontrare i nostri
obiettivi aziendali e così ho fatto un passo
di nuovo da quello che stavamo cercando
compire quando stiamo facendo continuo
consegna e ha detto cosa sono quelli
obiettivi è importante e il primo
la cosa è che volevamo fornire il bene
feedback in tempo reale agli sviluppatori
perché volevamo aiutarli a diventare
sviluppatori migliori che vogliamo anche fare
sicuro che era in un funzionamento come
ambiente come forse potremmo perché
volevamo essere sicuri delle operazioni
squadra e il team di sviluppo erano
allineati su obiettivi comuni e detti
gli sviluppatori a cercare di capire come
ottenere una funzionalità e accenderla
il desktop e poi gettalo sul
muro e chiedere operazioni per provare la figura
il modo di entrare in produzione, che
non funziona molto bene l’altra cosa
in una grande organizzazione si tende a
prendi un sacco di risorse da cui partire
rilasciare il ramo in produzione richiede a
molto tempo richiede molto impegno
questo è senza valore aggiunto nel tuo sistema
e poi l’altra cosa siamo concentrati
su siamo stati alle prese con un rimprovero
riproducibilità e ripetibilità del nostro
costruisci il processo di test di implementazione così volevamo
per pulire che fino e quando ci si concentra verso il basso
su queste cose che hanno davvero aiutato la guida
la nostra guida le nostre direzioni uno dei
più grandi cose che stai cercando di fare in un
grande sistema aziendale complesso è trovare
il codice incriminato in modo da poterlo ottenere
risolto in modo da poter ottenere la qualità fino a
il punto in cui sono io rilasciabile
immagina che tutti conoscano il loro top triage
errori che passano attraverso il codice in
inizio e fine partita e cosa
stanno cercando di fare è chi ha portato
codice che stava offendendo ora se vado a
Dave ed io andiamo a Dave 6-8 settimane dopo
ha scritto un codice e dice hey
David sembra che tu abbia inserito questo e
ha rotto tutti questi test cosa eri
pensando a cosa stai facendo a quale
indica che Dave andrà a fare quel test
quando sei sicuro che ero io lo sai
danke
in quel codice scommetto molto che Dan e
probabilmente non ero io e quindi cosa sei
cercando di fare con il tuo processo di DevOps
è davvero isolato chi negli ultimi sei
otto settimane dal tuo ultimo rilascio
portato in quel codice incriminato e poi
dai loro quel feedback se puoi
che in poche ore non sto più battendo
su Dave per essere una cattiva persona
Sto aiutando Dave a diventare un migliore
programmatore perché sto dando loro il
feedback in un tipo operativo
ambiente per capire cosa ci vuole
per farlo funzionare fino al
cliente e ottieni l’ organizzazione
focalizzato su come lo passi
attraverso l’altro grande
il cambiamento culturale si sta sviluppando sul tronco
se guardi un complesso molto grande
sistema aziendale e tu dici di essere
andando a fare sviluppo tutto su tronco a
HP abbiamo avuto 20 prodotti diversi e dispari
stavamo sostenendo che stiamo supportando MIPS
processori stiamo sostenendo le armi
i processori stavano supportando le stampanti Lowe
e noi stavamo sostenendo le grandi copiatrici noi
avevamo diversi scanner che avevamo diversi
gestione della carta abbiamo avuto tutti quelli
cose differenti
tutto ciò che è stato fatto su un tronco con le braccia
cattura XP e vedere che il runtime è stato compilato
per il prodotto specifico quando ho iniziato
parlando con l’organizzazione riguardo a questo
pensavano che fossi pazzo lo farebbero
evitare di stabilire un contatto visivo quando cammino
lungo il corridoio loro li ignorano
torneranno a un censimento o lo farò
signora del fuoco. HP funziona così e poi
col passare del tempo ci fu un giorno in cui ci scambiavamo il reggiseno
è venuto da me, lo sai che ci penso
può fare questo lavoro che mostreremo
ci vincoliamo, eseguiremo il tempo compileremo quello che faremo
fare tutto funzionerà prendiamo tutto il
dichiarazioni if-then fuori dal codebase
lo inseriremo in un file XML
definisce il prodotto tutto il codice lo farà
riferimento a quel prodotto e lo faremo rapidamente
essere in grado di portarlo a tutti questi
diversi prodotti a cui è iniziato
ha senso, è stato davvero difficile per me
portare il rilascio e test per capire
e costruisci per capire come acquistare
questo processo ha pensato che fossi pazzo per
il tempo più lungo che in realtà vorrebbe
vieni da me e parla con me a
base regolare okay ramificazione stiamo andando
per far sì che non abbiamo intenzione di diramarti
perché prima avremmo voluto 10
diversi rami stavano rappresentando
Prodotto
e diverse finestre di versioni come
certo, non abbiamo intenzione di diramarlo
fuori dalle sura cercando di dire ramo
senza lo stesso ramo direbbe ma quando
andiamo in questo posto diverso alla fine
allora come gestiremo il cappotto?
e no non abbiamo intenzione di dirottare Troy
non aiuta a usare parole diverse e
Dopo circa due anni tre anni ero
si sta preparando per il nostro primo rilascio di
la nuova architettura per uno scanner che
stiamo cercando di ottenere la porta e di dire la nostra
personaggio sono pronto a portarlo lei è
come quello che sei pazzo non possiamo ramificarci
e perdere tutte le efficienze del lavoro
su un tronco con tutto il automatizzato
test e tutto il feedback rapido che sei
pazzo e poi è andato in gita sul fiume
giù la forchetta centrale il salmone c’è
un ranch fly-in che è a metà strada
quello è chiamato il ranch dell’ape volante e
egli si avvicinò a lui con il cappello su di esso
non abbiamo bisogno di puzzare essere ranch
Mi piace quella storia per alcuni motivi uno
è fino a quando non hai lavorato in questo tipo di
ambiente in cui non puoi immaginare di lavorare
questo tipo di ambiente una volta che hai
non hai potuto lavorare in questo ambiente
immagina di lavorare in qualsiasi altro modo che ho avuto
diverse persone lasciano la HB chiamami su go
Gary non puoi credere a questa nuova compagnia
Sto lavorando perché non hanno un sistema
non hanno un’integrazione continua
tutti i test automatici non funzionano e
Non ho la copertura non ho
la capacità di programmare con fiducia e
affidabilità e andare veloce come ero abituato a me
devo andare piano lento e poi devo
sistemare sempre le cose più tardi e poi
la base di codice in cui mi trovo non è stabile e io
non riesco a capire gli effetti del mio
cambia la chiave in questo sta succedendo che
viaggio da non credenti non lo sono
incredibile capace di immaginare il lavoro in qualsiasi
in un altro modo, ma dovresti iniziare con il tuo
i fondamentali penso che la cosa più grande
che le persone stanno iniziando a capire
come fanno la consegna continua sei tu
in uno di questi due campi quasi
a tutti quelli che ascolterai
conferenze come velocità o molto
quelli ha architetture molto pulite che
abilitare piccole squadre agili a
sviluppare in modo indipendente schierare e qualificare
codice che è idealmente dove dovresti essere
Mi piacerebbe essere in quel modo che tendo a lavorare
maggiori informazioni su legacy large legacy organization
che hanno architetture che sembrano a
un po ‘più come l’architettura
diagramma nella parte inferiore dello schermo
lì dove ci vogliono centinaia se no
migliaia di persone che lavorano insieme per
sviluppare qualificare e distribuire il codice se si
prova ad attuare le idee che sei
ascoltando la conferenza di velocità quando
hai un’architettura che assomiglia
una palla di corda non funzionerà
molto bene, quindi prima di iniziare ad applicare
I principi DevOps capiscono dove tu
sono in termini di tale indipendenza di
squadre e capire come lavorare
insieme ti incoraggerei
possibile agli architetti, penso a Rebecca
coperto alcune buone informazioni su come
reaaargh attacca i micro servizi a
abilitare questo accada il suo commento è stato
non dovresti fare micro servizi fino a quando
hai fatto una consegna continua, credo
il mio rifiuto su quello è che dovresti davvero
pensa di andare ai micro servizi così
è fattibile e facile da fare continuo
consegna ma puoi farlo con grande
organizzazioni strettamente accoppiate è solo
più complesso ed è necessario pensare
in modo diverso la prima cosa che vorrei iniziare
con sempre è il tuo processo di costruzione questo
può sembrare ovvio ma puoi disegnare a
grande diagramma architettonico del tuo principale
manufatto che stai pensando a
il sistema ottiene una build verde con alcuni
automatizzato test e poi se si va a
versione 2 di ciascuno di questi
i componenti e la versione B fanno sì che vada
rosso e ottieni una costruzione rossa puoi solo
tornare alla versione 1 del componente B e
ottieni una build verde o hai
librerie che sono strettamente accoppiate
attraverso il sistema che hanno dipendenze
attraverso di esso in modo che tu non possa tornare indietro e
avanti così perché se stai andando
costruire un grande sistema complesso e
lo manterrai sempre verde e
Rilasciabile se non puoi fondamentalmente
tira fuori pezzi ogni volta che ottieni un rosso
costruisci lassù, fermerai tutto
codice che progredisce attraverso il sistema e
diventerà molto doloroso il
la prossima cosa è l’automazione del test
Penso che Trisha e la gioia abbiano presentato alcuni
davvero buone informazioni nell’ultimo
un paio d’ore su come fare automatizzato
testare di più al livello di test unitario e
funziona bene se ce l’ hai e molto
di legacy sistemi strettamente accoppiati
spesso non puoi dipendere da questo
perché uno se hai un codice legacy quando
hai intenzione di avere il tempo di tornare indietro
a
e probabilmente ci sono un sacco di test unitari
non realistico da realizzare e se il
codici troppo strettamente accoppiati a Epple
avrò bisogno di un sistema di automazione del test
test per consentire di trovare tutto il
problemi e dare il feedback al
Gli sviluppatori che è necessario questo è troppo
importante essere lasciato al tuo controllo qualità
organizzazione se la lasci a un controllo di qualità
organizzazione che sta facendo manuale
test per anni si automatizzeranno
cosa stanno facendo manualmente e
scoprirai che finisci con a
incubo di manutenzione e si finisce
con codice che non localizza rapidamente
il problema e va bene quando tu
avere un test di 10 100 o 200 300 ma
quando inizi a ricevere migliaia di
test che non funzioneranno
Jeff Morgan ha un buon esempio
di come farlo con il sistema basato sull’interfaccia utente
prova dove hai la logica aziendale
nell’interfaccia utente e ciò che fa è fondamentalmente
usa un sito Web per l’ adozione di cuccioli e
ti insegna come fare questo ciò che fa
è per ogni pagina che crea una pagina
oggetto per ogni pagina nel tuo sito web e
poi quando colpisci quella pagina ha un
data magic gym che automaticamente
lo popola con i dati che tu
bisogno e poi quando scrivi un test tu
dì vai da qui a là se te ne vai
alla vostra organizzazione manuale per fare per
automatizzare ciò che stanno facendo
manualmente per anni cosa andranno
attraverso , diremo ok se io
ho una nuova carta di credito e aggiungo una nuova
funzionalità voglio assicurarmi che
quello funziona la prima cosa che farò e
otteniamo una home page che andiamo a Mann’s I’m
gonna go Blazers Vado al blu
e sceglierò questo potrei aggiungere il
prodotto al mio carrello e vado a controllare
fuori fa una carta di credito funziona bene
funziona bene quando ne hai uno o due
quelle prove ma quando ne hai mille
di quei test che iniziano in casa
pagina e la pagina iniziale cambia
morto nell’acqua ma se l’hai preso
l’approccio del modello a oggetti di pagina quindi loro
non lo fanno e ogni riferimento che
oggetto della pagina l’ unica cosa che devi
andare aggiornamento è che un oggetto pagina che
ti consente di mantenere i test dell’interfaccia utente
aggiornato con il tuo sito web ed evolversi
con esso e andare con esso come viene avanti
questo non è l’ unico modo per farlo
farlo o il modo giusto per farlo, ma si
bisogno di pensare a come la tua applicazione
sta per cambiare nel tempo e
come progettate il vostro sistema così
e cambia necessita solo i test
solo bisogno di cambiare in un posto e tu
può fare riferimento che l’altro problema
con questo test è stato un check-out
test per convalidare che la carta di credito
ha funzionato bene se la squadra della cassa è
responsabile per mantenere quel test
trasmettendo la nostra base continua ed è
scritto in quel modo in cui si imbatteranno
problemi e stai per scoprire che
non avranno la qualità di
quel test perché se la home page si è rotta
o la navigazione si è rotta o qualcuno di questi
altre cose che hanno rotto non lo era
associato a quello che stavano facendo era
non la loro responsabilità e non lo era
il loro codice allora che stanno andando a venire in
e guarda un sacco di test di verifica
rotto e lo assumeranno
devono risolvere qualcosa tua
i test automatici dovrebbero realisticamente
iniziare alla pagina di pagamento dovrebbe pre
popolarlo con tutto il necessario
fare e convalidare solo quella parte di
i codici sono stati spezzati, quindi ho fatto i test
dove sono mantenibili e rapidamente
localizzare i difetti è importante se
farai migliaia e migliaia
migliaia di test e ottenere la squadra
possedere la qualità del proprio codice su un
la prova automatizzata in corso è
Probabilmente lo strumento più prezioso Sono
cercando di capire come trasformarlo
Non so come lo trasformeresti
senza farlo bene penso che sia più
cosa frequentemente sbagliata in
organizzazioni ottiene mantenibile esso
arriva da dove non è mantenibile
continuando e arriva fino a dove è
Non triage in grado in termini di esso automatizzato
essere in grado di guardare il test e
capire cosa sta succedendo è troppo
importante per essere lasciata al vostro QA
organizzazioni che dovresti ottenere
architetto che capisce davvero
programmazione orientata agli oggetti e tiin
loro con le persone di prova e ordinare
di assicurarti di venire con la destra
avvicinarsi quando stai facendo
consegna continua è necessario pensare
su di te puoi fare molto su piccola scala
lungo algoritmo complesso e Jenkins esso
sorta di imposta tutto e lo rende
lavoro ti incoraggerei a pensare
su più dei diversi principi
che stai cercando di ottenere qui
hai bisogno di un innesco che si innesca
Costruisco che dice ho ottenuto un accumulo sarò
buttare via queste cose è necessario chiamare
i tuoi ambienti scriptati e impostalo
su separatamente è necessario per il tuo bisogno
distribuzione automatizzata tua evoluzione
database e il tuo test se si tenta di
costruisci tutto in uno script che ottiene
simile a quello che stai cercando di fare
l’ automazione dei test è quando la tua logica è tua
pensando a come stai
Sono un gasdotto che ha bisogno di cambiare le cose
tempo si finisce per dover aggiornare tutto
questi lunghi script monolitici, se puoi
pensa di tirare fuori quella logica aziendale
nel tuo Orchestrator ti consente di
sfruttare gli script più comuni in tutto il
sistema l’altra cosa che è importante
è se hai intenzione di avere un sacco di
ambienti diversi che sei
lavorando attraverso assicurarsi che tu abbia
script comuni che probabilmente non stai andando
avere ambienti che sono tutti
coerente ma simile come abbiamo fatto in
il business del jib laser in cui hai un XML
quello ha definito separatamente il diverso
i prodotti lo tolgono dal tuo comune
script in modo da avere uno script comune
che lavori tu automatizzi e tu
riprodurlo decine e centinaia di volte
prima di andare in produzione a
assicurati che funzioni e tu solo
riferimento alle differenze ambientali
tra i due luoghi che devi fare
la stessa cosa con il tuo automatizzato
implementazione per assicurarsi che siano comuni
e se hai il tuo team operativo e
il tuo team di sviluppo utilizza diversi
strumenti per questo processo non stai andando
iniziare l’allineamento culturale attraverso
organizzazioni che è necessario averle
lavorando su obiettivi comuni uno dei
i più grandi valori di consegna continua è
quando vai in produzione lo hai
già fatto centinaia di volte e
ha risolto tutti i bug se stai usando
diversi strumenti o diversi processi
in produzione di quello che sei
sviluppo non vedrai il
i benefici di questi cambiamenti evolutivi
database uno dei più grandi
sfide di mantenere il codice sempre
rilasciabile è quando si introduce uno schema
cambieranno molte persone e
dì no, non posso mantenerlo sempre rilasciabile
Devo fare questo cambiamento di schema che abbiamo
per coordinarlo se hai il tuo DBA
portare questo acquisto comprando questo libro
loro lo leggono è risolto che tu aggiungi e
deprecato non si modifica mai pigro
istanziazione se si modifica o modifica
è come incrociare i fasci di gatti grandi
dormire con i cani ogni sorta di male
le cose accadono e tu non puoi avere sempre
codice rilasciabile è necessario fare lo stesso
cosa con i tuoi servizi devono essere
versioni e lavorare attraverso questo processo
quando esegui la distribuzione automatica
spesso ciò che le persone fanno è che sono
distribuire su un gran numero di
server che distribuisci il codice o tu
configurare gli ambienti che si distribuiscono
il codice sul test automatico
e poi falliscono e tu inizi un grande
lungo processo complesso di triage e hai
devo capire quale routing o cosa
il server è in una cattiva configurazione o è danneggiato
stato che può essere tanto complesso quanto trovare
codice cattivo che è stato introdotto nell’ultimo
diversi mesi e cercando di localizzarlo
alla persona che difende e può essere
ugualmente peggio se hai lo stesso
applicazione in esecuzione su diversi
server ma la distribuzione ha avuto esito negativo
su uno dei server perché poi è
molto intermittente qualcuno lo vede quando
testano qualcun altro non lo vede
quando stanno testando la porta attraverso
che ci siamo imbattuti in questo e nell’ultimo
implementazione della consegna continua I
fatto e ciò che abbiamo trovato è avremmo fatto
passare due o tre giorni con la squadra
cercando di riportare il conto in verde e
ci fu un fallimento e ci provammo
hanno capito cosa stava succedendo
bene è abbastanza chiaro qui che tu
sappi non infastidirci di nuovo perché questo
lo spiegamento non ha avuto successo e ho detto
così come si può dire che pure se
vai in archivio e guarda in questi
aree puoi vedere questo oh grande
inizia ad aggiungerlo come test e così via
simile a quello che stiamo cercando di fare
frequenza fatturata e alcune altre cose
per localizzare il codice incriminato al
il minor numero di persone possibile cosa
stai cercando di fare con la tua implementazione
processo è localizzare il reato
ambiente o implementazione al minimo
numero di dispositivi o server di routing come
è possibile iniziare così
configurando i tuoi router e il tuo
i dispositivi server eseguono un test per la convalida
quello che ha successo alla fine di
ogni distribuzione esegue un test per essere sicuro
che tale spiegamento ha avuto successo e
quindi eseguire la convalida del codice quando
sei nel tuo sistema prova questi isolati
in una grande organizzazione complessa la
problemi di codice dai problemi di distribuzione
e non si vuole sprecare il vostro tempo su
queste cose e ogni volta che lo trovi
problemi di distribuzione o ambiente quando
tu corri nel tuo sistema finale provalo
ti dice che hai bisogno di un altro post
test di validazione che è necessario aggiungere
il processo per trovare queste cose e
li localizzi prima quando sei
costruire un sistema complesso di grandi dimensioni
hai un mucchio di grandi agili
organizzazioni ma sei appassionato di COBOL
applicazioni di tipo mainframe come fai tu
costruire e integrare un grande
sistema aziendale come questo il primo
il passo è sempre iniziare con la tua agilità
componenti assicurarsi che hai
unit test che stanno passando e tu hai
ho capito
tipi di analisi del codice di cose che vanno che cosa
stai cercando di fare è rimanere davvero male
codice da entrare e danneggiare il
intero sistema e questo è il primo ideale
passo Non riesco a pensare a nessuna ragione per cui a
sviluppatore sarebbe stato permesso di check-in
il codice dell’unità che non funziona non può pensare
di qualsiasi ragione lo sviluppatore sarebbe
permesso di verificare il codice dell’unità che è
non funziona
Detto questo, c’è una cattiva unità
codice e ci sono cose che possono essere fatte
e le persone lo scrivono male quando lo fanno
realizzerà il dolore di quello che inizieranno
pulendo quelle cose e facendolo
ma se possono controllare il codice e tu lo hai fatto
ho un gruppo che sta fallendo un mucchio
che stanno passando come decidi tu
se vuoi che le persone facciano il check-in o
non il prossimo passo è spezzare il
sistema
Ho trovato la virtualizzazione del servizio che potevi
chiamare un finto si potrebbe chiamare un mozzicone ma
come si isolano certe parti del tuo
sistema in modo da poter localizzare il codice
ci sono tre passi che sei tu
andando a prendere per localizzare uno è costruire
frequenza più frequentemente puoi
costruisci nel miglior feedback possibile
Dai più quello che vuoi
localizzarlo se si conosce meno il numero di
gli sviluppatori il secondo si sta rompendo
componenti che vengono qualificati e quindi
costruito nel sistema più grande, quindi se
hai due organizzazioni diverse una
sulla costa orientale e uno a ovest
costa potresti voler pensare a a
integrazione continua per costruire tanto
di quel sistema il più frequentemente possibile
un sistema che costruisce tanto di questo come
frequentemente come puoi e poi metti il
sistema insieme virtualizzazione dei servizi
dovresti evitare ovunque possibile come
più che puoi perché è qualcosa
hai intenzione di mantenere e
è qualcosa che potrebbe essere diverso
ma quando hai estremamente grande
organizzazioni che abbatte il
complessità e ti permettono di mantenere questo
andando e poi una volta al giorno tu o te
dovresti sempre assicurarti che stai tirando
la virtualizzazione fuori e facendo fine e
testare l’altra cosa importante su
questo è se hai sistemi molto complessi
aggancio a cose come COBOL e alcuni di
quelle altre cose su mainframe se tu
fare test indiani con tutto ciò che è
molto costoso è difficile è quasi
più complesso da impostare quelli grandi grandi
ambienti ed eseguire tutti i test in
il mio ultimo lavoro se abbiamo iniziato con 1.300
prova che abbiamo eseguito circa ogni 10 giorni per
rilasciare il codice su di esso per il sito Web e
base continua quando ho riso eravamo
vicino a 20.000 un test
ogni giorno se avessi corso tutto
quelle prove contro il mainframe e
addebitato per la mia elaborazione sul
mainframe il CFO mi avrebbe dato la caccia
verso il basso e mi ha sparato perché avrei
costano i costi, quindi l’idea era qui
prova quanta parte del sistema torna qui e
quindi se avessi avuto cento test di questo tipo
di finire in test e utilizzare il
servizio in modo simile eseguire il
centinaia di test quando ero in questo
fase della mia pipeline di distribuzione e poi
quando sono arrivato a questa fase ho appena scelto il
uno che ho pensato ha aggiunto il maggior valore
e fare la fine e testare su di esso è
diverso da come molti
le organizzazioni si avvicinano dove sono
vogliono avere il segno cliente off
Test indiani con tutto e te
dedica un po ‘del tuo tempo e impegno
cercando di mettere insieme l’intero sistema
e farlo funzionare l’altra cosa che io
Direi sentito parlare di persone che parlano
prima su come ottieni il tuo
compagni di squadra acquistati e coraggio di mantenere
una banconota verde e farlo funzionare su un
in corso perché quello che otterrai è
un naufragio sul sistema che
tutti devono smettere di sviluppare codice
distribuendolo prendilo in poi su a
regolarmente o altrimenti sai di essere
costruisci solo un tarball e puoi farlo
mai tornare ad un accumulo verde di HP ci
aveva un sacco di roba che stavamo cercando
fatto ho avuto un’organizzazione che respira
in fondo alla gola per guardare la funzione
throughput e cosa è stato fatto e
ci siamo imbattuti in un giorno che sia un
codice intermittente o intermittente
il test è entrato nel sistema e lo siamo
ricevendo bollette rosse e il team di costruzione era
frustrati tutti nel
organizzazione era frustrato il
costruire squadre aggiunte
Please follow and like us: