Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISE

Post on 08-Jul-2015

706 views 0 download

description

Twinbit e Agavee, insieme, hanno avuto la fortuna di lavorare su un progetto di dimensioni intimidenti, per un cliente Enterprise che si è rivelato inaspettatamente competente nello SCRUM. Ormai è impossibile lavorare nel web e non incappare nella voglia di lavorare in modo agile, con metodologie adeguate e moderne. Purtroppo non esiste metodo che regga l'impatto con un cliente non collaborativo o preparato. Senza più scuse, abbiamo dovuto affrontare il processo con Drupal 7. Ecco com'è andata. Autore: Marco Giacomassi

Transcript of Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISE

DRUPAL AGILEDRUPAL ED IL MERCATO ENTERPRISE

a.k.a “come non farsi male facendo parcour in carriola”

Marco Giacomassifondatore e COO di Twinbit

@marcogiaco

photographer, climber, wanderer

www.twinbit.it

Paolo Pustorino fondatore e CEO di Agavee GmbH

@stickgrinder

drummer, gamer, father

www.agavee.com

Drupal va verso l’enterpriseSo what?

Enterprise in che senso?

Management multilivelloe divisione delle responsabilità

Progetti di lungo raggionecessità di manutenzione ed evoluzione

Team ibridifornitore e cliente come unico gruppo di lavoro

Integrazioni con sistemi legacy e di terze parti

Poca elasticità sul piano finanziario e temporale

e spesso anche dello scope

Constraint legali e contrattuali

deathlines

:)

Have you ever heard of...Raise your hands if so

Continuous integration?

Scrum?

Drupal in contesto enterprise?

o con team di 5+ persone

Case studyla piattaforma ELITE di Borsa Italiana

EliteBorsa Italiana

5 dev 8 dev 8 dev1 pm

11 dev1 pm

2013jul

2013dec

2014jan

2014may

Drupal 7CMSDocument & task managementSocialGerarchie multilivello

ScrumMaster

ProductOwner

TeamDevsPM

TrackerCliente

TrackerTeam

“Fare o non fare. Non esiste tentare”Maestro Yoda

a.k.a. “Come abbiamo affrontato le sfide tecnologiche”

Drupal non è pensato per la CI

Configurazione nel database

[ problema ]

Il nostro build stackmake file, installation profile, drush, features, phing

[ soluzione ]

Configurazione nel database

Import/export di contenuti [ problema ]

Migrate, hook_update_Ne tanto, ma tanto, amore

[ soluzione ]

Import/export di contenuti

No mocking, no partyla mancanza di Acceptance Testing

[ problema ]

Behat e qualche esoterismoma l’implementazione è onerosa

ed i tempi di esecuzione sono molto lunghi

[ soluzione ]

La mancanza di Acceptance Testing

NienteContinuous Deploy

In mancanza di accesso ai server di produzione

Niente upgrade path tools

Forte coupling tra business data e application data

“Amo le scadenze. Adoro il sibilo che fanno quando ti

passano a fianco.”Douglas Adams

a.k.a. “Cosa poteva andare meglio”

Deploy Hell

La not-so-continuous integration

La gestione dell’affanno

The Gatekeeper Quest

Le trappole della back-integration

La scarsità di competenze

“Il successo è una conseguenza, non un obiettivo.”

Gustav Falaubert

a.k.a. “Dove Drupal ci ha dato una gran mano”

Drupal è statod’aiuto perchè...

È l’unico CMS che si fa trattare come un

framework

Core e principali moduli contrib robusti e affidabili

Propone una culturadoing things the Drupal way

Conoscenze ed esperienze da una grande community

Non c’è limite alla customizzazioneanche quando costosa, è possibile

Sicurezzanessuno dica “drupalgeddon”!

:)

“Imparare significa scoprire quello che già sai.”

Richard Bach

L’affanno porta affanno

Sollevare i problemi! e prendere il tempo di risolverli, è la strada migliore

Non rinunciate alla retrospettiva

se proprio dovete rinunciare a qualcosa

L’ordine sarà la vostra unica salvezza... se proprio dovete rinunciare alla retrospettiva

How to pimp your Drupal

Abbiamo l’integrationnon troppo continuous, ma c’è

Chi ha bisogno di un database?

:)

Flusso di controllosia dell’integrazione che dei rilasci

Integrazione tra issue tracker

e versioning tools

Enforcing dell’ordinecon git hooks, PHPCS e peer review

Ma c’è ancora aria sotto l’acceleratore!a.k.a. “Aspettando Drupal 8”

Un task runner più potentelogica più potente, parallel tasks e job queue

Automatizzazione dei rilasci

operazioni più atomiche, status reporting, speedy packaging

Migrazione dei contenuti più efficiente e robusta

gli uuid non sono ancora un’opzione matura

Un branching model più legato allo scope

delle storie

Più efficienza nei flussi di informazione

Tracker over e-mailmeno overhead nelle informazioni

Dockerla nostra febbrile fantasia notturna

Drupal 8 to the rescue

OOP to the coretest, isolamento e interoperabilità

Configuration exportdeploy e versioning della configurazione

“bye bye Feature?”

Twigun vero template engine, finalmente!

:)

RESTful servicestestare la business logic in isolamento,

sviluppo mobile nativo e in-browser app

Drupal sta convergendo verso gli industries

standard

“They say Drupal 8 is really weird!”

Senior Drupal developers

“They say Drupal 8 is finally not weird!”

Rest of the world

PHP Standards Recommendation

Interoperabilità e riusabilità

Più competenze in ambito Enterprise

Delega a non-drupalistiaspetti dell’applicazione

caching, logging, REST clients, etc

DOMANDE?

Quindi, verdetto?

siii puooò FARE!

MARCHETTE

GRAZIE!