Press "Enter" to skip to content

GOTO 2016 • Small Is Beautiful • Kevlin Henney


giusto buongiorno quindi c’è un sacco di
cose che le persone in genere non dicono
come mi hai lasciato con i sistemi legacy
cosa faccio lì è la domanda perché farlo
i sistemi diventano legacy quali sono i
proprietà di un sistema legacy e questo
è in realtà qualcosa che corro in workshop
Chiedo alle persone cosa caratterizza
eredità e faccio in modo che le persone si mettano in lista
proprietà dei sistemi legacy perché
ci sono molte cose che si qualificano come
eredità ci nascondiamo dietro la parola
eredità a volte significa molto molto
cose diverse per le persone che usano quello
termine può significare cose abbastanza diverse noi
può parlare di un sistema che è
semplicemente usando la vecchia tecnologia che non è così
come possiamo usare possiamo parlare del
parola legacy significa codice che qualcuno
altrimenti ha scritto che non ero io che è uno di
le definizioni più popolari ma una di
le cose le persone una delle cose che
la gente finisce invariabilmente con
ad un certo punto c’è una sorta di senso di
dimensione e vado a prendere su piccolo
oggi solo di tutte le tante cose che
potremmo parlare di cui parlerò
sul problema delle dimensioni a volte correlato
alla semplicità non sempre
quindi sto anticipando il fatto che
a volte la gente viene da me e mi dicono
si ma non hai parlato
semplicità o non hai parlato di quello
bene che hai quando parli
si suppone di attenersi a una sorta di
cosa ma girerò intorno abbastanza a
molto fisicamente e intellettualmente
si spera, ma le persone in genere non dicono
oh sì, quel sistema legacy è così piccolo
loro non si lamentano di come oh si il
sistema legacy la cui base di codice è circa
la giusta dimensione è che non c’è mai
un senso c’è sempre un senso di
ci sono troppe cose e questo è un
idea duratura e quindi c’è una domanda
di sostenibilità quindi mi sono vergognato di meno
rubato il titolo in effetti l’ispirazione
in definitiva per questo discorso viene da questo
prenota qui e il piccolo è bello
pubblicato nei primi anni ’70 97
tre formiche schumacher un economista che
ha effettivamente creato ciò che ora pensiamo
come una forma più responsabile di economia
l’idea che tu non operi in un
vuoto e che forse c’è un
questione di sostenibilità e così e
è un vecchio libro adorabile e sono andato
di nuovo ad esso di recente è una specie di
interessante vedere la vista dal
Anni ’70 ora che siamo nel 21 ° secolo
e quanto ha sbagliato, ma anche come
molto ha avuto ragione e c’è un sottotitolo
qui uno studio di economia come se le persone
importava così posso rubare che sto andando
andare con piccolo è bello e tu
sapere a proposito se non hai bambini
ancora dare loro un nome unico su Internet
loro ti ringrazieranno ad un certo punto, okay
i miei genitori sono riusciti a farlo prima del
Internet esisteva che è un atto importante di
pressioni da parte loro ma tu hai no
scusa l’ ho fatto per i miei bambini
okay, l’ho fatto quando sono nati
Ho cercato solo per assicurarmi che lì
non sono stati successi per cognome e nome
sai quando è entrato il mio figlio maggiore
Twitter papà quale nome dovrei usare ho detto
prova solo un cognome come me
Dice che è disponibile, ho detto sì
quel momento aveva tredici anni nel
facendo in modo che tu possa offrire questo servizio
ai tuoi figli va bene comunque un discorso
codici che la gente importava questo è un
interessante uno dei più sorprendenti
cose che abbiamo scoperto nell’ultimo
decennio o giù di lì si scopre software
gli sviluppatori sono esseri umani che conosco
significa come è successo ma che cosa
significa che gli esseri umani hanno un
particolare insieme di proprietà comfort come
interagiscono l’ uno con l’altro che ottiene
riflette nel codice che proviamo spesso a
pensa al codice in qualche modo separato
dalle persone che ci lavorano e questo
ci dice anche sul perché le cose si fanno fuori
di controllo e ottenere un po ‘ma c’è anche
un altro aspetto parla di codici di
l’economia contava perché c’è questo
idea che le persone siano sempre a caccia di a
scadenza c’è sempre una ragione per cui
stanno facendo qualcosa nel modo in cui
è bene
a volte è una scusa non una ragione
ma vale la pena in realtà tipo di trazione
questo indietro e dicendo resisti fa questo
in realtà ha senso è questo il giusto
modo di investire nello sviluppo e fare
le cose quindi è il tipo di più grande
immagine
ora sono fuori da tutto ciò che ho menzionato
la parola sviluppo sostenibile e
il tipo di lavoro di Schumacher alla fine ha portato
a questa osservazione nel Brundtland
rapporto diretto dall’ex norvegese
Primo Ministro ONG harlem brundtland
alla fine degli anni ’80 che stava guardando
agricoltura sostenibile sostenibile
economie e così via e sto facendo
qualcosa di molto meno interessante qui io sono
parlando di software ma il
definizione di sviluppo sostenibile è
un interessante perché è
qualcosa che possiamo appropriarsi così quando
alla fine le parole agili e magra perdono
allora forse possiamo usare
sostenibile come un modo di tipo di dire
la stessa cosa ma dandogli una nuova etichetta
sviluppo sostenibile questo sviluppo
che soddisfa i bisogni del presente
senza compromettere la capacità di
le generazioni future per incontrare le proprie
ha bisogno di così faranno subito vediamo che
la sfida dello sviluppo è a
colpisci questo equilibrio se non ne hai mai bisogno
preoccuparsi delle generazioni future quindi
va bene, puoi solo spegnerlo
qualsiasi cosa e hai finito, ma normalmente noi
devi preoccuparti del futuro
generazioni anche se non siamo noi stessi
di solito c’è qualcun altro che ha
per prendere il codice normalmente c’è un
rilasciare – che cosa è che andando a guardare come
e questa diventa la domanda che non è
ma le persone sono così concentrate sulle iniziali
rilascio e prima versione e poi il
la prossima versione diventa un’altra prima
rilasciare senza rendersi conto che c’è un
tutta la processione di comunicati e forse
che questo è un sistema di release emini
c’è un modo migliore per avvicinarsi a questo
alle altre mani ci ritroviamo a volte
il grande sovracompensante
architettura i grandi progetti aziendali
i progetti globali che ho attraversato a
fase di notificare e visitare le aziende
officine o persino lavori a contratto
quando ho notato che la parola globale è stata mantenuta
apparire nei loro nomi di progetto o
impresa e quando un progetto acquisisce
quel nome sai che è condannato, va bene
proprio come questo sarà
No in modo che sia il punto è che questo è
il futuro che non arriverà mai
non c’è presente quindi questo è
equilibrio e l’equilibrio è il bit
è difficile quindi esploriamo questo a
un po ‘prima di tutto
con l’ idea che non tutto è
sta per essere piccola, ma che tutto
ha una scala appropriata c’è a
giusta dimensione per certe cose
la domanda è che siamo in grado di arrivare a quello
la dimensione è in definitiva una ottimizzazione
il problema qui è il sistema che vorresti
come ed ecco il sistema che hai
quanto sono diversi quelli non solo in
termini del dimensionamento fisico delle cose
come il codice sorgente che stiamo andando
venire ad essere qualcosa che tu
devi metterti in testa ma in realtà
termini dello sforzo di sviluppo, così noi
può avere un senso di ciò con un po ‘
di Shakespeare e di C appena siamo dentro
Danimarca sceglierò Amleto Principe di
Danimarca e così da quando questo è abbastanza
classico essere o non essere quello è il
domanda questo è abbastanza classico come
ci avvicineremmo se fossimo
scrivendo questo nel marketing parla o
gli affari parlano bene, abbiamo un
rispondere a questa domanda Tom Burton e
le sue lunghe parole del libro mi infastidiscono come è andata
andare alla continua esistenza o cessazione di
esistenza quelli degli scenari è esso
più responsabilizzando mentalmente verso cui lavorare
una sistemazione dei downsizings e
esiti negativi delle circostanze fzero
o sarebbe un grande ecc ecc. e tu
sapere come un sacco di sviluppatori scrivono
anche questo in realtà scrivono
questa gente ne ha alcuni davvero
idee pazze su come stendere il loro
codice sai che è solo dice oh guarda
Ho uno schermo IMAX, quindi spingerò
tutto fuori qui e userò
nomi davvero lunghi per essere davvero utili
come vediamo più grande è la parola non lo è
necessariamente più impressionante si finisce
con la denominazione omeopatica in cui aggiungi
sempre più ai nomi degli identificatori
sempre più stai diluendo il
significato ulteriormente e ulteriormente in
non è rimasto assolutamente nulla quindi andiamo
torna a questa domanda di vincoli
e resta con Shakespeare per un momento
questa è la mostruosità e Lovelady
che la volontà è infinita l’esecuzione
può scoprire che il desiderio è illimitato in
l’ attore schiavo di limitare così non c’è
questa idea che l’immaginazione umana è
abbastanza bello possiamo immaginare tutti i tipi di
il problema è che siamo noi
alla fine limitato a ciò che possiamo
distribuire ciò che possiamo scrivere cosa
importante che possiamo effettivamente tenere nella nostra
teste che si rivelano essere la larghezza di banda
limitazione di ciò che si può effettivamente
ragionevolmente in attesa quindi c’è questo
concetto che una buona architettura è un bene
codice di base è un buon pezzo di codice
qualcosa che a un certo livello puoi
tieni in testa e ragiona
comodamente nel momento in cui trabocca il
più difficile diventa ragionare su e
all’improvviso ti rallenti, sei di più
probabilmente per introdurre difetti sei di più
probabile introdurre debito tecnico
è più probabile che tu non tocchi nulla
affatto perché sei solo un po ‘
cauto non sei sicuro al 100%
lo capisci ed è così che tu
crea un po ‘come uno dei modi in
che crei un grande sistema è quello
tipo di esitazione che un fatto che tu
non può ragionare su questo no
significa che non costruiamo grandi sistemi
significa solo che abbiamo creato un sistema
che sembra grande mentre tu vuoi
creare un sistema che ovunque tu sia
si sente locale che puoi cogliere il
concetti intorno a te, quindi si scopre che
questa è la tua larghezza di banda ora ovviamente noi
può andare all’estremo di dire bene
parliamo di estrema piccolezza e
ultimo vincolo il mio esempio preferito
che ho in realtà un aggiornamento per è
questo pezzo di codice inizia la giornata con a
un po ‘di assemblatore, penso che alcuni di voi lo siano
ancora avvio così qualcosa in modo equo
un livello basso come questo dovrebbe probabilmente adattarsi
tu
questo è il codice z80 che gira su una corsa zx81
il tempo presente credo abbia funzionato sia scritto
nei primi anni ’80 1982-83 da un ragazzo chiamato
David Horne a cui si riferiva
sviluppatori di giochi oggi come rana Lee come
essere il miglior programma mai scritto
che è piuttosto un reclamo ma in realtà
ottenuto un abbastanza ragionevole considerare che
questo è un programma di scacchi , voglio dire che non lo è
esattamente lo sai blu profondo ma questo è un
programma di scacchi ed è fatto per adattarsi a
1k spazio di memoria va bene questo apprezzamento
di un kilobyte infatti per la precisione
questo non si adatta a 1k se è 672
byte perché il runtime deve prendere
un po ‘di spazio
questo è LX 81 quindi 672 byte che è 4.8
i tweet non puoi nemmeno descrivere le regole
di scacchi in 4.8 tweet ancora questo gioco
questo intendo quando dico che potresti andare a
poche sedute di apprendimento profonde non lo è
andando esattamente a competere con quelli ma
può riconoscere un pareggio e una vittoria possibile
gioca le regole base degli scacchi, quindi non lo faccio
penso che abbia trasmesso i bit di base di
pezzi come questo e può giocare contro
tu sei semplicemente impressionante, ovviamente
qualcuno ha dimenticato di dirlo a David Horne
non era possibile, così è andato avanti e
ha fatto ora perché è questo perché è questo anche
remotamente pertinente bene è tipo di
divertente io non ho intenzione di affermare che questo
il codice è brillante ma le probabilità sono
che il ragionamento dietro di esso è molto
sfida che ha preso è il
la cosa a cui siamo interessati è quando
qualcuno dice come non puoi farlo
ci sono ottime possibilità che tu possa
e questo è il vero limite che tu
ha detto che non puoi farlo con permetterà
per superare questo, quindi c’è molto
buona causa per questo è esattamente quello che
è ora che ho usato questo esempio un numero
di volte prima o di essere in un notevole
esempio di codice interessante ma in realtà
recentemente un paio di anni fa, in effetti, l’ultima volta
anno
Olivier Pooh papà è riuscito a creare boot
gli scacchi che si adattano al settore degli scarponi dicono
512 byte, quindi è ancora più piccolo
è davvero impressionante quindi è così
questo è mezzo K Sì, ora, perché è questo
rilevante perché questo rilevante a tutti
perché ovviamente non ho intenzione di dire
dovremmo tutti scrivere codice oscuro che siamo
già lo faccio comunque è chiamato
codice per una ragione e ovviamente c’è
un aspetto particolare qui è una cosa del genere
un’opera d’arte in un senso è un unicum
risultato di un temperamento unico
ma è solo un promemoria
in definitiva quando crei le cose
come il test agile david evans osservato
i tuoi clienti non comprano il tuo software
dalla linea, se hanno fatto che sarebbero stati
ottimo per alcune persone e basta digitare
più semplicemente continua a digitare perché tu
guarda alcuni sistemi e pensi sia
questo in realtà stanno incorporando e
codice di codifica è una parola che possiamo giocare
con te stai codificando business
Conoscenza stai codificando tecnico
la conoscenza stai portando tutto
insieme e a volte guardi
a un pezzo di codice e stai pensando
questo è un modo davvero lungo di fare
questo tu guardi un’interfaccia e tu
penso che questo sia ridicolosamente prepotente
e l’interfaccia heavyweight c’è così
molto qui e ancora per così poco
funzionalità quindi ci sono queste domande
che vengono in mente ma la sfida
non dovrebbe essere intorno a questo c’è
c’è qualcosa di più profondo che vogliamo dare la gentilezza
di ragione riguardo e abbiamo questi adorabili
esempi sui vincoli uno dei miei
una sorta di classici preferiti e senso di
come le persone hanno creato e ragionano
queste cose è questo libro entro la fine
John Lyons , professore al
L’università del New South Wales era
correttamente negli anni ’70 voleva
scrivere che voleva correre in un’università
corso su sistemi operativi e lui
voleva eseguire un vero sistema operativo lui
volevo qualcosa di autentico che non fosse
progettato per gli studenti, quindi ha voluto un
esempio dal mondo reale e lui così lui
riuscito a mettere le mani su di recente
codice rilasciato e sai che non c’era
internet per parlare di ma il codice a
il codice della sei edizione di UNIX
e poi e annotarlo scrisse in su
e l’ho descritto come puoi vedere prima
come è stato pubblicato come un libro è stato
sarebbe passato in giro da persone samizdat
sostanzialmente fotocopiare le note qui
tutto il tuo sistema operativo e
annotazioni ora per quelli di voi che sono
un po ‘giovane una fotocopiatrice è un tipo
di scansione socializzata va bene
sì, è che non si scansiona da solo la scansione
le altre persone che ti piacciono in
biblioteca universitaria sperando che qualcuno
tu sai e vuoi parlare, verrà
da e sì come un’esperienza sociale così
che questo era che questa era la premessa
qui ma la cosa fondamentale qui è che il
il colonnello era sotto le 10.000 linee di
codice
Il 95% di cui era scritto in C era
scritto portabilmente solo il 5% di cui era
scritto in assemblatore e questo
è importante così al momento era
assolutamente uno questo è qualcosa
non puoi farlo non puoi scrivere un intero
sistema operativo che è retarget in grado
in una lingua che è retarget in grado di farlo
era un articolo di base di fede sempre
deve essere assemblatore o la maggior parte di esso deve
sii assemblatore ma qui abbiamo lo stesso
kernel non è semplicemente l’essere della shell
espresso in un modo che è il portale e noi
guarda il codice e guarda
attraverso qualsiasi altrimenti abbastanza antiquato
Lo stile C è un’area molto diversa
convenzioni e ciò che è stato definito essere
buono eppure allo stesso tempo lo hanno fatto
cose come scrivere codice in file separati
che 10.000 linee non sono tutto in uno
posto e ancora vedo le classi che hanno
questo tipo di linea conta se non è più grande
ci sono lezioni là fuori nei sistemi
per cui alla gente viene pagato un buon prezzo
ci sono lezioni là fuori che hanno
il loro campo gravitazionale e noi
sapere del pianeta è più teoria di
formazione pianeta hai qualcosa
lì e ha una dimensione particolare altro
le cose sono attirate verso di esso a causa di
il campo gravitazionale e diventa
sempre più grandi finché non ne hai uno
hot Jupiter di un sistema legacy ok hai
finito con questa cosa è appena cresciuto
nessuno pianificato in questo modo intendo persone
di solito non lo faccio, non ci credo
questo succede ma se hai qualcosa da fare
contraddire questa gente non si sieda
e dì ok, stiamo andando a costruire un
nuovo sistema come lo faremo io
penso che dovremmo essere davvero grandi
classi che con molta duplicazione
assolutamente dovremmo renderlo testabile
assolutamente no
okay sai che penso dovremmo saperlo
Penso che dovremmo sapere se lo siamo
lottando per un nome per le cose che penso
dovremmo usare nomi come manager e e
e processore, controller e roba
così e spargere il
responsabilità attorno al codice che
causerebbe più confusione di duplicazione
e penso che abbia messo un capannone a tuo carico
di persone sul progetto pure e
stiamo andando a rendere questo davvero oscura
nessuno lo capirà bene
rendilo così non è come le architetture
sono creati spero ma c’è una chiave
indica qui che c’è una sfida
qui che è stato incontrato che ci sono sotto
10.000 linee che sono state in grado di creare
un sistema operativo mentre a volte
guardi qualcosa e cos’hai
riuscito a fare siamo riusciti a prendere un
messaggio e elaborarlo in un altro
formato che ho avuto con un client è
come se fossero 20.000 linee, buon Dio intendo
chi è questo non è un problema risolto così noi
avere questa osservazione questa osservazione
è stato fatto abbastanza presto in UNIX è la vita
il compianto Dennis Ritchie e Ken Thompson
C’è sempre un documento 71-72 su UNIX
stato abbastanza severo vincoli di dimensioni
il sistema operativo UNIX e il suo
software dato parzialmente
desideri antagonistici per ragionevole
efficienza e potenza espressiva delle dimensioni
il vincolo ha incoraggiato non solo
economia ma una certa eleganza del design
e questa è la cosa interessante è
che stanno effettivamente lavorando con
costrizione non semplicemente contro di essa e noi
spesso supponiamo che un vincolo sia un
cosa negativa da avere ma voglio provare
e tornare al punto del perché io
ha mostrato il programma di corni di David non è
perché sto dicendo che dovresti scrivere
codice oscuro e piano degli scacchi che conosci e
codifica programmi di scacchi in piccoli bit di
il tuo sistema aziendale, quello che sono in realtà
dire è che puoi usare apparentemente
vincoli arbitrari a vantaggio del
l’ immaginazione umana è davvero infinita
parola ma la volontà è davvero confinata se
puoi trovare quel vincolo che vuoi
probabilmente trovare qualcosa di valore per aiutare
guidare l’architettura e quella cosa a
il valore può cambiare ma una volta ottenuto ciò
hai un autista e vediamo questa volta
e di nuovo intendo dire che Donald Knuth ha osservato
una cosa piuttosto curiosa che ho notato
sulla soddisfazione estetica è nostra
il piacere è significativamente migliorato quando
realizziamo qualcosa con limitazioni
utensili
okay e sai come dice lui, sì
una persona si sente un vero virtuoso
realizzare qualcosa in condizioni così gravi
restrizioni ma non è il solo
persona per rendere questa osservazione che siamo
parlerò dei virtuosi a circa
Stravinsky il più i vincoli più
uno impone il più unfreeze se stessi
e l’arbitrarietà del vincolo
serve solo per ottenere la precisione di
esecuzione è necessario trovare il
i vincoli nel tuo sistema non lo sono
questo è sempre ovvio all’inizio
questo è così questo è diventato a
problema di hillwalking quello che stai provando
fare è trovare i vincoli che
caratterizza il tuo sistema e trova il
spazi che ti permettono i tuoi gradi di
libertà e una volta che l’hai trovato allora tu
pensa di lavorare contro quello che ti darà
un ridimensionamento più naturale che puoi rivelare
dimensionamento naturale di un sistema quindi che cos’è
che in quel caso sta contro il nostro
assunzioni bene è un po ‘carino
osservazione da un programma conosco Chris
Allwood non è un monitor netbook un po ‘
piccolo sapere se il codice non si adatta a questo
è troppo complicato e c’è un grande
caso per cui voglio tornare a questo
osservazione intendevo fatta in precedenza sul
modo in cui a volte le persone rispondono
come si strutturano il loro codice che
strutturarlo secondo il loro
dimensioni dello schermo disponibili e in questi giorni per
sviluppatori che sono quasi un quasar IMAX
sai che sono un po ‘ seduti lì
di fronte a una tripla testa di 4k
risoluzione e sono come sì sì
bene non ho problemi con un nome
questo è di 120 caratteri perché io ho
ha lo schermo per questo ed è come
stai risolvendo il problema sbagliato
il problema qui è che c’è un umano
essendo si scopre che siamo umani molto come
le nostre dimensioni dello schermo si sono evolute si trasforma
fuori che il sistema visivo deve ancora
recuperare il ritardo e quando in realtà si deve
gira la testa per leggere la fine di un
identificatore sai che è un brutto segno
quando la nostra linea di codice sorgente ha il suo
microclima diverso alla fine
della linea a quella all’inizio
non è un buon segno, quindi l’ hai fatto
con un cliente un paio di anni fa siamo
basta passare attraverso il codice e in realtà
Devo dire ma il loro codice era
in realtà era all’interno di 8080 colonne
tranne ogni ora e poi qualcosa
sarebbe appena andato fuori era una specie di tipo di
sembra divertente come guardare un simile a
battito cardiaco qualcosa che sai questo è un
bit Sono uno schermo goth un po ‘complesso
algoritmo un po ‘
che cosa fa quella formula così siamo entrati
ricerca del lato destro che conosci
noi abbiamo le nostre pistole blunderbuss e noi
abbiamo la nostra attrezzatura da caccia appropriata e noi
uscito allo scoperto abbiamo trovato una linea
quello era 360 colonne lungamente che conoscete noi
tipo di quasi voluto farlo mettere
un extra di cinque personaggi lì così noi
avere una colonna per ogni giorno del
anno e il punto è che non è così
umano che non funziona con gli umani e
allo stesso modo il modo in cui a volte le persone
colpirà il limite di 160 colonne e dirà 80
colonne che è solo così anni ’70 è come
no no ha a che fare con il visivo umano
percezione solo se ti interessa davvero
su come la gente lo legge risulta che lo sono
andando a darti brutte notizie 60 colonne così
dicendo 80 a 100 siamo stati tranquilli
generoso si scopre che siamo molto
più comodo intorno al 50 a 60
guarda come sono organizzate le pagine yeah
in altre parole il tuo codice definisce il tuo
codice sorgente codice in realtà definisce un
esperienza per un utente che è un utente
sviluppatore e come funziona il loro visual
sistema funzionano come sono in grado di bloccare
e la ragione delle cose quindi c’è un
una sorta di chiamata qui un qualche tipo di equilibrio
e il ragionamento, ma anche questo dice
qualcosa sulla nostra capacità di rompere un
problema in basso e ragionare su di esso
chiaramente la cosa di dimensionamento è importante
con quanta facilità riesci a cogliere cose che ricordo
una visita ad una compagnia un paio di anni fa
dove si lamentavano del
debito tecnico il primo giorno che eravamo
parlando di debito tecnico come pure
bene ero lì per parlare e poi
c’era questa discussione in serata
Sono uscito per un pasto e ho detto che lo farei
Mi piace davvero vedere un codice come noi
abbiamo parlato di come abbiamo disegnato gli schemi
lavagne e sai di cui hai parlato
cose ma mi piace davvero vedere cosa
il codice è come tale quindi ho abbinato il
seguente avvertimento con uno dei
sviluppatori e tu conosci solo una specie di
ottimizzato un paio di test
guardato il codice e il codice guardato
abbastanza buono per me devo dire e poi
il momento che rimarrà sempre con me
è tirato su schermo un metodo e
è montato sullo schermo e ha detto questo
Carolyn questo è ciò di cui sto parlando
questo è il problema, sì ha detto guarda
che è un tale casino che sai che è così
è grande come va bene, grazie
ho calibrato il tuo sistema per me se
questo è il peggiore che puoi farmi vedere
non ho un problema di debito tecnico okay
Detto questo, ci sono persone
sono stati uccisi per i metodi che si adattano a un
schermo questo è il peggiore che doveva mostrare
eppure potresti ragionarlo sì
era un po ‘complicato in posti ma quello
era in realtà un riflesso della natura
del problema non un riflesso di
il caos del codice sorgente non era un
riflesso di confusione pensando che
iniziato su quella strada come se non fossi
sicuro di quello che sta succedendo qui permettetemi di aggiungere
qualcosa piuttosto che modificare ciò che è dentro
posto e quindi c’è quell’idea che
questi vincoli apparentemente arbitrari
può aiutarci a ragionare sulle cose
ovviamente devi generare risposta in a
modo ragionevolmente razionale non fare ciò che io
non ha soddisfatto questo ragazzo, ma si trovava a un
posto che ero abituato a lavorare ed è lontano
abbastanza indietro che quando la gente parlava
sulla dimensione delle procedure o dei metodi
nel codice parlavano di stampati
pagine e l’idea è quella della routine
non dovrebbe andare oltre una pagina stampata così
questo ragazzo ha risposto nel modo in cui molti
gli sviluppatori lo farebbero con l’ingegno e lui
ha lavorato intorno a ciò che ha visto come un
vincolo arbitrario in modo da scrivere il
codice come voleva stampato tutto e
poi basta delimitare i confini e
quindi rompere tutte le procedure di
quei livelli sì, quindi hai un
punto arbitrario qui e chiamato versione
la cosa a questo punto che non l’ha fatto
avere l’ effetto desiderato che non è il
tipo di vincolo di cui stiamo parlando
ma possiamo continuare così, ho parlato
sul codice locale e sull’idea
di creare un intero prodotto basato su
questo tipo di pensiero per quanto riguarda il
idea di presentare realmente un’idea
il mondo è questo è interessante
quel John O’Dell ex redattore
rivista un paio di anni fa era
riflettendo sul wiki di Ward Cunningham e
ha detto che sai che qui è l’originale
email 19 anni fa ho ricevuto questa email
da Ward Cunningham John quindi cosa fai
pensa a wiki, l’ho messo su un anno e a
Mezzo fa, quando gli strumenti di authoring HTML erano
scarseggia penso che abbia retto
piuttosto bene, suppongo che siano giorni
numerato risulta abbastanza bene i numeri
ancora grande c’era qualcosa al riguardo
noi chiamiamo wiki nature che è insomma
fornitura in rete e nei computer in
generale e questo è ancora vero 20 anni
su c’è qualcosa di veramente profondo
quello che Ward ha fatto è stato sapere che questo è il
cima e coda di uno dei primi
versioni del wiki e che ho usato per appendere
è stato pubblicato sul c2 comm wiki originale
una piccola comunità lì ma
in realtà si è rivelata molto utile
e c’era una facilità d’uso
a questo proposito che è venuto dall’introduzione
di vincoli arbitrari che non potevi
appena inserito HTML non era un HTML
strumento di authoring e ha avuto un molto semplice
modello di collegamenti semplicistici anche di fatto
è così ingenuo che è incredibile
popolare a tutti, ma questa è l’idea
c’è un’idea qui che voglio raccogliere
alla fine circa la semplicità del
approccio che ha portato a qualcosa che era
facile da scartare non parliamo abbastanza
riguardo al codice scartato a volte parliamo
sul codice usa e getta e che non ottiene mai
buttato via hai notato che usiamo
usiamo le metafore così male che è proprio come
sì, ho appena scritto questo throwaway
codice ora cosa succede normalmente è quello
lanciare un bit di codice diventa il tuo sistema o
in un buon caso potresti averlo appena fatto
in realtà solo meglio con qualcosa
codice usa e getta a cui arriva il tuo collega
sei mesi dopo e dici di te
sappi che è il codice usa e getta che hai scritto sei
mesi fa per fare bla bla bla e te
di ‘si, potrei dargli un’occhiata sì?
assolutamente nessun problema, voglio che tu lo faccia
pausa per un momento e pensare alla
parole buttare via ho buttato via, ma
eccolo sei mesi dopo , no
cadere in un vortice temporale in cui riapparire
questo punto nel tempo quello che succede è noi
non l’ho buttato
c’è un concetto molto semplice nel
il mondo reale di ciò che significa “usa e getta”
significa quando lo butto via non riesco a ottenere
indietro non buttiamo via queste cose
in genere ci aggrappiamo a loro, ma lì
è un’idea qui di una proprietà che noi
non valorizzare abbastanza abilità di scarto
possibilità di dire che c’è un pezzo di codice
e quel tipo ha funzionato bene per noi
ma ora ho un’idea migliore e lo sono
felice e libero di buttarlo via
solo puramente da un punto di vista umano
più grande è quella cosa, meno è probabile
devi buttarlo via
okay, la cosa più grande è questa
questo porta alla fallacia dei costi irrecuperabili
qualcosa di più grande è lo sforzo più si
acquisisce intorno a noi meno probabile noi
sono per buttarlo via meno probabile noi
è quello di sperimentarlo meno libero
ci sentiamo perché in realtà non lo facciamo davvero
buttare via le cose abbiamo solo diverso
versioni di cose che è uno dei
fascino dello sviluppo del software e
probabilmente una delle ragioni abbastanza
di persone nello sviluppo del software
fantascienza in un modo o nell’altro
è il fatto che tu giochi con
realtà alternative su base giornaliera
puoi giocare con mondi costruiti
arrivi al viaggio nel tempo intendo che lo sai
quello è abbastanza che è abbastanza grande
affare sì, c’è tutta questa idea
in altre discipline a cui non arrivano
viaggio nel tempo, mentre possiamo andare tutti
non intendevo farlo tornare dentro
passo temporale nel TARDIS purtroppo
non abbiamo quel tipo di cerimonia
fa sembrare eccitante, ma sarebbe
un po ‘freddo se ogni volta che hai fatto un
disfare che hai il tipo di deformazione
suono del TARDIS si, solo per ricordare
tu che quello che stai facendo è in realtà
abbastanza interessante sei in viaggio
indietro nel tempo puoi andare nel tuo repository
e tornare indietro nel tempo e navigare in un
realtà alternativa non lo facciamo noi
giocare abbastanza con questa idea è a
vantaggio fondamentale che ci consente di
crea piccole cose e buttale via
quindi questa è la cima e la coda del
file Perl originale per il wiki in modo che il
wiki è stato realizzato in Perl, intendo dire buon dolore
è la mia lunghezza preferita che non sono
anche se è un linguaggio di programmazione
così un mio amico una volta lo descrisse come
rumore di linea eseguibile e penso che lo sia
ancora giusto
ma sono 150 linee di codice che sono le
superiore e la coda di essa
eppure voglio che tu immagini se tu
dato che a una squadra in un’impresa ii
organizzazione ciò di cui abbiamo bisogno è un
cosa web modificabile interattivo ok lo faremo
torna da te tra diciotto mesi e
poi sono sopraffatti da sei mesi questo è
solo così piccolo è così ridicolo
è un’idea che sicuramente potrebbe
non funziona mai eppure lo fa e ha
l’opportunità di crescere per questo
quindi Hemingway aveva ragione
s tu il monumentale evita l’epico tutto
i ragazzi che possono dipingere benissimo
le immagini possono dipingere le più grandi così
questo è questo problema che cosa abbiamo
finito con è una cosa dimensionamento oggi siamo
soffre di un’idolatria quasi universale
del gigantismo è quindi necessario
insistere sulle virtù del più piccolo
dove questo si applica ma il problema è
probabilmente si applica in più casi di noi
rispettalo e questo a volte quando tu
ottenere una conversazione con le persone cosa
vi ritroverete con è lo sai che faccio lo faccio
una sessione come questa in una conferenza o io
Dì qualcosa in un workshop in un’azienda
e qualcuno va yeah qui stiamo dicendo
ma il nostro sistema è speciale, è dieci
milioni di righe è mezzo milione di righe
è tutto e siamo speciali quindi
quindi non possiamo farlo fidati di me
ognuno è un fiocco di neve speciale che è
l’intero punto del software è
a proposito dello sviluppo del software
creare differenziazione non è un
processo di produzione quindi tutti lo sono
alla fine sarà diverso e
tutti stanno lavorando contro interessanti
i vincoli ma è il problema sono le persone
pesare e dire che il nostro sistema è speciale
senza mai chiedere davvero perché è così
particolarmente grande perché è quello che hai
dovevo organizzare eserciti per fare il lavoro
che tipo di porta alla domanda di
perché questi sistemi diventano grandi sono
abbiamo esaminato un paio di motivi ma
prendiamo una presa diversa io sono
andando a prendere in prestito da un mio amico
Hanlon Kelly che è stato creato
un caso molto forte per questo
comprensione dell’economia di
software e l’economia del team
dimensionamento e lavoro di squadra e lui dice
lo sviluppo del software non ha
economie di scala se non altro
lo sviluppo ha
economie di scala e questo è questo
è questo è abbastanza questo è abbastanza difficile
ragionare su perché da molto
la tenera età ci è radicata nell’idea
di economie di scala è una specie di parte
della lingua e dell’esempio che usa
è questa idea di se si ottiene un che usa
cartoni di latte Sono più propensi a usare il vino
occhiali okay ma c’è questa idea
se mai comprassi una bottiglia di vino in un
ristorante se dovessi comprare il
numero equivalente di occhiali al costo di
gli occhiali sarebbero molto più di quelli
bottiglia di vino c’è un’economia naturale
di scala ti venderò dieci per il prezzo
di otto per qualcosa che conosci il mio
il figlio più giovane ha dovuto fare questo esercizio a
scuola dove sapete andò via e
ha fatto questo piccolo progetto e ha investito
soldi e poi provare a vendere cose a
altri bambini e genitori e tutto il resto
esso questo è ciò che accade quando si fa
brexit sai che è un gioco improvviso
devo capire dove diavolo è il
i soldi arriveranno così ora siamo noi
sì, lavoro minorile, ma se ne vuoi
matite che conosci che il mio figlio più piccolo può fare
un vero affare su di loro perché quello
era una delle cose che lui e il suo
il migliore amico è venuto fuori era lo sai
sì, quello che faremo è divideremo a
offerta speciale ti daremo cinque
matite per il prezzo di tre non lo è
Wow, è stato abbastanza buono, ha capito
economie di scala prima di lui
ha compiuto dieci anni è radicato in noi molto
molto profondamente quindi non c’è questa idea che
quando qualcuno dice che abbiamo bisogno di questo software
sistema è proprio quello di cui abbiamo bisogno
più grande architettura abbiamo bisogno di squadre più grandi
abbiamo bisogno di più persone che non sappiamo nemmeno
lo stiamo facendo perché è così cablato
nella spina dorsale del nostro pensiero non lo è
anche se succede qui va bene, è molto
si sta preparando nel cervello dei rettili
quindi c’è questa sfida di cui abbiamo bisogno
per tipo di pausa e pensa che forse è questo
non nel modo in cui facciamo forse quello che stiamo facendo
stiamo pensando con o attraverso le idee
e ciò che noi chiamiamo pensare è
generalmente l’applicazione di
idee preesistenti ad una determinata situazione
o insieme di fatti guardiamo una situazione
attraverso una lente di esperienza e abitudine
e forse dobbiamo sfidarlo
e non ci sono mai sottovaluti come
forza molto la tua situazione
idee esistenti e anche l’organizzazione
in giro
tu eserciti ora è diventato tradizionale
per fare riferimento a questo documento ma così quindi
Lo faccio leggermente diversamente questo è
in realtà la carta originale di Melvin Conway
come fanno i comitati a inventare nel 1968 così è
non una specie di look retrò, quindi cerco
qui questo è in realtà un vero retro
prima che la luna atterraggi solo per mettere
questo in prospettiva e un Melvin Conway
ha fatto questa osservazione che è stata
osservato casualmente ma anche da allora
verificato un numero di volte sì il
tesi di base è che le organizzazioni che
i sistemi di progettazione sono vincolati a
produrre disegni che sono copie del
struttura di comunicazione di questi
organizzazioni in altre parole la strada
che il tuo sistema uscirà è da fare
con il modo in cui organizzi il tuo
le persone e come le persone comunicano
l’ uno con l’ altro e questo è un
idea importante perché è come le persone
in realtà comunicano ciò che sta dicendo
qui il problema è che abbiamo un
visione idealizzata delle organizzazioni che pensiamo
il modo in cui le persone sono organizzate
è seguire qualcosa come un Ram organico
una decomposizione gerarchica si tu
devi avere il Dipartimento che hai
il percorso della compagnia e tu hai
capi dipartimento e poi hai
persone che effettivamente al lavoro ed è
tutto bello e in alcune aziende questo
questo lo sai che appare su PowerPoint
file e altre società appare
intonaco alle pareti sai se tu
volevo sapere che mi sono appena riferito a brexit
il più grande risultato del brexit
Dipartimento sì, abbiamo un dipartimento
a quanto pare per tutta l’estate era a
produrre un Ram organico di chi era chi
avevano assunto quello che non avevano
fatto qualsiasi altra cosa ma era molto
bel diagramma era quello che erano
fare stava offrendo l’illusione che
c’era qualche realtà qui che questo
erano le organizzazioni di realtà a fare questo
c’è un problema anche se questo è il
organizzazione come vorresti
percepirlo secondo la linea del voto
gestione e tutto il resto ma
prendiamo un po ‘ diverso
l’osservazione è presa da un libro
progettato dopo il modernismo che ha un
copertina leggermente inusuale per non dire altro
dalla raccolta di saggi di John Zacchara
è un saggio piuttosto interessante di
Christopher Alexander una città non è un
albero questo ci dà una visione diversa
a volte come possiamo pensare
architettura quando parliamo
architettura che normalmente pensiamo di a
spazio terrestre unico all’interno di uno spazio urbano
usiamo la metafora a cui fare riferimento
edifici e parliamo di edifici e
molto e anzi questo è lo stesso
Christopher Alexander che era
responsabile di questa idea
senza tempo stiamo costruendo modelli questo è
è venuto lui è il ragazzo responsabile
che è lo stesso ragazzo e lui è
interessato ai sistemi di pensiero
pensare sovrapposto a come un’idea di design
può portare a un altro o supportare o negare
un’altra idea e che non stiamo pensando
solo in termini di parti modulari che siamo
pensando a come un sistema in realtà
si sovrappone e mentre lo osserva dice il
l’albero del mio titolo di città non è un albero
non è un albero verde con foglie è
il nome di una struttura astratta a
quale punto l’intera stanza improvvisamente
diventa comodo ok si possiamo fare
che sì siamo bravi perché come te
e conosco gli alberi le cui radici sono al
in cima le loro foglie sono in fondo
questo è il vero modo e se gli alberi hanno
colore poi è rosso e nero okay questo
interi alberi verdi con le radici al
in basso e lascia in cima che è un po ‘
tipo di aberrazione del mondo reale che noi
basta prendere di mira con CG con CGI sì ma
i veri alberi sono questi sono
strutture astratte e che vuole
contrasto con il loro semi reticolo
modi di pensare a come un grande
raccolta di molti piccoli sistemi andare a
creare un sistema ampio e complesso e
come osserva poi bene, guarda questo è
questo è in realtà ciò che accade in un reale
le persone dell’organizzazione non sono loro no
siediti in una gerarchia che non è come
vivono e respirano il sistema che è
non come comunicano con le persone
non è anche il modo in cui il codice cresce perché
emergeranno le vie della comunicazione
da quello e hai una scelta qui
può o riconoscere che questo è ciò che
succede e quindi puoi organizzarti
il tuo sforzo architettonico attorno a quello o
puoi essere sorpreso da esso ogni singolo
tempo si scopre che dove la gente si siede
chi la gente sa chi la gente si fida di chi ha
alcune competenze in alcune cose contro
altri che è facile comunicare con
tutti questi tipi di cose
alla fine inizieremo a modellare il
sistema e non abbiamo nemmeno iniziato
parlando dei requisiti e come
tu scegli di consegnare così c’è questo
idea di complessità che è il motivo per cui le persone
timido da esso è semi-lattice
potenzialmente molto più complesso e
la struttura sottile di un albero la realtà
della struttura odierna è denso di
Sovrapporre il sussidio ai sistemi di
amici e conoscenti formano una semi
reticolo non un albero che significa quello
anche se possiamo prevedere un sistema e
sai decomponilo piuttosto elegantemente
in parti sempre più piccole e se
guardi ogni singolo paradigma di
sviluppo sono sempre circa
decomposizione e da qualche parte c’è
il concetto di un albero e lo troviamo
prezioso informa la sintassi del nostro
lingue e informa il modo in cui noi
codice di rientro è certamente prezioso su a
base locale il problema è la realtà
è molto Messier quindi hai una scelta
puoi dire di negare la realtà e
lo forzeremo in questo modo
non dire realtà come questa è un po ‘
disordinato come organizziamo il disordine
e tuttavia ottenere ancora l’ordine localizzato
non banale che è esattamente questo
Christopher Alexander dice sottile
perché se non lo rispetti lo farai
finisci con alcune sorprese che finirai
con le sorprese che ciò accade
quando non rispetti questo dinamismo se
ti piace che abbiamo visto che questo fatto ha
importanti implicazioni per il
gestione del design del sistema un design
sforzo dovrebbe essere organizzato secondo
la necessità di comunicazione se non lo facciamo
allora il nostro codice rifletterà questo
comunicazione che rifletterà il
comunicazione disordinata disordinata se tu
qual è la comunicazione è il
trasmissione della conoscenza mmm no questo è
buona comunicazione c’è molto
di comunicazione nelle organizzazioni no
sulla trasmissione della conoscenza è
per compensare l’organizzazione
inefficienze e tentativo di essere
gerarchico e in realtà non è abbastanza
gerarchico quindi c’è questa idea
sembra solo un puro business
parla ma quello che sto dicendo è che scorre
giù nel codice come è stato osservato in
questo documento nel 2007 il MIT Sloan
la revisione della gestione è un sito Web che ha un
sito web e puoi andare su di esso e
leggi un articolo se hai intenzione di leggere
un articolo gratis questo è l’articolo
vuoi leggere è ancora notevolmente
rilevante evitando la trappola di allineamento NIT
fanno questa osservazione
dopo aver guardato un certo numero di grandi dimensioni
le aziende che mi sforzo di soddisfare
varie e talvolta contrastanti
i collegi elettorali hanno creato un insieme di
Sistemi sovrapposti bizantini che potrebbero
soddisfare le singole unità per un po ‘ ma
non far avanzare l’attività dell’azienda
nel complesso ciò che stanno guardando è
il fatto che un’organizzazione
le organizzazioni spesso finivano con
allineamento che era locale ma anche
contro altri gruppi e loro ci dicono
avere una strategia che siamo in linea con gli affari
la cosa che dovete ricordare è che
in un’organizzazione è un’organizzazione
fatto di persone e noi abbiamo un brutto
l’abitudine di semplificare eccessivamente fa parte di
la natura dell’astrazione degli umani noi
a volte parlare del cliente come se
il cliente era una singola entità nella maggior parte dei casi
casi il cliente è un’organizzazione
pieno di individui che non tutti
d’accordo l’ uno con l’altro e quello che ottiene
abbastanza interessante se dici che lo siamo
andando a seguire la guida dell’organizzazione
abbiamo una visione per l’organizzazione
scopre che tutti stanno tirando dentro
diverse direzioni che portano a fare questo
che inizia anche a raccontarci come i sistemi
può diventare disordinato o ci dice di nuovo come
i sistemi possono diventare disordinati ovviamente a questo
tempo ma non presenterò nulla
più complesso in un diagramma di quadranti
perché sai che i diagrammi dei quadranti sono
facilmente dividono l’universo in quattro
e normalmente ce n’è uno molto molto buono
quadrante o forse ce n’è uno molto
quadrante molto brutto in questo diagramma noi
avere entrambi ok e c’è un semplice
idea che stiamo per basare su un sondaggio di
oltre 500 aziende che hanno qualche tipo
dello sviluppo del software e della capacità IT
all’interno di loro in contrasto con il software
case o consulenze a due assi
l’allineamento con l’organizzazione è tuo
IT allineato con l’organizzazione
forte o debolmente e l’efficacia come
buone sono le tue squadre
quanto sono buone le loro pratiche questo non lo è
un giudizio su quanto sono buoni i
individui perché come sappiamo come noi
sai che puoi avere un sacco di gente
insieme collettivamente e loro possono
in realtà agisce più stupido di qualsiasi altro
individui in Gran Bretagna chiamiamo questo a
referendum per esempio e anche lì
la squadra di calcio inglese individualmente
ci sono in realtà giocatori abbastanza buoni
collettivamente possono essere battuti da
Islanda
okay, il punto è che è così
abbastanza possibile avere un gruppo di persone
essere molto meno efficace del
la capacità individuale suggerisce e questo è
così si tratta di coordinamento su
la comunicazione necessaria che ottieni
e così l’osservazione qui è una
elemento dell’osservazione
la maggior parte delle squadre non sorprende 3/4 di loro
sono nell’angolo in basso a sinistra
non particolarmente allineati non lo sono
particolarmente efficace ma risulta
da un punto di vista finanziario che è
non particolarmente male non sono davvero
guadagnando soldi non stanno davvero perdendo
i soldi infatti sono probabilmente dentro
equilibrio con un altrettanto inefficiente
set di altri reparti del
l’organizzazione ha raggiunto tutti un tipo
di comodo equilibrio sono tutti
un po ‘ faranno schifo ugualmente ma
sono felice con lui che è buono questo
è dove la maggior parte delle aziende sono ciò che le persone
voglio è l’ angolo in alto a destra che
è un decimo della dimensione ok in altri
parole che stanno ottenendo questi ragazzi
più economico e stanno generando di più
entrate questo è fantastico per tutti
vuole andare lassù ora questo c’è
un altro motivo per cui ho scelto un programma di scacchi
all’inizio è un po ‘come questo
gli scacchi tranne che tu non puoi essere un
vescovo tu puoi diventare una torre solo tu puoi
sposta orizzontalmente o verticalmente se
sei nel quadrante in basso a sinistra
ti piacerebbe diventare più allineato
con l’organizzazione o VUOI
diventare più efficaci con il software
sviluppo lo standard lo standard
la risposta di molti consulenti è diventata
più allineato perché tutto il resto
seguirò mi dispiace che sia il
trappola di allineamento si è appena entrati in
si scopre che hai preso un
gruppo di persone che non sono necessariamente
coordinato nel suo insieme che non lo fa
necessariamente avere il miglior sviluppo
pratiche e si è appena gettato a loro
i leoni e hanno mangiato questo è
quello che è quello che è quello che quelli
i numeri sono ciò che accade è che sono
mai in grado di recuperare sono sempre
preoccuparsi di consegnare nel presente
e non sono mai in grado di dire
si sa che cosa potremmo uscire questo
ciclo vizioso che abbiamo noi stessi
in e c’è un modo diverso per
avvicinati all’architettura c’è un modo
di avvicinarsi al debito tecnico possiamo
migliorare i test possiamo migliorare il
implementazione possiamo migliorare le nostre competenze noi
può
guarda ma non abbiamo abbastanza tempo così
niente di tutto ciò accade e peggiora
sei diventato un amplificatore per il cattivo
pratiche non hai sì a volte
le persone descrivono determinati sviluppi
elabora questo è un popolare nel
scrum world un processo che ti mostra il
disfunzione della tua organizzazione che è
una delle frasi più frustranti di te
può mai gettare in un gruppo che conosci
loro stanno lottando stiamo provando
fare le cose bene, la mischia sta rivelando il tuo
inefficienze per voi si, ma sappiamo
questo non ci dice come risolverli
c’è una frustrazione in tutto questo
abbiamo fatto si dice si lo vedi
problema hai pensato di averlo avuto
è come grazie mentre risulta
che se decidi di migliorare
quello che fai si scopre che ha il suo
i propri vantaggi e ciò non è possibile
significa necessariamente che tu lo sai
non fornire valori utili al
organizzazione, ma è molto più probabile a
essere in grado di farlo e questo risale a
il rilascio uno contro il rilascio due versi
pensando ma non tutto è stato rilasciato
l’idea qui è semplice
il pensiero sperimenta un sistema che ha
stato sviluppato in alto a sinistra e
squadre in basso a destra che hanno
sviluppato la stessa funzionalità di cui
pensi che sarà molto probabile
per soddisfare i requisiti
molto probabilmente questi ragazzi perché
sono stati allineati al business in
In effetti, l’azienda non starà zitta, così loro
so davvero cosa è richiesto questi ragazzi
potrebbe mancare che potrebbero perdere qualche chiave
requisiti e ipotesi va bene chi è
ha ottenuto un codice migliore che cosa è meglio questi ragazzi
l’implementazione pratica una migliore qualità
migliore gestione e chiarezza di
tutte le cose che sono invisibili dentro
sviluppo di software questi ragazzi e così
come sono i loro codici?
laggiù avranno un incubo
se vuoi partecipare, unisciti al team
questa squadra perché quando dicono di sapere
quello che ci siamo resi conto di aver perso qualche chiave
requisiti oh è facile che abbiamo
il test che abbiamo ottenuto il codice è tutto
buono , è piccolo, si adatta alla nostra testa
sapere come cambiarlo e il gioco è fatto o
come se questi ragazzi qui fossero qui
ho ottenuto questa torre Jenga sì che ora è a
stile di architettura hanno questo
Torre Jenga di architettura simile
non andare vicino ad esso
Ho bisogno di correggere un bug non avvicinarlo
perché se risolvi il bug nel suo complesso
la cosa cade e certamente non aggiunge
qualsiasi funzionalità ad esso così c’è questo
idea che la cosa da quella parte
laggiù inizierà a ricevere un
più grande e Messier sta andando
diventare una sfida così l’aspetto di dimensionamento
è quello che siamo quello in cui siamo entrati
altrimenti crei un grande sistema che abbiamo
parlato dell’idea di comunicazione
abbiamo parlato l’idea che
a volte gli stessi artefatti del codice
inizia ad attrarre roba ma ce n’è un’altra
modi in cui possiamo fare questo e questo va di nuovo
torna a domande di economie di scala
come ragioniamo su come organizziamo
uno sforzo quindi immaginiamoci molto
esempio idealizzato questo è quanto tempo
sta andando a prendere una persona per completare
tutto il lavoro tutto il lavoro che ho intenzione di
includere in questo tutti gli aspetti di un sistema
compreso il ragionamento sul
requisiti e tutto questo genere di cose
la distribuzione testare i lavori così noi quindi
applica classica divisione del lavoro noi
dividi per n abbiamo persone su
progetto e molte persone si fermano qui
il problema è che non è così che funziona
tutto può essere parallelizzato
non tutto quando metti più persone
su di esso risulta che iniziano a calpestare
le dita dei piedi a volte è a
fisica a volte è nel codice
a volte è come lavorano, finisci
con questo che inizia a sembrare un po ‘
spaventoso quando inizi a mostrarlo a
i manager sono come le equazioni di Oh che gira
fuori però è molto importante come
molto puoi davvero fare in parallelo come
molti stati di peso ci sono quanto
flusso puoi uscire dal sistema
scopre che il popolo Kanban aveva ragione
puoi farlo dai primi principi in
infatti lo sapevamo già
legge dars ma ne ho una robusta
applicato a persone si scopre che
questo sta per riflettere sul tuo
architettura ma lo farà anche
iniziare a creare sta per iniziare
esercitando una forza sul tuo
le persone dell’architettura continueranno
lavorando anche quando stanno aspettando loro
inizierà a creare cose che faranno
inizia a creare difese infatti ottiene
più interessante perché c’è di più
equazione inizieranno a creare
difese contro la domanda di
comunicazione
perché risulta che devi parlare con
altre persone che conosco chi pensava che fosse
sarà una conseguenza a cui sei arrivato
parla con altre persone che è il numero
delle connessioni hai più persone
si hanno le più connessioni che avete
in esso spara e c’è un costo per
comunicazione in cui questo tetto si riflette
il codice codice diventa in definitiva una forma
del codice di comunicazione è una forma di
comunicazione che stai trasmettendo
conoscenza che non stai semplicemente dicendo a
macchina come eseguire sei
organizzando i tuoi pensieri è un
sforzo collettivo per creare una credenza
che esegue questo è il modo in cui crediamo
questa tecnologia funzionerà e risponderà a
necessità di business e il problema è
interferisce con la natura dell’umanità
se non stiamo attenti finisci con a
bella curva come quella che si adatta
la nostra intuizione perché si scopre loro
sai se hai zero persone su a
progetto ci vorrà infinitamente a lungo
sviluppare ma hey nessun bug ma poi come te
inizia ad aggiungere persone che trovi di qualche tipo
di dimensioni ottimali che effettivamente hai
ha il numero giusto di persone da fare
questo lavoro per fare questo intraprendere il
il problema è che non è molto bella
le persone idealizzate non sono tutte uguali
non hanno tutte le stesse abilità
e non puoi vedere la curva e non lo è
perfettamente liscio quindi non esattamente
sapere quando sei qui e potresti trovarlo
te stesso vagando dalla parte sbagliata e
questo è il modo in cui crei grandi sistemi
questo è davvero un sacco di lotti
di consulenze dipendono dal controllo rapido
qui l’elenco degli sponsor per vedere il
vite se sto insultando o meno
in realtà chiunque potrei essere ma lo farò
fai in modo che tengano tranquille molte consulenze
operare sul lato destro
esplicitamente, in altre parole , l’abbiamo presa
il tuo piccolo problema l’abbiamo reso grande
problema aggiungendo abbastanza persone da fare
è un grosso problema che scommetto che potrei fare
questa stanza sviluppa un HelloWorld
applicazione simili, di cui il mondo
non ha mai visto prima e non lo farebbe mai
voglio vedere semplicemente ridimensionando il
problema non è un problema vuole
essere ridimensionato è un piccolo problema e
ha bisogno di essere incontrato con una piccola squadra e a
piccola tecnologia e il punto non c’è
siamo molto cattivi a fare questo dimensionamento ma
una volta che inizi a correre sulla destra
lato allora diventa un sé
riempire la profezia perché alla fine quello
il sistema diventa la 60 o 70 persona
sistema e puoi dire bene Hangul se noi
dovevano riscriverlo quante persone lo faranno
abbiamo bisogno che al momento ne abbiamo 60 o 70
le persone su questo quindi forse abbiamo bisogno di 60 o 70
la gente è come se non ne avessi bisogno probabilmente
circa 10 e li abbiamo effettivamente visti
gli esperimenti si esauriscono nella pratica
accidentalmente a volte e in realtà
vedendoli nel mondo reale dove due
società o, in un caso, una società
che ho rifiutato un lavoro perché io
pensato che non ci sia alcun modo in cui questi ragazzi sono
mai intenzione di consegnare nulla di sano o
ragionevole e non voglio farlo non farlo
lavorare per loro
e poi nove mesi dopo un amico di
il mio è andato per un colloquio di lavoro lì e
così ho fatto una chiacchierata con lui che lo ha riempito di me
ha detto questo è quello che stavano facendo questo
è probabilmente quello che stanno facendo ora lui così
sapeva che stava entrando nei leoni
Den ma per lui era pratico loro
erano 10 minuti 10 o 15 minuti a piedi da
la sua casa così è in realtà per il suo punto
di vista è ciò che valuta l’essere
vicino a casa ok così qualche tempo dopo lui
mi ha detto si , abbiamo circa 90 a
100 persone che sviluppano questo sistema e
l’abbiamo appena scoperto nel nord
d’Inghilterra la stessa compagnia perché
ricorda che le aziende non sono single
entità unificate non hanno idea di cosa
stanno facendo la sinistra e la destra
la mano è molto diversa
nel nord dell’Inghilterra un altro
sviluppo del team di sviluppo
funzionalità o un sistema con esattamente
la stessa funzionalità con 10 persone in
circa sei mesi questi ragazzi avevano speso 3
anni e 100 persone e ci sono carichi
di esempi come quello sul settore
l’hanno creato da parte del personale
100 persone avevano adempiuto il proprio
profezia è diventato un sistema
bisogno di 100 persone per creare e una volta
ci sono è molto difficile venire
di nuovo giù ho anche avuto il vantaggio
c’è la gioia di lavorare per qualcuno dentro
tanti anni fa, ehm, chi lo sapeva davvero
questo ha preso una squadra che era in ritardo
e metà delle dimensioni della squadra e sono andati
di nuovo in orario si si sente parlare
queste cose, ma posso dire di prima mano
è vero che ho visto accadere era
odiato dal resto della gestione sì
perché tutti gli altri stavano passando per il
il bit facile dell’equazione T 1 diviso
per n ma in realtà ha detto ora aspetta un
minuto
Penso che abbiamo creato la dimensione della dimensione
non è un riflesso quindi c’è un punto
qui questa dimensione non è un riflesso di
la funzionalità una volta raggiunto a
dimensione particolare qualsiasi cosa oltre questo è
non più un riflesso del
funzionalità e c’è questa idea
un sistema più grande ha più funzionalità
in realtà abbiamo visto più e più volte questo
non è il caso che abbiamo visto è quello
sopra una dimensione particolare il resto
la dimensione è lì per compensare
qualcos’altro
è lì per risolvere un problema di
organizzazione in modo che si imbattesse in questo
l’ anno scorso l’ app per iOS di Facebook ha finito
18.000 classi obiettivo-obiettivo 18.000
classi non 18.000 linee
18.000 lezioni e in una settimana 429
le persone che contribuiscono a lei ora sto andando
per indovinare che non corro su iOS
un telefono ho un telefono Android che sono
andando a indovinare che non lo è
radicalmente diverso su Android ma se
tutti gli utenti iOS vogliono dirmi cosa sono
poche migliaia di classi stanno facendo
che in qualche modo mi sto perdendo per favore
fammi sapere perché è solo una follia
Ho desiderato in precedenza abbiamo guardato a
sistema operativo ne conosco alcuni banali
cosa chiamata Unix il cui kernel originale
era meno di 10.000 linee in effetti il
quinta edizione erano 5.000 linee e io sono
non dire che tutto può essere fatto
banale ma c’è una specie di senso
di prospettiva che è necessario per ottenere questo
non ha solo la sua gravità
campo questo è in realtà il cuore di a
galassia questo è uno di quei buchi neri
ok ci sono centinaia di milioni di
le stelle che orbitano come risultato e questo è
stai solo pensando a cosa
così stanno facendo intendo che è uno di quelli
cose che non voglio far sembrare troppo
banale nel senso che cosa sei
facendo bene sto guardando gli amici
foto e conosci le foto dei gatti
e capre e cose del genere e io sono
pubblicare alcune cose e mi piacciono alcuni
le cose intendo come sono io che sono lì
qualcosa di veramente speciale sta succedendo lì
e non penso che valga 17.000
17.000 classi di materiale NSA vanno bene
quindi abbiamo questo tipo di interessante
sfida che stiamo guardando a
numero di pratiche interessanti
ci sono cose organizzative ma
c’è anche come affrontiamo le cose nostre
le abitudini non sono pensate da dove abbiamo iniziato
questo stile di programmazione di culto del carico di
programmazione per computer caratterizzata da
l’inclusione rituale di codice o programma
strutture che non servono a scopi reali
programma di culto del carico può anche fare riferimento al
risultati dell’applicazione di un modello di progettazione o
stile di codifica ciecamente senza
comprendendo le ragioni dietro a ciò
principio di progettazione e improvvisamente senza
rendendoti conto che hai trasformato una linea
problema oh è troppo facile che tu abbia girato
fizzbuzz in fizzbuzz Enterprise
Edizione uno dei miei siti preferiti che ho fatto
in realtà devo sottolineare così lo farò
ti dico che questo è uno scherzo, intendo
ha il codice reale che compila ma
non è destinato ad essere reale
sai che c’è ironia
il software aziendale segna un massimo speciale
classe di livello del software che rende
uso attento del software pertinente
principi di progettazione dell’architettura questo
progetto è un esempio di quanto popolare
il gioco fizzbuzz potrebbe essere costruito dov’è
soggetti agli elevati standard di qualità di
software aziendale l’intera cosa è
tra virgolette va bene leggerlo come
che, poiché si finisce solo guardando
una delle aree questa è solo una parte di
le interfacce in un angolo del
sistema sì, siamo nelle fabbriche
sezione interfacce e abbiamo ottenuto tale
plugin fondamentalmente importanti come
intero stringa restituitore Fabbrica e
stringa stringa restituitore Fabbrica oh sì
ci sono anche fabbriche di fabbrica
La legge di Andersen osserva che ce ne sono due
aspetti di questa legge devo ancora vedere
qualsiasi problema comunque complicato che
quando hai guardato nel modo giusto ha fatto
non diventare ancora più complicato
un aspetto di questo è che sono le tartarughe
fino in fondo alcuni problemi sinceramente
sono profondi ma l’altro è un
l’autorealizzazione possiamo fare una semplice
cosa dura abbiamo che abbiamo decenni
esperienza fare questo in realtà non siamo
da solo in questo l’architetto americano
architetto edile Philip Johnson
osserva l’ architettura è l’arte di come
per sprecare spazio e sai a volte
si guarda qualcosa in yeah
in realtà potrebbe essere quello
potrebbe essere una buona descrizione di ciò che è
succedendo c’è un’idea molto semplice
qui Paul McMahon ha osservato tutto
il codice è tecnico c’è solo del codice
ha un tasso di interesse più elevato, ecco cosa
ti interessa quando le persone si sommano
vendere quanto debito tecnico se ne hai
ho capito che non è vero
Il problema è che è parte del
problema è se si tratta di a
pezzo di codice che ha un alto livello tecnico
debito o altro scusa se hai un pezzo
di codice che non tocchi mai allora
il debito tecnico è basso o il suo interesse
tasso è basso perché non hai mai interagire
con esso non causa dolore su a
base giornaliera se si interagisce costantemente
con qualcosa che ha un alto livello tecnico
debito che ha un tasso di interesse più elevato
perché ti sta causando dolore su a
ogni giorno devi pagare
extra ogni singolo giorno ma quel codice
quello non sta facendo nulla è veramente
Non fare nulla non che non significa
che è esso debito tecnico che abbiamo un
problema con lì o è qualcosa
altrimenti così voglio chiudere con una sorta di
considerazione di un esempio che uno di
gli altri problemi che abbiamo quando noi
parla del passato morto della materia oscura
del nostro sistema va bene in qualsiasi grande sistema
saranno le galassie non sono semplicemente
modellato dal buco nero nel cuore
lì nel loro cuore sono plasmati da
cose oscure non puoi vedere il codice
non capisci ma anche codice
non viene eseguito Knight Capital Group
Il 2012 ha vissuto un leggero blip, credo
sarebbe un eufemismo da dire sul
il primo di agosto dal 31 luglio
alla sete di agosto a New York
Borsa e c’è un ottimo
blog
ma ha scavato sette ha scritto questo blog da un
DevOps: gruppo di capitali notturni in prospettiva
ha realizzato una perdita di US $ 460 milioni in
45 minuti
dieci milioni di dollari al minuto eccellenti
sì, questa è la cosa bella
computer sì, possono amplificare base
errore umano umano è molto difficile
per un individuo umano da perdere davvero
che okay Donald Trump ha passato anni
perdere due volte tanto quanto questo va bene, ma
tu quello che puoi fare è che puoi farlo tu
può effettivamente ottimizzarlo
lascia fare la cosa sbagliata più velocemente
velocità ridicola hanno realizzato qualcosa
stava andando storto, come se tu avessi tolto velocemente la spina
45 minuti dopo lo hanno fatto loro
in realtà ha perso più soldi è così
molto è stato lasciato questo è quanto la perdita
era dopo che tutto era stato rotolato
indietro che potrebbe ragionevolmente essere arrotolato
indietro e quello che è successo l’aggiornamento troppo
un sistema intelligente penso che ne avessero otto
il servizio era destinato a sostituire il vecchio
il codice inutilizzato si riferisce a pegging di potenza
la notte di funzionalità non aveva usato in otto
anni
quindi c’è il codice morto questo è il problema
è che avevano otto macchine sette
gli aggiornamenti erano corretti e uno di loro non lo era
quindi ha eseguito il vecchio codice e quello che hanno fatto è
hanno riciclato efficacemente un pezzo di
protocollo che riutilizzeremo
perché nessuno lo sta usando sì perché
è sicuro è più facile che aggiungere
qualcosa di nuovo
ci limiteremo a riciclare quel problema come
ha un significato per il vecchio sistema e non lo è
il giusto significato si, noi ricicliamo
vecchie idee ma il problema è che abbiamo lasciato il
vecchio codice in atto ora quello che penso sia
interessante e dove sono in disaccordo con
questa valutazione e cosa ci dice a
un po ‘di più sulla capacità di afferrare il
nella tua testa capacità di questo perché codice
che era morto da otto anni ci stiamo
ancora presente nella base del codice è ancora
un mistero ma non è questo il punto
in realtà è come sei finito
questo codice morto questo non è morto bene
è un codice zombie fondamentalmente se tu
pensi di avere un codice morto, probabilmente è così
codice zombie che cosa causerebbe questo codice
resuscitare e tornare alla vita e a
particolare serie di circostanze causate
questo quindi è effettivamente il punto perché
l’idea è che questo non avrebbe
è accaduto non è stato solo un brutto aggiornamento esso
è stato un brutto aggiornamento e la presenza del
codice il punto qui è questo era un
tempesta perfetta non era questo
o che era questo e quello
succede è nei sistemi che abbiamo
efficacemente perso il controllo intellettuale
oltre si aumenta la probabilità di
casi come questo è quello che sta succedendo
e poi boom hai una grande sorpresa quindi
infine solo dimostrano c’è
nessuna nuova idea Sotto il Sole, vado
negli anni ’90 ho menzionato i brevetti
prima che Gabriel membro chiave della
la comunità dei brevetti ha scritto questo libro no
PDF disponibile più lungo è disponibile molto
interessante serie di saggi uno di
di cui parla del suo approccio da
26 anni fa peggio è meglio che ho proposto
una teoria chiamata peggio è meglio perché
il software sarebbe più probabile che abbia successo
se è stato sviluppato con il minimo
il problema dell’invenzione è con il fraseggio
peggio è meglio si pensa subito
beh, voglio dire, è il nome sbagliato
ma quando qualcuno dice che è lontano
meglio avere un prodotto sotto le caratteristiche
c’è una solida roccia veloce e piccola di
uno che copre ciò che un esperto vuole
considera i requisiti completi che ha
parlando di qualcosa di fondamentalmente
di diverso sta parlando di a
filosofia che si adatta al modo wiki
UNIX modo e in effetti dove un sacco di
la gente ora pensa a una magra startup
si concentra sull’implementazione
caratteristiche perché è lì
sviluppatori sviluppatori vivi lo faranno
alla fine produci un sistema, naturalmente
l’ esperienza del cliente è importante ma
alla fine qualcuno deve svilupparlo
e devi renderlo accettabile
impossibile dovrebbe essere veloce quanto dovrebbe
sii piccolo perché poi puoi lanciarlo
via puoi capirlo e pensare
modi migliori per farlo dovrebbe
interoperare con programmi e strumenti
utenti previsti che già utilizzano il minimo
invenzione sta dicendo qualcosa molto
per esempio il wiki modesto è il modo wiki
non definire un browser fondamentalmente nuovo
concetto o paradigma ma ci ha aiutato
capire quello che potrebbe desiderare da un
dovrebbe essere privo di bug questo è ciò che è peggio
significa peggio significa un minor numero di bug leggermente
controintuitivo, ma c’è un’idea
di se vuoi renderlo più piccolo riduci
insieme di funzioni che è più facile da gestire e
non lasciarti trasportare dalle astrazioni
idea molto semplice, quindi voglio chiudere
questo tipo di osservazione che
persone di cui parliamo in modo incrementale
sviluppo molto mi interessa molto
un’idea chiamata sviluppo decrementale
okay dovremmo dovremmo imparare di più
su come gettare le cose di più
che era il nostro primo tentativo ora come faccio
ridimensionarlo al suo naturale dimensionamento e
Sono sicuro che col tempo diventerà più grande
il problema è che quello che facciamo è noi
inizia nel posto sbagliato e ti darò
Schumacher l’ultima parola grazie molto
tanto
tu

Please follow and like us: