SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
© Ibuildings 2014/2015 - All rights reserved
#DrupalDaysEU
(We Need) Another Copernican Revolution
– or –
Why Maintenance Doesn't Suck
but Big Projects Do
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
Gold Sponsors
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
Media Sponsors
Silver Sponsors
© Ibuildings 2014/2015 - All rights reserved
Speaker Info
Christopher Torgalson
Drupal Developer
christopher@torgalson.net
@bedlamhotel
Chromatic!
© Ibuildings 2014/2015 - All rights reserved
The Copernican Revolution
(An Allegory In Pictures)
●
The Copernican Revolution is
notable because it completely
inverted how people thought about
celestial motion
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
PTOLEMY: GEOCENTRIC!
http://bit.ly/1F0BIw1
●
The geocentric, Ptolemaic model
made it dicult to account for the
motions of celestial bodies.
●
But it had the huge advantage of
being incredibly obvious
●
The sun clearly moves around the
earth
●
But...
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
COPERNICUS: NO!
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
HELIOCENTRIC!
(And everybody lived happily ever after)
http://bit.ly/1MJPN0b
●
The heliocentric model wasn't as
blindingly obvious
●
But it made it made a lot of things
(such as the fact that planets
appear to move backwards for part
of their orbits) much easier to
explain
© Ibuildings 2014/2015 - All rights reserved
Sometimes, our thinking about making websites is a little
PTOLEMAIC
●
Some of the things we do are
inside-out, or backwards, or old-
fashioned
●
I'd like to see a Copernican
revolution in our industry
●
Not every project or organization
su+ers severely from these
problems, but the organizations
and sites I've worked on have
almost all had a degree of
“Ptolemaic” thinking
●
But .rst, some background...
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
All websites have problems.
https://www.flickr.com/photos/wordollhouses/2775311134
●
This is true whether we build or
inherit the websites
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
These problems tend to get worse over time
https://www.flickr.com/photos/usachicago/4720385881
●
Code—and sometimes even UIs—
become harder to work with
●
CI deteriorates
●
Quality, in general, degrades
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
We refer to these problems collectively as...
(TL;DR: EVERYTHING WE SCREWED UP AND DIDN'T FIX)
●
All projects have some
●
All projects are at risk for more
●
There are multiple causes some of
which are systemic
●
I don't have a solution to the
problem, but I have a diagnosis of
one of the systemic ways it can
come about
© Ibuildings 2014/2015 - All rights reserved
When it comes to building websites, what do we
PRIORITIZE?
●
Very often, it's big projects at the
expense of maintenance
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
BIG PROJECTS!
https://www.flickr.com/photos/zoriah/5888742159/
●
We prioritize big projects
●
They tend to monopolize resources
and devour large budgets
●
But, they involve full teams on
both the client and agency sides
●
And, they accomplish a lot
●
But...
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
NOT MAINTENANCE!
https://www.flickr.com/photos/metrolibraryarchive/11225561005
●
Maintenance is often neglected
●
It usually does not involve either
the full client or agency team
●
It often neglects process
●
Timelines may be short/budgets
small
●
Sometimes decisions are left to
engineers and overall strategy gets
neglected
●
Sometimes decisions are left to
clients, and best practices are
neglected
●
Often little is accomplished
© Ibuildings 2014/2015 - All rights reserved
There's Maintenance and there's
“MAINTENANCE”
●
At least now we do maintenance in
the .rst place
●
But even when we do, the results
are variable
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
BAD MAINTENANCE
• Problems in custom code go unfixed
• New problems regularly introduced
• No consideration of coming upgrades
• Code quality deteriorates
• Ad-hoc solutions proliferate
• Compliance with CI decreases
• TECHNICAL DEBT INCREASES
https://www.flickr.com/photos/cmdrcord/9414641873
●
Bad maintenance comes in several
varieties:
●
No maintenance
●
The “Apathy” model
●
New features only
●
The “Magpie” model
●
Security upgrades only
●
The “Better Than Nothing”
model
●
Core and module upgrades only
●
The “Status Quo” model
●
Less bad, but what about all
that custom code we wrote?
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
GOOD MAINTENANCE
• Fixes bugs
• Adds / improves documentation
• Eliminates ad-hoc solutions
• Uncouples (too) tightly-coupled systems
• Favours stable APIs over custom code
• Reduces (unnecessary) complexity
• TECHNICAL DEBT DECREASES
• But is it worth the EXPENSE?
https://www.flickr.com/photos/orkomedix/7297075780
●
Prevents new technical debt by
involving client and agency teams:
●
best practices respected
●
Strategy considered
●
It is planned, speci.ed, scheduled,
and it should have speci.c,
measurable goals
© Ibuildings 2014/2015 - All rights reserved
We need to take care of our codebases because they
WON'T GO AWAY
●
In fact, they are living longer and
longer
●
We are heading for a time when
individual components can live
inde.nitely
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
Upgrades are becoming less terrible
• Semantic versioning
• Symfony
• Twig
• SASS
• Front end
• Headless
• Migrate API
●
The whole Drupal ecosystem is
heading in a direction that will
make upgrades easier
●
interoperability
●
looser coupling between the
Drupal backend and frontend
●
Semantic versioning promises to
make this easier too (at least
within versions)
●
More custom code will survive
upgrades
© Ibuildings 2014/2015 - All rights reserved
So what's this
REVOLUTION?
●
All I propose is that we focus on
sites' lifetimes rather than their
birthdays
●
Maintenance happens far more
often and for far longer than the
initial project
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
SHRINK BIG PROJECTS
https://www.flickr.com/photos/sanctusguy65/400145232
●
Simply put, don't throw everything
that's ever going into the site at
the outset
●
Plan to roll out core functionality,
followed by staged release of
features
#DrupalDaysEU
© Ibuildings 2014/2015 - All rights reserved
PRIORITIZE MAINTENANCE
https://www.flickr.com/photos/roystan/3763647394
●
Would it help if I called it Iterative
development?
●
Use agency teams like sta+
●
Look to SAAS as a model
●
Deprioritize large projects
●
Allocate more resources to
maintenance
●
Where possible decompose large
projects into many smaller projects
●
Sometimes we must build large
projects in one go—but make sure
that we must
© Ibuildings 2014/2015 - All rights reserved
Educate
CLIENTS
●
Get the word out to whoever it is
you build sites for
●
Code is the vehicle used to
accomplish their communications
objectives
●
Speed, convenience, missing
features
© Ibuildings 2014/2015 - All rights reserved
Educate
COLLEAGUES
●
Poor, hastily-developed,
incomplete, or broken code:
●
Makes new development/coding
take longer
© Ibuildings 2014/2015 - All rights reserved
Ask
QUESTIONS
●
In fact, they are living longer and
longer

Mais conteúdo relacionado

Mais procurados

From 0 to MVP in 40 minutes: decoupled Drupal for startups
From 0 to MVP in 40 minutes: decoupled Drupal for startupsFrom 0 to MVP in 40 minutes: decoupled Drupal for startups
From 0 to MVP in 40 minutes: decoupled Drupal for startups
Jeffrey McGuire
 

Mais procurados (20)

Dimpact wim bumpy road of building reusable platform for municipalities from...
Dimpact wim  bumpy road of building reusable platform for municipalities from...Dimpact wim  bumpy road of building reusable platform for municipalities from...
Dimpact wim bumpy road of building reusable platform for municipalities from...
 
DevOps for Managers
DevOps for ManagersDevOps for Managers
DevOps for Managers
 
Top 10 devops values
Top 10 devops valuesTop 10 devops values
Top 10 devops values
 
Amplify Agile with DevOps
Amplify Agile with DevOpsAmplify Agile with DevOps
Amplify Agile with DevOps
 
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
Build Infrastructure: What It Is, Why You Need It, and How to Use Python to F...
 
How We Make Unity
How We Make UnityHow We Make Unity
How We Make Unity
 
From 0 to MVP in 40 minutes: decoupled Drupal for startups
From 0 to MVP in 40 minutes: decoupled Drupal for startupsFrom 0 to MVP in 40 minutes: decoupled Drupal for startups
From 0 to MVP in 40 minutes: decoupled Drupal for startups
 
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
Responsive & Ready: Why Drupal 8 is Ideal for Building Mobile-first Experienc...
 
Why Drupal 8? Why now? FEB/MAR 2015
Why Drupal 8? Why now? FEB/MAR 2015Why Drupal 8? Why now? FEB/MAR 2015
Why Drupal 8? Why now? FEB/MAR 2015
 
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
Ask Us Anything: Dries Buytaert and Team Tell All on Drupal 8
 
Why Drupal 8? Why now? APR/MAY 2015
Why Drupal 8? Why now? APR/MAY 2015Why Drupal 8? Why now? APR/MAY 2015
Why Drupal 8? Why now? APR/MAY 2015
 
VarnaConf - Blue/Green Deployments with Docker, haproxy and Consul
VarnaConf - Blue/Green Deployments with Docker, haproxy and ConsulVarnaConf - Blue/Green Deployments with Docker, haproxy and Consul
VarnaConf - Blue/Green Deployments with Docker, haproxy and Consul
 
Distributed Companies: A WordPress.com Team Perspective
Distributed Companies: A WordPress.com Team PerspectiveDistributed Companies: A WordPress.com Team Perspective
Distributed Companies: A WordPress.com Team Perspective
 
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
The Immor(t)ality of Legacy Projects - Dalia Simons, Wix - DevOpsDays Tel Avi...
 
Agil Eight Android
Agil Eight AndroidAgil Eight Android
Agil Eight Android
 
The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)The Agile and Open Source Way (AgileTour Brussels)
The Agile and Open Source Way (AgileTour Brussels)
 
ZS Drupal meetup - Drupal 8 CHALLENGES AND HANDS ON
ZS Drupal meetup - Drupal 8 CHALLENGES AND HANDS ONZS Drupal meetup - Drupal 8 CHALLENGES AND HANDS ON
ZS Drupal meetup - Drupal 8 CHALLENGES AND HANDS ON
 
CLASS: An ideation technique for lean UX in the enterprise--Presentation for ...
CLASS: An ideation technique for lean UX in the enterprise--Presentation for ...CLASS: An ideation technique for lean UX in the enterprise--Presentation for ...
CLASS: An ideation technique for lean UX in the enterprise--Presentation for ...
 
Responsive Web Design
Responsive Web DesignResponsive Web Design
Responsive Web Design
 
Modern .NET Apps - Telerik Webinar
Modern .NET Apps - Telerik WebinarModern .NET Apps - Telerik Webinar
Modern .NET Apps - Telerik Webinar
 

Destaque

Destaque (8)

Drupal dashboard for dummies with d3
Drupal dashboard for dummies with d3Drupal dashboard for dummies with d3
Drupal dashboard for dummies with d3
 
Architettura e visualizzazione dei dati in Drupal
Architettura e visualizzazione dei dati in DrupalArchitettura e visualizzazione dei dati in Drupal
Architettura e visualizzazione dei dati in Drupal
 
PhpStorm for Drupal Development (European Drupal Days 2015)
PhpStorm for Drupal Development (European Drupal Days 2015)PhpStorm for Drupal Development (European Drupal Days 2015)
PhpStorm for Drupal Development (European Drupal Days 2015)
 
Drupal theming - a practical approach (European Drupal Days 2015)
Drupal theming - a practical approach (European Drupal Days 2015)Drupal theming - a practical approach (European Drupal Days 2015)
Drupal theming - a practical approach (European Drupal Days 2015)
 
UN World Food Programme Standards & Best Practises (European Drupal Days 2015)
UN World Food Programme Standards & Best Practises (European Drupal Days 2015)UN World Food Programme Standards & Best Practises (European Drupal Days 2015)
UN World Food Programme Standards & Best Practises (European Drupal Days 2015)
 
Optimizing MariaDB for Web Applications (European Drupal Days 2015)
Optimizing MariaDB for Web Applications (European Drupal Days 2015)Optimizing MariaDB for Web Applications (European Drupal Days 2015)
Optimizing MariaDB for Web Applications (European Drupal Days 2015)
 
Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)Drupal Continuous Integration (European Drupal Days 2015)
Drupal Continuous Integration (European Drupal Days 2015)
 
A Practical Introduction to Symfony (European Drupal Days 2015)
A Practical Introduction to Symfony (European Drupal Days 2015)A Practical Introduction to Symfony (European Drupal Days 2015)
A Practical Introduction to Symfony (European Drupal Days 2015)
 

Semelhante a Another Copernican Revolution: maintenance first, projects second (European Drupal Days 2015)

Semelhante a Another Copernican Revolution: maintenance first, projects second (European Drupal Days 2015) (20)

Bridging the gap between business and technology - Behaviour Driven Developme...
Bridging the gap between business and technology - Behaviour Driven Developme...Bridging the gap between business and technology - Behaviour Driven Developme...
Bridging the gap between business and technology - Behaviour Driven Developme...
 
Performance on a budget (European Drupal Days 2015)
Performance on a budget (European Drupal Days 2015)  Performance on a budget (European Drupal Days 2015)
Performance on a budget (European Drupal Days 2015)
 
Choosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management FrameworkChoosing Drupal as your Content Management Framework
Choosing Drupal as your Content Management Framework
 
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
Drupal 8, Don’t Be Late (Enterprise Orgs, We’re Looking at You)
 
Making the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous DeploymentMaking the Agile Leap to Continuous Deployment
Making the Agile Leap to Continuous Deployment
 
Is Being Agile a Good Thing?
Is Being Agile a Good Thing?Is Being Agile a Good Thing?
Is Being Agile a Good Thing?
 
Drupal for Big Data - is it ready? (European Drupal Days 2015)
Drupal for Big Data - is it ready? (European Drupal Days 2015)Drupal for Big Data - is it ready? (European Drupal Days 2015)
Drupal for Big Data - is it ready? (European Drupal Days 2015)
 
Drupal
DrupalDrupal
Drupal
 
What is DevOps?
What is DevOps?What is DevOps?
What is DevOps?
 
Devops For Drupal
Devops  For DrupalDevops  For Drupal
Devops For Drupal
 
An agile introduction to DevOps
An agile introduction to DevOpsAn agile introduction to DevOps
An agile introduction to DevOps
 
Secure Drupal, from start to finish (European Drupal Days 2015)
Secure Drupal, from start to finish (European Drupal Days 2015)Secure Drupal, from start to finish (European Drupal Days 2015)
Secure Drupal, from start to finish (European Drupal Days 2015)
 
Secure Drupal, from start to finish
Secure Drupal, from start to finishSecure Drupal, from start to finish
Secure Drupal, from start to finish
 
Devops Devops Devops, at Froscon
Devops Devops Devops, at FrosconDevops Devops Devops, at Froscon
Devops Devops Devops, at Froscon
 
Mastering DevOps with Oracle
Mastering DevOps with Oracle Mastering DevOps with Oracle
Mastering DevOps with Oracle
 
DevOps – Don’t Be Left Behind
DevOps – Don’t Be Left BehindDevOps – Don’t Be Left Behind
DevOps – Don’t Be Left Behind
 
Dev ops don't be left behind
Dev ops   don't be left behindDev ops   don't be left behind
Dev ops don't be left behind
 
Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?
Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?
Dev talks Cluj 2018 : Java in the 21 Century: Are you thinking far enough ahead?
 
DEVOPS IS DEAD.
DEVOPS IS DEAD.DEVOPS IS DEAD.
DEVOPS IS DEAD.
 
Inclusive design 24 (gaad)
Inclusive design 24 (gaad)Inclusive design 24 (gaad)
Inclusive design 24 (gaad)
 

Mais de Eugenio Minardi

Mais de Eugenio Minardi (19)

Delphi and ExtJS (26 ottobre 2017)
Delphi and ExtJS (26 ottobre 2017)Delphi and ExtJS (26 ottobre 2017)
Delphi and ExtJS (26 ottobre 2017)
 
ExtJS: La piattaforma vincente (tools)
ExtJS: La piattaforma vincente (tools)ExtJS: La piattaforma vincente (tools)
ExtJS: La piattaforma vincente (tools)
 
ExtJS: La piattaforma vincente (multiple screens)
ExtJS: La piattaforma vincente (multiple screens)ExtJS: La piattaforma vincente (multiple screens)
ExtJS: La piattaforma vincente (multiple screens)
 
ExtJS: La piattaforma vincente (rich UI)
ExtJS: La piattaforma vincente (rich UI)ExtJS: La piattaforma vincente (rich UI)
ExtJS: La piattaforma vincente (rich UI)
 
ExtJS: La piattaforma vincente (class system)
ExtJS: La piattaforma vincente (class system)ExtJS: La piattaforma vincente (class system)
ExtJS: La piattaforma vincente (class system)
 
ExtJS: La piattaforma vincente
ExtJS: La piattaforma vincenteExtJS: La piattaforma vincente
ExtJS: La piattaforma vincente
 
Distributed Team Management: 
Pitfall, Challenges and Advantages
Distributed Team Management: 
Pitfall, Challenges and AdvantagesDistributed Team Management: 
Pitfall, Challenges and Advantages
Distributed Team Management: 
Pitfall, Challenges and Advantages
 
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
Deploying an Open Source DAM in SAAS Mode (European Drupal Days 2015)
 
The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)The multilingual Drupal 8 experience (European Drupal Days 2015)
The multilingual Drupal 8 experience (European Drupal Days 2015)
 
Drupal Security: How to survive Drupalgeddon and prepare for future (European...
Drupal Security: How to survive Drupalgeddon and prepare for future (European...Drupal Security: How to survive Drupalgeddon and prepare for future (European...
Drupal Security: How to survive Drupalgeddon and prepare for future (European...
 
The benefits of an elastic infrastructure on a Drupal e-commerce (European Dr...
The benefits of an elastic infrastructure on a Drupal e-commerce (European Dr...The benefits of an elastic infrastructure on a Drupal e-commerce (European Dr...
The benefits of an elastic infrastructure on a Drupal e-commerce (European Dr...
 
Verifying Drupal modules with OWASP ASVS 2014 (European Drupal Days 2015)
Verifying Drupal modules with OWASP ASVS 2014 (European Drupal Days 2015)Verifying Drupal modules with OWASP ASVS 2014 (European Drupal Days 2015)
Verifying Drupal modules with OWASP ASVS 2014 (European Drupal Days 2015)
 
Web automation with #d8rules (European Drupal Days 2015)
Web automation with #d8rules (European Drupal Days 2015)Web automation with #d8rules (European Drupal Days 2015)
Web automation with #d8rules (European Drupal Days 2015)
 
Sponsorship Opportunities European Drupal Days & Dutch PHP Conference 2015
Sponsorship Opportunities European Drupal Days & Dutch PHP Conference 2015Sponsorship Opportunities European Drupal Days & Dutch PHP Conference 2015
Sponsorship Opportunities European Drupal Days & Dutch PHP Conference 2015
 
MongoDB: What, why, when
MongoDB: What, why, whenMongoDB: What, why, when
MongoDB: What, why, when
 
Il Web orientato al futuro: Express, Angular e nodeJS
Il Web orientato al futuro: Express, Angular e nodeJS Il Web orientato al futuro: Express, Angular e nodeJS
Il Web orientato al futuro: Express, Angular e nodeJS
 
MEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del webMEAN: il nuovo stack di sviluppo per il futuro del web
MEAN: il nuovo stack di sviluppo per il futuro del web
 
Gestione della configurazione in Drupal 8
Gestione della configurazione in Drupal 8Gestione della configurazione in Drupal 8
Gestione della configurazione in Drupal 8
 
Labortatorio di Information Design e UX con Drupal
Labortatorio di Information Design e UX con DrupalLabortatorio di Information Design e UX con Drupal
Labortatorio di Information Design e UX con Drupal
 

Último

pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Monica Sydney
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 

Último (20)

pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime BalliaBallia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
Ballia Escorts Service Girl ^ 9332606886, WhatsApp Anytime Ballia
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 

Another Copernican Revolution: maintenance first, projects second (European Drupal Days 2015)

  • 1. © Ibuildings 2014/2015 - All rights reserved #DrupalDaysEU (We Need) Another Copernican Revolution – or – Why Maintenance Doesn't Suck but Big Projects Do
  • 2. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved Gold Sponsors
  • 3. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved Media Sponsors Silver Sponsors
  • 4. © Ibuildings 2014/2015 - All rights reserved Speaker Info Christopher Torgalson Drupal Developer christopher@torgalson.net @bedlamhotel Chromatic!
  • 5. © Ibuildings 2014/2015 - All rights reserved The Copernican Revolution (An Allegory In Pictures) ● The Copernican Revolution is notable because it completely inverted how people thought about celestial motion
  • 6. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved PTOLEMY: GEOCENTRIC! http://bit.ly/1F0BIw1 ● The geocentric, Ptolemaic model made it dicult to account for the motions of celestial bodies. ● But it had the huge advantage of being incredibly obvious ● The sun clearly moves around the earth ● But...
  • 7. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved COPERNICUS: NO!
  • 8. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved HELIOCENTRIC! (And everybody lived happily ever after) http://bit.ly/1MJPN0b ● The heliocentric model wasn't as blindingly obvious ● But it made it made a lot of things (such as the fact that planets appear to move backwards for part of their orbits) much easier to explain
  • 9. © Ibuildings 2014/2015 - All rights reserved Sometimes, our thinking about making websites is a little PTOLEMAIC ● Some of the things we do are inside-out, or backwards, or old- fashioned ● I'd like to see a Copernican revolution in our industry ● Not every project or organization su+ers severely from these problems, but the organizations and sites I've worked on have almost all had a degree of “Ptolemaic” thinking ● But .rst, some background...
  • 10. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved All websites have problems. https://www.flickr.com/photos/wordollhouses/2775311134 ● This is true whether we build or inherit the websites
  • 11. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved These problems tend to get worse over time https://www.flickr.com/photos/usachicago/4720385881 ● Code—and sometimes even UIs— become harder to work with ● CI deteriorates ● Quality, in general, degrades
  • 12. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved We refer to these problems collectively as... (TL;DR: EVERYTHING WE SCREWED UP AND DIDN'T FIX) ● All projects have some ● All projects are at risk for more ● There are multiple causes some of which are systemic ● I don't have a solution to the problem, but I have a diagnosis of one of the systemic ways it can come about
  • 13. © Ibuildings 2014/2015 - All rights reserved When it comes to building websites, what do we PRIORITIZE? ● Very often, it's big projects at the expense of maintenance
  • 14. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved BIG PROJECTS! https://www.flickr.com/photos/zoriah/5888742159/ ● We prioritize big projects ● They tend to monopolize resources and devour large budgets ● But, they involve full teams on both the client and agency sides ● And, they accomplish a lot ● But...
  • 15. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved NOT MAINTENANCE! https://www.flickr.com/photos/metrolibraryarchive/11225561005 ● Maintenance is often neglected ● It usually does not involve either the full client or agency team ● It often neglects process ● Timelines may be short/budgets small ● Sometimes decisions are left to engineers and overall strategy gets neglected ● Sometimes decisions are left to clients, and best practices are neglected ● Often little is accomplished
  • 16. © Ibuildings 2014/2015 - All rights reserved There's Maintenance and there's “MAINTENANCE” ● At least now we do maintenance in the .rst place ● But even when we do, the results are variable
  • 17. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved BAD MAINTENANCE • Problems in custom code go unfixed • New problems regularly introduced • No consideration of coming upgrades • Code quality deteriorates • Ad-hoc solutions proliferate • Compliance with CI decreases • TECHNICAL DEBT INCREASES https://www.flickr.com/photos/cmdrcord/9414641873 ● Bad maintenance comes in several varieties: ● No maintenance ● The “Apathy” model ● New features only ● The “Magpie” model ● Security upgrades only ● The “Better Than Nothing” model ● Core and module upgrades only ● The “Status Quo” model ● Less bad, but what about all that custom code we wrote?
  • 18. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved GOOD MAINTENANCE • Fixes bugs • Adds / improves documentation • Eliminates ad-hoc solutions • Uncouples (too) tightly-coupled systems • Favours stable APIs over custom code • Reduces (unnecessary) complexity • TECHNICAL DEBT DECREASES • But is it worth the EXPENSE? https://www.flickr.com/photos/orkomedix/7297075780 ● Prevents new technical debt by involving client and agency teams: ● best practices respected ● Strategy considered ● It is planned, speci.ed, scheduled, and it should have speci.c, measurable goals
  • 19. © Ibuildings 2014/2015 - All rights reserved We need to take care of our codebases because they WON'T GO AWAY ● In fact, they are living longer and longer ● We are heading for a time when individual components can live inde.nitely
  • 20. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved Upgrades are becoming less terrible • Semantic versioning • Symfony • Twig • SASS • Front end • Headless • Migrate API ● The whole Drupal ecosystem is heading in a direction that will make upgrades easier ● interoperability ● looser coupling between the Drupal backend and frontend ● Semantic versioning promises to make this easier too (at least within versions) ● More custom code will survive upgrades
  • 21. © Ibuildings 2014/2015 - All rights reserved So what's this REVOLUTION? ● All I propose is that we focus on sites' lifetimes rather than their birthdays ● Maintenance happens far more often and for far longer than the initial project
  • 22. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved SHRINK BIG PROJECTS https://www.flickr.com/photos/sanctusguy65/400145232 ● Simply put, don't throw everything that's ever going into the site at the outset ● Plan to roll out core functionality, followed by staged release of features
  • 23. #DrupalDaysEU © Ibuildings 2014/2015 - All rights reserved PRIORITIZE MAINTENANCE https://www.flickr.com/photos/roystan/3763647394 ● Would it help if I called it Iterative development? ● Use agency teams like sta+ ● Look to SAAS as a model ● Deprioritize large projects ● Allocate more resources to maintenance ● Where possible decompose large projects into many smaller projects ● Sometimes we must build large projects in one go—but make sure that we must
  • 24. © Ibuildings 2014/2015 - All rights reserved Educate CLIENTS ● Get the word out to whoever it is you build sites for ● Code is the vehicle used to accomplish their communications objectives ● Speed, convenience, missing features
  • 25. © Ibuildings 2014/2015 - All rights reserved Educate COLLEAGUES ● Poor, hastily-developed, incomplete, or broken code: ● Makes new development/coding take longer
  • 26. © Ibuildings 2014/2015 - All rights reserved Ask QUESTIONS ● In fact, they are living longer and longer