View
1.908
Download
0
Embed Size (px)
DESCRIPTION
My Agile vs SOA Presentation, which I held at the Italian Agile Day 2008 in Bologna
Citation preview
BuzzwordDeathmatch:
SipuòfareagileinunaSOA?
Aboutme• 10diesperienzacomeconsulentenelmondoIT.
• Hopartecipatoamol>“grossiproge@”– Pubblicaamministrazione– Bancario– Assicura>vo– ...
• Unpo’architeIura,unpo’processo,unpo’management...
• Ilmioblog:hIp://ziobrando.blogspot.com• Trainer(ItaliaeUK)
• Ar>coli,etc.
• Mye‐mail:[email protected]
LoscenarioAgile
PerchèAgile? Tradurre
PerchèAgile?
• LosviluppoWaterfallsièdimostratoinefficienteeinsoddisfacentecomerisulta>
Tradurre
PerchèAgile?
• LosviluppoWaterfallsièdimostratoinefficienteeinsoddisfacentecomerisulta>– Waterfallè“tradizionalmente”associatoa
Tradurre
PerchèAgile?
• LosviluppoWaterfallsièdimostratoinefficienteeinsoddisfacentecomerisulta>– Waterfallè“tradizionalmente”associatoa
• cos>eleva>
Tradurre
PerchèAgile?
• LosviluppoWaterfallsièdimostratoinefficienteeinsoddisfacentecomerisulta>– Waterfallè“tradizionalmente”associatoa
• cos>eleva>
• tempidisviluppolunghi
Tradurre
PerchèAgile?
• LosviluppoWaterfallsièdimostratoinefficienteeinsoddisfacentecomerisulta>– Waterfallè“tradizionalmente”associatoa
• cos>eleva>
• tempidisviluppolunghi
• Impredicibilitàdeirisulta>ebassapercentualedisuccesso
Tradurre
PerchèAgile?
• LosviluppoWaterfallsièdimostratoinefficienteeinsoddisfacentecomerisulta>– Waterfallè“tradizionalmente”associatoa
• cos>eleva>
• tempidisviluppolunghi
• Impredicibilitàdeirisulta>ebassapercentualedisuccesso
• Difficoltànellages>onedelcambiamento
Tradurre
PerchèAgile?
• LosviluppoWaterfallsièdimostratoinefficienteeinsoddisfacentecomerisulta>– Waterfallè“tradizionalmente”associatoa
• cos>eleva>
• tempidisviluppolunghi
• Impredicibilitàdeirisulta>ebassapercentualedisuccesso
• Difficoltànellages>onedelcambiamento
• Sechiedeteingiro,nessunostapiùfacendoilwaterfall(…oalmenocosìdicono)
Tradurre
UnifiedProcess
UnifiedProcess
• Lounifiedprocesshacambiatoradicalmenteloscenario
– Iterazionicomeelementofondamentaledelprocesso.
–Definizionefinediruoliedar@fact/responsabilità
–UMLcomelinguaggio“ufficiale”
–Unadefinizioneesaus@vadituFeleaGvitàchiavedelprocesso.
UnifiedProcess
• Unfortunately,italsosetthegroundfor
– AfamilyofUMLmodellingtools
– Alotofdocumenta@ontemplates
6
IllatooscurodelloUnifiedProcess
IllatooscurodelloUnifiedProcess
• Glistrumen>sonodiventa>semprepiùimportan>,deformandoilprocessostesso.
IllatooscurodelloUnifiedProcess
• Glistrumen>sonodiventa>semprepiùimportan>,deformandoilprocessostesso.
• Analisiedesignsonodiventatea@vitàsoliste
IllatooscurodelloUnifiedProcess
• Glistrumen>sonodiventa>semprepiùimportan>,deformandoilprocessostesso.
• Analisiedesignsonodiventatea@vitàsoliste
• Carta,cartaedancoracarta...
Sviluppatori
Glisviluppatorieranoconsidera>“risorseinterscambiabili”ilcuiunicocompitoeradiimplementarelespecifiche.
Peròitera@vamente.
Sviluppatori
Glisviluppatorieranoconsidera>“risorseinterscambiabili”ilcuiunicocompitoeradiimplementarelespecifiche.
Peròitera@vamente.
Sviluppatori
Glisviluppatorieranoconsidera>“risorseinterscambiabili”ilcuiunicocompitoeradiimplementarelespecifiche.
Peròitera@vamente.
Sviluppatori
Glisviluppatorieranoconsidera>“risorseinterscambiabili”ilcuiunicocompitoeradiimplementarelespecifiche.
Peròitera@vamente.
Sviluppatori
Glisviluppatorieranoconsidera>“risorseinterscambiabili”ilcuiunicocompitoeradiimplementarelespecifiche.
Peròitera@vamente.
Sviluppatori
Glisviluppatorieranoconsidera>“risorseinterscambiabili”ilcuiunicocompitoeradiimplementarelespecifiche.
Peròitera@vamente.
Sviluppatori
Glisviluppatorieranoconsidera>“risorseinterscambiabili”ilcuiunicocompitoeradiimplementarelespecifiche.
Peròitera@vamente.
Occasionalmente,gliarchite@passanoinrassegnalatruppa...
RuolieResponsabilità
RuolieResponsabilità• Lages>onefinedeiruolihafinitopertradursiinunfaIoredirallentamento– Spessosifiniscepersceglieresolo“itaskada@almioruolo”
– (implicitwaterfall)
– Tempidirispostapiùlen>
–Collidibo@gliasiglispecialis>(opresun>tali)
– Ilbuoncarovecchioscaricabarile
– ...
...Iribellinonstannoaguardare
...Iribellinonstannoaguardare
Itregus@dell’Agile
• XPha“faIoilboIo”introducendopra>cherivoluzionarienellosvilupposocware.
• Scrumhadefinitounframeworkall’internodelqualelepra>cheagilipossonoessereapplicateall’internodiunorganizzazione.
• IlmovimentoLeanhaintrodoIoconce@eprincipidall’industriamanifaIuriera,nellosvilupposocware(fornendoancheunretroterrateoricoadentrambe)
eXtremeProgramming• UserStories
– LessformalthanUsecases,actlikeplaceholderforarealdiscussion
• Frequentsmallreleases– Itera7onsareshorterandtargetedtoproduc7on,
• Frequentplanningandes4ma4on– Eachitera7onisre‐plannedaccordingtothecurrentlyavailableinforma7on
• Noan4cipateddevelopment– Noframeworksorlayeredarchitecture
• Testfirst– Testsuitesrunpreservingapplica7onintegrity,andproducingbeAerinterfaces
• Customeravailability– Realfeedbackisthekeytomaketherightthing
• Nocodeownership
• Con4nuousintegra4on– Thewholesystemisfrequentlyintegratedandtested
• Pairprogramming– Programmersworkinpairs,incodingsessions
• Noover4me
• ...
XP
• Ilfeedbackèl’elementochiavepermoltedellepra>cheproposte– dalcodice
– daicolleghi
– dalcliente
– dalprogeFo
– dalteam
• Ilteamèresponsabilizzatoedincoraggiatoaproporresoluzionicrea>ve
• Lostessoprocessopuòesseremodificato
Scrum
• ScrumnonsiriferiscestreIamenteallosvilupposocware,maoffreunframeworkperlages>oneada@vadeiproge@.
• AdifferenzadiUP,cisonosolo3ruoli:
– IlTeam
– IlProductOwner
– LoScrumMaster
Loscenario@picodiunteam
Ilteamagile
• Gruppidipiccoledimensioni
• Cross‐func>onal
• Ilteamèliberodiprenderequalsiasidecisionedidesign
• InScrum,ilteamriferiscesoloalP.O.– Uncerimonialedefinitoeduninsiemedipossibiliazionigaran>sconocheilgruppononprendadirezioniindesiderate.
Mol@stakeholders?
IlProductOwnerèl’unicoresponsabileperilgruppodisviluppo.
IprincipidellosviluppoLean• Eliminatewaste
– TuAociòchenonforniscealcunvaloreperl’utente.
• Amplifylearning– LosviluppoèunaIvitàdiesplorazioneediricercadisoluzioni.
• Decideaslateaspossible– Evitareledecisioniirreversibili,oprenderlesoloquandosidispondedi
tuAeleinformazioninecessarie.
• Deliverasfastaspossible– Ciclidisviluppovelociaiutanoilfeedback.Spessolavelocitàèmeglio
dellaqualità.
• Empowertheteam– Ilteamdiventeràilmassimoespertosull’argomento.
• Buildintegrityin– IlsoNwaredeveessereu7le,eadaAoalcompito.
• Seethewhole– InassenzadiunavisionecomplessivaavremosolooFmilocali.
Spreco
• Lospreco(waste)puòapparireinvarieforme– Documentazionenonnecessaria– Designan7cipato– Overengineering– AIese– Comunicazioniinefficien>– Dife@– Handoff– Complessità– blame(scaricabarile)– Qualità(?)– ...
L’approccioLo‐Fi
• Comeconseguenza,alcunitoolssonosta>abbandona>,infavorediunapprocciopiùmateriale.– Carta(userstories,CRCcards,burndownchart)
– Post‐it
– Lavagne
• GliInforma@onradiatorssfruIanolaprossimitàfisicaperpermeIereunoscambiodiinformazionipiùefficienteecompleto
• AlcuniStrumen>sonosta>bandi>(es.MSProject),altrisonoapparsi(es.Wikis)
TheboFom‐uprevolu@on• Agilepreparailterrenoperfareemergereproposteinteressan>dalteam
• Ilteamimparaandsiconcentrasuundeterminatospaziodiproblemi,spessodiventandoilmassimoespertodisponibilesull’argomento
Col@varelacollaborazione
• Raramentesilavoraisola>
• Moltea@vitàsonosvolteingruppo,incoppieoinmanieravisibile.
• LatrasparenzamiglioralafiduciaepremeIeunacollaborazionepiùefficace.
• Gliscambidiinformazioneavvengonoinentrambiisensi
Loscenarioideale• NontuIelecondizionidipartenzasonoo@maliper“diventareagili”:perpotersfruIarepienamenteilpotenzialedell’agiledovremmo(idealmente)– Essereassun>inun’aziendalacuimassimaprioritàsiailsocware.
– lavorarenellostessoposto
– Avereaccessoagliuten>(qualsiasicosasignifichi)
– Essereliberidicrescerecometeamedassumersiresponsabilità.
– Essereliberidisceglierelogis>ca,hardware,etc.
LoscenarioSOA
SOARa@onale• Organizzazionidigrandidimensionieranoappesan>tedalfardellodi– Svaria>legacysystems– Fusioniandacquisizioni
• Necessitàdiintegraresistemieterogenei• Sistemiduplica@eridondan@
– Elevatacomplessità(nonnecessaria)• Cos@opera@vi• Cos@dievoluzione
– Tempidireazioneestremamentelen>,...sviluppisostanzialmenteblocca>,incapacitàdiprodurrevalore.
• ...Ricordaqualcosa?
Incercadell’uniformità
Standard,frameworks,regoleedintegrazionenonhannogaran>tolanecessariaagilitàalbusiness.Conilrisultatodiessereunulteriorefardelloconcuifareicon>primaancoradidiprogeIareunaqualsiasisoluzione.
ServiceOrientedArchitecture
• SOAhacomeobie@vodiridurreledipendenzefraleapplicazioni:
– Languagecoupling XML
– Protocolcoupling WS,SOAP
– Networkcoupling ESB
– Availabilitycoupling messages
• Standardebassoaccoppiamentoconcorronoadefinireun’architeIurabasatasucomponen@sos@tuibili
Lowcoupling
• Iservizipossonodialogaretraloroconilpiùbassolivellodiconoscenzareciprocapossibile En
terpriseServiceBus
Lowcoupling
• Iservizipossonodialogaretraloroconilpiùbassolivellodiconoscenzareciprocapossibile En
terpriseServiceBus
Lapromessainiziale
Lapromessainiziale
• SOAeraunostrumentoper
Lapromessainiziale
• SOAeraunostrumentoper– PermeIerelenecessarieoperazionidipulizia
Lapromessainiziale
• SOAeraunostrumentoper– PermeIerelenecessarieoperazionidipulizia– PermeIereall’ITdidiventareunfaKorechiaveperilbusiness,invececheunpeso.
Lapromessainiziale
• SOAeraunostrumentoper– PermeIerelenecessarieoperazionidipulizia– PermeIereall’ITdidiventareunfaKorechiaveperilbusiness,invececheunpeso.
– “èuncasino”
Lapromessainiziale
• SOAeraunostrumentoper– PermeIerelenecessarieoperazionidipulizia– PermeIereall’ITdidiventareunfaKorechiaveperilbusiness,invececheunpeso.
– “èuncasino”– “lomeAoinagendaperil2010”
Lapromessainiziale
• SOAeraunostrumentoper– PermeIerelenecessarieoperazionidipulizia– PermeIereall’ITdidiventareunfaKorechiaveperilbusiness,invececheunpeso.
– “èuncasino”– “lomeAoinagendaperil2010”
– “Adessononc’ètempo”
Lapromessainiziale
• SOAeraunostrumentoper– PermeIerelenecessarieoperazionidipulizia– PermeIereall’ITdidiventareunfaKorechiaveperilbusiness,invececheunpeso.
– “èuncasino”– “lomeAoinagendaperil2010”
– “Adessononc’ètempo”
– “Possiamofarlo”
Lapromessainiziale
• SOAeraunostrumentoper– PermeIerelenecessarieoperazionidipulizia– PermeIereall’ITdidiventareunfaKorechiaveperilbusiness,invececheunpeso.
– “èuncasino”– “lomeAoinagendaperil2010”
– “Adessononc’ètempo”
– “Possiamofarlo”
– “Perchènonfarequest’altracosa,invece?”
Lapromessainiziale
• SOAeraunostrumentoper– PermeIerelenecessarieoperazionidipulizia– PermeIereall’ITdidiventareunfaKorechiaveperilbusiness,invececheunpeso.
– “èuncasino”– “lomeAoinagendaperil2010”
– “Adessononc’ètempo”
– “Possiamofarlo”
– “Perchènonfarequest’altracosa,invece?”
– “...Abbiamounidea...”
Lapromessainiziale
• SOAeraunostrumentoper– PermeIerelenecessarieoperazionidipulizia– PermeIereall’ITdidiventareunfaKorechiaveperilbusiness,invececheunpeso.
– “èuncasino”– “lomeAoinagendaperil2010”
– “Adessononc’ètempo”
– “Possiamofarlo”
– “Perchènonfarequest’altracosa,invece?”
– “...Abbiamounidea...”
– PermeIerealleimpresediridurreilvandorlock‐inedirecuperareilcontrollosulbudgetdell’IT.
...deFainunaltromodo
• SOAèunostrumentoperpermeIereallegrandiaziendediraggiungerelabusinessagility– Ciclidirilasciodeiprodo@piùbrevi
– OIenereilfeedbackdireIamentedalmercato
– Sperimentarenuovimodidifarebusiness
Alberto Brandolini 01/09/08Qui ci pouò stare l'esempio di Amazon
...deFainunaltromodo
• SOAèunostrumentoperpermeIereallegrandiaziendediraggiungerelabusinessagility– Ciclidirilasciodeiprodo@piùbrevi
– OIenereilfeedbackdireIamentedalmercato
– Sperimentarenuovimodidifarebusiness
• SOAnonèunostrumentoperricostruireun’architeFuraesistenteconunanuovatecnologia
Alberto Brandolini 01/09/08Qui ci pouò stare l'esempio di Amazon
• Essereassun>inun’aziendalacuimassimaprioritàsiailsocware.
• lavorarenellostessoposto• Avereaccessoagliuten>(qualsiasicosasignifichi)
• Essereliberidicrescerecometeamedassumersiresponsabilità.
• Essereliberidisceglierelogis>ca,hardware,etc.
LoscenarioSOA
• Generalmentelamassimaprioritàdell’aziendaNONèilsocware
• consulen>,risorseaprogeIo,etc.sonolaregola.
• Losviluppospessoavvieneinpiùsedi,frequenteilricorsoall’offshore.
• Pochiincen>viallacrescitaedall’assunzionediresponsabilità
• Controllomoltolimitatosulogis>ca,hardware,etc.
LatecnologiadiSOA
Libertà!?
• Bassoaccoppiamentoestandarddicomunicazioneindipenden>dallinguaggiooffronolapossibilitàdiimplementareapplicazioninelletecnologiepiùappropriate.
EnterpriseServiceBus
Libertà!?
• Bassoaccoppiamentoestandarddicomunicazioneindipenden>dallinguaggiooffronolapossibilitàdiimplementareapplicazioninelletecnologiepiùappropriate.
EnterpriseServiceBus
...Forsesiamoancoraaccoppia@...?• L’accoppiamentotecnologicoèsolounodeivarifaIoridiaccoppiamentosullascena:– Budgetperlelicenze
– Opera>ons&Support
– Standardaziendali,Regoleeprescrizionigiàinessere
– Strategieperlages>onedelpersonale
– ArchiteIura
– Culturaaziendale
Inchelinguaparliamo?
• UMLnonèsufficienteperleesigenzediSOA
• Emergeunnuovogergo,nuovidiagrammi,nuovenotazioni,nuovilayer...
Inchelinguaparliamo?
• UMLnonèsufficienteperleesigenzediSOA
• Emergeunnuovogergo,nuovidiagrammi,nuovenotazioni,nuovilayer...
Inchelinguaparliamo?
• UMLnonèsufficienteperleesigenzediSOA
• Emergeunnuovogergo,nuovidiagrammi,nuovenotazioni,nuovilayer...
Mettiamolecoseassieme
AgileandSOA
AgileandSOA
“EnterprisesexperiencemoresuccesswithSOAwhentheyeschewbigtop‐downdeliveryprojectsandinsteadgetdowninthetrencheswithanevolu7onaryapproach.Agileprocessesprovideabasicstructureforthiskindofincrementaldelivery.”• CareySchwaber,ForresterResearch
...nonmol>ar>coliinvececidiconoquantoiprocessiagilipossanotrarrebeneficiodaSOA
AgilecomeGiocoCoopera@vo• Losvilupposocwarepuòesseredefinitocomeungiococoopera@vo,finito,direFoadunobieGvo(Cockburn)
Finite,Non‐goal‐directed
Finite,goal‐directed
Carpetwrestling
Infinite
Jazz
TennisSoLware
Development
Dolls
Compe@@ve Coopera@ve
Organiza>onSurvival
Careermanagement
So[waredevelopmentasaGame
• Finito:unprogeIocominciaefinisce(inunmodoonell’altro)
• DireFoadunobieGvo:es.consegnareintempo
• Collabora@vo:s>amogiocandoinsiemeaglialtrimembridelteam
• …manons>amofacendosoloquesto:– S>amoinvestendosullacarriera
– Giochiamoafareigenitori
– Etc.etc.
Unteamdisuccesso
Alcunielemen@chiave
• IlTeam– Miglioritalen>disponibili
– Obie@videllasquadraprimadiquellipersonali
– Elevatamo>vazione
• L’obieGvo– Obie@vochiaro
– esperienzalimitataneltempo
– Risultatomisurabile
Unteamunpo’menodisuccesso...
Unteamunpo’menodisuccesso...
Elemen@chiave
• Ilteam– Imiglioritalen>?
– Obie@viindividuali(odipar>to)primadiquellidelteam,...odelcliente...:‐(
• L’obieGvo– Noncosìbendefinito(amenodicredereaiproclamieleIorali)
– Intervalloditempocasuale
– Risultatononmisurabile(aiposteri...)
Giocoarisorselimitate
• Loscenarioèlimitatosusvaria>parametrichiave:– Budget
– Tempo
– Esperienza
– Talento
– Quan@tàdiinformazioniges@bili
QualèilgiocodiSOA?
• SOAègeneralmenteungiocogiocatoadunlivellodifferentedallosviluppo:– Gliobie@visonolega>adunastrategiadilungoperiodo
– Irisulta>dimedioterminepossonorisultarenonosservabiliomisurabiliperilteam.
• Es.Budget
• Eliminazionediunsistemaesterno
TheSOAGame
Unacri>cacomuneallemetodologieAgili,èchesifocalizzanosuobie@viabrevetermine.
SOAvuolevedereilquadrocomplessivo,concentrandosisuobie@viavoltenoncompletamentetrasparen>.
Laculturadominante
• laculturaaziendalepuòesseremoltolontanadaiprincipiagili
• SOApuòaverel’appoggiodelmanagement,manonèdeIocheanchelemetodologieagilicel’abbiano.
• Carriere,ruoliespecializzazionipossonorisultaresoIopressione.
DimensionedelprogeFo
• SOAspessoimplicalapresenzadimol>teamdisviluppoallostessotempo
DimensionedelprogeFo
• SOAspessoimplicalapresenzadimol>teamdisviluppoallostessotempo
Piùrealis@camente...
51
IlritornodelTopDown
• Alcunstrumen>reintroduconolafilosofiatop‐down– Ruoliprefissa>
– Tooldrivendesign
– Sviluppobasatosullespecifiche
• UnulterioresgradevoleeffeIo...– Ilfeedbackdalbassoèscoraggiato
– Ideepotenzialmentebuonevannoperdute
IlritornodelTopDown
• Alcunstrumen>reintroduconolafilosofiatop‐down– Ruoliprefissa>
– Tooldrivendesign
– Sviluppobasatosullespecifiche
• UnulterioresgradevoleeffeIo...– Ilfeedbackdalbassoèscoraggiato
– Ideepotenzialmentebuonevannoperdute
IlritornodelTopDown
• Alcunstrumen>reintroduconolafilosofiatop‐down– Ruoliprefissa>
– Tooldrivendesign
– Sviluppobasatosullespecifiche
• UnulterioresgradevoleeffeIo...– Ilfeedbackdalbassoèscoraggiato
– Ideepotenzialmentebuonevannoperdute
IlritornodelTopDown
• Alcunstrumen>reintroduconolafilosofiatop‐down– Ruoliprefissa>
– Tooldrivendesign
– Sviluppobasatosullespecifiche
• UnulterioresgradevoleeffeIo...– Ilfeedbackdalbassoèscoraggiato
– Ideepotenzialmentebuonevannoperdute
CominciareAgileeSOA?
• Benchèsianoortogonali,duerivoluzioniallostessotemposonoprobabilmentetroppoperunteam
• Ma...agilesicomportabeneinpresenzadiesplorazioniedincertezza:– processoada@vo
– spikes
– approcciotestdriven
Prepariamolascena
• NongeneriamoaspeIa>vedifficilidasoddisfare
• Manteniamoilmanagementalcorrentedeipossibiliproblemi– LetransizioniaimetodiagilimeIonosoIopressioneleorganizzazioni,esponendoproblemichesonosempresta>nascos>soIoiltappeto.
– Cer>problemisonosempresta>lì(magarisoIoiltappeto),meIerliinevidenzapuòappariresgradito.
• Scegliamoobie@viraggiungibiliinuntemporagionevole
• Raggiungiamoli
• Costruiamosuirisulta>
• sicurezza• affiatamento
• reputazione
Sceglieteunobie@vofacile
Viaggiamoleggeri
Viaggiamoleggeri
• ladisponibiltàdistrumen>perges>relacomplessitàdiSOAnonsignificachedobbiamoincoraggiarelacomplessità
Viaggiamoleggeri
• ladisponibiltàdistrumen>perges>relacomplessitàdiSOAnonsignificachedobbiamoincoraggiarelacomplessità
• IllatooscurodiSOAnonèmegliodiciòchel’hapreceduta...
Viaggiamoleggeri
• ladisponibiltàdistrumen>perges>relacomplessitàdiSOAnonsignificachedobbiamoincoraggiarelacomplessità
• IllatooscurodiSOAnonèmegliodiciòchel’hapreceduta...
Appoggiamocisustandard
• Comecorollarioa“decideaslateaspossible”:– Sviluppiamosustandardconsolida>sepossibile
• Miglioredocumentazione
• Rimpiazzabili
• ...s>amofacendstrategiedilungotermine.
– Evitareletentazionidifeaturesvendor‐specific
– ManteniamosoIocontrolloladeviazionedaglistandard
Ladecisionepiùirreversibile...
Ladecisionepiùirreversibile...
Nonsepariamocidainostrisoldi!
Noncompriamonullalacuinecessitànonsiaprovata!!!
Evi@amol’approccioBig‐Bang
• Un’approcciosulargascalaintroducepiùproblemilega>alcoordinamentoedallacondivisionediinformazioniinevoluzione.
• Piccoliguerrilla‐teamspossonofareunlavoromiglioreconunusopiùefficientedellerisorse
59
Evi@amol’approccioBig‐Bang
• Un’approcciosulargascalaintroducepiùproblemilega>alcoordinamentoedallacondivisionediinformazioniinevoluzione.
• Piccoliguerrilla‐teamspossonofareunlavoromiglioreconunusopiùefficientedellerisorse
• Ognifrasechecominciacon“ogni”èpotenzialmentepericolosa!
59
Neverbeblocked
60
Neverbeblocked
• Leinterdipendezetrasistemipossonorallentarciindefinitamente
60
Neverbeblocked
• Leinterdipendezetrasistemipossonorallentarciindefinitamente
• NonaspeFarequalcosaaldifuoridelnostroscopediprogeIo.
60
Neverbeblocked
• Leinterdipendezetrasistemipossonorallentarciindefinitamente
• NonaspeFarequalcosaaldifuoridelnostroscopediprogeIo.– Mockiamola
60
Neverbeblocked
• Leinterdipendezetrasistemipossonorallentarciindefinitamente
• NonaspeFarequalcosaaldifuoridelnostroscopediprogeIo.– Mockiamola
– implemen>amola
60
Neverbeblocked
• Leinterdipendezetrasistemipossonorallentarciindefinitamente
• NonaspeFarequalcosaaldifuoridelnostroscopediprogeIo.– Mockiamola
– implemen>amola
– facciamoneameno
60
Neverbeblocked
• Leinterdipendezetrasistemipossonorallentarciindefinitamente
• NonaspeFarequalcosaaldifuoridelnostroscopediprogeIo.– Mockiamola
– implemen>amola
– facciamoneameno
• ...qualsiasicosafacciamo,facciamolopubblicamente.
60
RipensiamoagliSprechi
• Alcuneformedispreco“fareduevoltelastessacosa”possonoesserepreferibilia“documentacos’haifaKo”
• Losvilupposulargascalacambialepriorità
• Iconfiniaziendalielogis>cicambiano– Cos>dicomunicazione
– Passaggidiconsegne
Ilcostodicomunicare• Leinformazioninonsipropaganoconladocumentazione,masapendocosastannofacendoglialtri.– Mantenerepiùteamallinea>
• ScrumofScrums
• Informa>onradiators
• Prossimità
• Endofitera>ondemo
• Quandoècomunquemeglioscrivere,iWikipermeIonodiscriveredocumentazioneon‐demand.
Condividiamoilpiano
• Impedireaglisviluppatoridivedereilquadrocomplessivoimpediscedidaredeicontribu@significa@vi.– SonopossibilisolooGmizzazionilocali
– Sonopossibilierrorimadornali
Pianificazionedialtolivello
• SOAèunprocessoditrasformazionealungotermine
• Ognipassocambialoscenario– Maggioreconoscenzadelcontesto– Pesieprioritàdifferen>– Differen>opportunità
• E’necessarioaggiornareeri‐pianificaredifrequente,percentraregliobie@vi(nonnecessariamentequellioriginali)– Misuriamo,nonassumiamo– Ges@amoirischi,nonfacciamoprevisioni– Noniniziamonulladicuinoncisiabisognoora
Alberto Brandolini 02/09/08fioniore
SOATes@ng
• SOAèbasatasuiprincipidiDesignbyContract...ilparadisodeltester!– Definizionedell’interfacciabasatasustandard.
– AIesebendefinitesulcomportamentoespostodaiservizi
Tes@suSOA:challenges
• Testsuiteindipendentedallinguaggio
• MockseStubscheimplementanoiservizi
• Selezionedelleareechiaveperiltest
• Definizioneeges>onedell’ambienteditest
Definizionedegliambien@
• Indetermina>contes>,gliambien>ditestpossonoesseretroppocomplessiocostosiperesserereplica>– Teniamosempreinfunzioneitooldicon>nuousintegra>on
– Estendiamogliambien>diintegrazionefindovepossibile
– TroviamounpuntodiequilibriotracorreIezzaeges>bilità
– Manteniamosempreitestaggiorna>
Indueparole...
Indueparole...
• Impediamoallevecchieabitudinidifarladapadrone
• Prepariamociacompromessi(temporanei)– Teniamotracciadelprezzodapagare
– Siamopron>acambiare,cogliendonuoveopportunità
• Coinvolgiamoigius>sponsor
• Comunicare!!!
• PrepariamociadunoIovolante!
... finito?
... finito?Grazie a tutti!