SlideShare a Scribd company logo
DRUPAL AGILE 
DRUPAL ED IL MERCATO ENTERPRISE 
a.k.a “come non farsi male facendo parcour in carriola”
Marco Giacomassi 
fondatore 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’enterprise 
So what?
Enterprise 
in che senso?
Management multilivello 
e divisione delle responsabilità
Progetti di lungo raggio 
necessità di manutenzione ed evoluzione
Team ibridi 
fornitore 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 study 
la piattaforma ELITE di Borsa Italiana
Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISE
Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISE
Elite 
Borsa Italiana 
5 dev 8 dev 8 dev 
1 pm 
11 dev 
1 pm 
2013 
jul 
2013 
dec 
2014 
jan 
2014 
may 
Drupal 7 
CMS 
Document & task management 
Social 
Gerarchie multilivello
Scrum 
Master 
Product 
Owner 
Team 
PM Devs 
Tracker 
Cliente 
Tracker 
Team
“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 ]
Configurazione nel database 
Il nostro build stack 
make file, installation profile, drush, features, phing 
[ soluzione ]
Import/export di contenuti 
[ problema ]
Import/export di contenuti 
Migrate, hook_update_N 
e tanto, ma tanto, amore 
[ soluzione ]
No mocking, no party 
la mancanza di Acceptance Testing 
[ problema ]
La mancanza di Acceptance Testing 
Behat e qualche esoterismo 
ma l’implementazione è onerosa 
ed i tempi di esecuzione sono molto lunghi 
[ soluzione ]
Niente 
Continuous 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 è stato 
d’aiuto perchè...
È l’unico CMS che si 
fa trattare come un 
framework
Core e principali moduli 
contrib robusti e affidabili
Propone una cultura 
doing things the Drupal way
Conoscenze ed esperienze 
da una grande community
Non c’è limite alla 
customizzazione 
anche quando costosa, è possibile
Sicurezza 
nessuno 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’integration 
non troppo continuous, ma c’è
Chi ha bisogno 
di un database? 
:)
Flusso di controllo 
sia dell’integrazione che dei rilasci
Integrazione 
tra issue tracker 
e versioning tools
Enforcing dell’ordine 
con git hooks, PHPCS e peer review
Ma c’è ancora aria sotto 
l’acceleratore! 
a.k.a. “Aspettando Drupal 8”
Un task runner più potente 
logica 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-mail 
meno overhead nelle informazioni
Docker 
la nostra febbrile fantasia notturna
Drupal 8 to the rescue
OOP to the core 
test, isolamento e interoperabilità
Configuration export 
deploy e versioning della configurazione 
“bye bye Feature?”
Twig 
un vero template engine, finalmente! 
:)
RESTful services 
testare 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-drupalisti 
aspetti dell’applicazione 
caching, logging, REST clients, etc
DOMANDE?
Quindi, verdetto?
siii puooò FARE!
MARCHETTE
GRAZIE!

More Related Content

Drupal Agile: DRUPAL ED IL MERCATO ENTERPRISE