MANIFESTO-DRIVEN
DEVELOPMENT
PAUL GROTEVANT
UNIVERSITY OF TEXAS AT AUSTIN
MANIFESTO-DRIVEN DEVELOPMENT
WHOAMI
▸ Manager in central IT group at University of Texas at Austin
▸ We build Drupal distributions that other people use to build
sites
▸ UT Austin since 2002 (mostly)
▸ Drupal user since ~2008
▸ Co-organizer, DrupalCon Higher Education Summits, 2016 and
2018
▸ https://www.drupal.org/u/gravelpot
MANIFESTO-DRIVEN DEVELOPMENT
WHY THIS TALK?
▸ I am a total sucker for a good manifesto, and I never really
thought about why
▸ It’s a common genre for sharing ideas in our industry, and
it could be useful to understand why
▸ The process of writing a manifesto was useful and
interesting for our team, and it could be useful for your
team, too
MANIFESTO-DRIVEN DEVELOPMENT
TODAY’S AGENDA
▸ Introduction and theory of manifestos as a genre
▸ Manifestos for business and software
▸ When does your team need its own manifesto?
▸ How do you go about making one?
▸ What are the benefits and challenges of this process?
EFFECTIVE PUBLIC
DECLARATIONS
PART 1
http://mediad.publicbroadcasting.net/p/wpln/files/styles/x_large/public/201710/Luther95theses.jpg
EFFECTIVE PUBLIC DECLARATIONS
“MANIFESTO,” DEFINED
mid 17th century: from Italian, from manifestare, from Latin, ‘make public,’ from manifestus ‘obvious’
A manifesto is a published verbal declaration of the
intentions, motives, or views of the issuer, be it an individual,
group, political party or government.
A manifesto usually accepts a previously published opinion
or public consensus or promotes a new idea with
prescriptive notions for carrying out changes the author
believes should be made.
Source: https://en.wikipedia.org/wiki/Manifesto
EFFECTIVE PUBLIC DECLARATIONS
MANIFESTOS HAVE A WIDE RANGE OF USE CASES
▸ Religious/spiritual
▸ Political
▸ Art/culture
▸ Business
▸ Technology
▸ Personal
EFFECTIVE PUBLIC DECLARATIONS
WHY DO MANIFESTOS WORK AS A GENRE?
▸ Strong opinions and simple storylines are attractive in a
complex world
▸ They challenge and provoke
▸ They can feel like magic
Source: https://www.theatlantic.com/entertainment/archive/2014/06/manifestos-a-manifesto-the-10-things-all-manifestos-need/372135/
EFFECTIVE PUBLIC DECLARATIONS
BENEFITS OF MANIFESTOS
▸ Serves as either a statement of principles or a bold call to
action (or both).
▸ Usually brief and readable enough to review often (daily?)
to help reinforce priorities and provide inspiration.
▸ Allows the present group (or self) to communicate with the
future group (or self) across time.
Source: https://www.artofmanliness.com/articles/how-and-why-to-write-your-own-personal-manifesto/
I AM THE LORD THY GOD, THOU
SHALL NOT HAVE ANY GODS
BEFORE ME.
https://cdn.vox-cdn.com/thumbor/uDAhWukHyMsc9eHHJ2-QnGMyW3M=/0x0:1920x1080/1200x800/filters:focal(669x179:975x485)/cdn.vox-cdn.com/uploads/chorus_image/image/54262177/tencommandmentscover.0.png
WE HOLD THESE TRUTHS TO BE SELF-EVIDENT,
THAT ALL MEN ARE CREATED EQUAL, THAT THEY
ARE ENDOWED BY THEIR CREATOR WITH CERTAIN
UNALIENABLE RIGHTS, THAT AMONG THESE ARE
LIFE, LIBERTY AND THE PURSUIT OF HAPPINESS.
https://origins.osu.edu/sites/origins.osu.edu/files/9%20Declaration%20of%20Independence.jpg
I HAVE A DREAM THAT MY FOUR LITTLE CHILDREN WILL
ONE DAY LIVE IN A NATION WHERE THEY WILL NOT BE
JUDGED BY THE COLOR OF THEIR SKIN BUT BY THE
CONTENT OF THEIR CHARACTER.
https://newsdesk.si.edu/sites/default/files/photos/MLK_Adelman_NPG_2006_16_crop.jpg
EXCEPT IN STRUGGLE, THERE IS
NO MORE BEAUTY. NO WORK
WITHOUT AN AGGRESSIVE
CHARACTER CAN BE A
MASTERPIECE. POETRY MUST BE
CONCEIVED AS A VIOLENT
ATTACK ON UNKNOWN FORCES,
TO REDUCE AND PROSTRATE
THEM BEFORE MAN.
https://cdn.theatlantic.com/assets/media/img/mt/2014/06/tumblr_mbbv9a2N3o1rnh7neo1_1280-1/lead_large.jpg?1522689454
SHOOTING MUST BE DONE ON LOCATION. PROPS
AND SETS MUST NOT BE BROUGHT IN (IF A
PARTICULAR PROP IS NECESSARY FOR THE STORY,
A LOCATION MUST BE CHOSEN WHERE THIS PROP
IS TO BE FOUND).
https://www.holstee.com
https://www.holstee.com/collections/all
https://www.holstee.com/pages/choose-your-plan
EFFECTIVE PUBLIC DECLARATIONS
WHAT MAKES A MANIFESTO SUCCESSFUL?
▸ The manifesto resonates with people and expresses principles
that they share
▸ The manifesto is simple and concise
▸ The manifesto is created by a group of people from different
organizations who may compete, but share the same values and
principles
▸ The manifesto is backed by a community where people can
share ideas and experiences about how they’ve actually applied
the ideas in the manifesto in their actual context
Source: https://kentmcdonald.com/collection-of-manifestos/
MANIFESTOS FOR BUSINESS
AND SOFTWARE
PART 2
http://www-03.ibm.com/ibm/history/ibm100/images/icp/U010027L69409M16/us__en_us__ibm100__system_360__people_at_360__800x620.jpg
NETWORKED MARKETS ARE BEGINNING TO SELF-ORGANIZE
FASTER THAN THE COMPANIES THAT HAVE TRADITIONALLY
SERVED THEM. THANKS TO THE WEB, MARKETS ARE BECOMING
BETTER INFORMED, SMARTER, AND MORE DEMANDING OF
QUALITIES MISSING FROM MOST BUSINESS ORGANIZATIONS.
https://kaylaprendergast.files.wordpress.com/2015/02/cluetrain.jpg
WE ARE UNCOVERING
BETTER WAYS OF
DEVELOPING

SOFTWARE BY DOING
IT AND HELPING
OTHERS DO IT.
The Agile Manifesto, 2001
https://12factor.net
https://12factor.net
https://thephpleague.com
https://thephpleague.com/#quality
MANIFESTOS FOR BUSINESS AND SOFTWARE
MOTIVATIONS FOR BUSINESS AND SOFTWARE DEVELOPMENT MANIFESTOS
▸ Challenge the status quo
▸ Establish shared understanding of best practices
▸ End what doesn’t work
▸ Inspire community
▸ Gain social media notoriety
▸ Have fun
https://www.halfarsedagilemanifesto.org
MANIFESTOS FOR DRUPAL
PART 2B
https://austin2014.drupal.org/sites/default/files/images/drupalcon-portland-group-photo.png
http://blog.dcycle.com/manifesto/
http://www.darrenmothersele.com/blog/2015/02/26/drupal-site-builder-manifesto/
https://github.com/davidhwang/horseman
https://twitter.com/eatings/status/983931796038569985
MANIFESTOS FOR BUSINESS AND SOFTWARE
HOW DO SOFTWARE MANIFESTOS MEASURE UP?
▸ Resonant?
▸ Simple?
▸ Originated by groups with shared values?
▸ Backed by community?
YOUR TEAM MAY NEED A
MANIFESTO
PART 3
https://www.norris160.org/sites/default/files/page_images/3/team-sport_1_0.jpg
YOUR TEAM MAY NEED A MANIFESTO
CONDITIONS THAT MAY SUGGEST YOU NEED A MANIFESTO
▸ A new or reorganized team
▸ A shift in direction
▸ New technology
▸ New methodology
▸ A large project
YOUR TEAM MAY NEED A MANIFESTO
OUR TEAM’S PROBLEM
▸ Starting work on rebuilding our well-established Drupal 7
campus distribution in Drupal 8 (code name: UTDK8)
▸ Adding three new members to team who did not previously
participate in development or sustainment of D7 distro
▸ Uncertainty about how to proceed with many of the new
technology choices in D7 (Composer, CMI, Layout tools,
base theme)
▸ Bringing in stakeholders early in the process to get feedback
YOUR TEAM MAY NEED A MANIFESTO
OUR PROJECT MANIFESTO’S GOALS
▸ Serve as a vehicle for defining and working through critical
decisions that need to be made on how to use new
technologies
▸ Align team members who are working on this project together
for the first time
▸ Provide a common, agreed-upon internal guidepost for team
standards and design decisions
▸ Provide distillation of important design decisions to get
feedback from external stakeholders
YOUR TEAM MAY NEED A MANIFESTO
PICK A COLLABORATIVE WRITING TOOL
▸ Use something that allows interactive commenting/
suggestions
▸ Google Docs
▸ GitHub
YOUR TEAM MAY NEED A MANIFESTO
SET SOME GROUND RULES
▸ Most memorable manifestos use a consistent structure —
consider picking a style from popular examples:
▸ “Ten Commandments”
▸ “This over that”
▸ “So that X, we will do Y”
▸ Consider setting definitions for tricky words like “should,”
“will,” “must,” etc.
THE KEY WORDS “MUST”, “MUST NOT”,
“REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
“SHOULD NOT”, “RECOMMENDED”, “MAY”, AND
“OPTIONAL” IN THIS DOCUMENT ARE TO BE
INTERPRETED AS DESCRIBED IN RFC 2119.
RFC 2119 - Key words for use in RFCs
to Indicate Requirement Levels
YOUR TEAM MAY NEED A MANIFESTO
YOUR TEAM MAY NEED A MANIFESTO
DESIGNATE A PRIMARY AUTHOR TO WRITE FIRST DRAFT
▸ Gets the words for the first draft out on the page faster
▸ Keeps the ideas consistent to start if everything comes out
of the same person’s head
THE FOLLOWING PAGE PROVIDES A HIGHLY OPINIONATED
PRESCRIPTION FOR BUILDING A DRUPAL 8 DISTRIBUTION. IT IS
DESIGNED TO BE A STRAW MAN TO BE DISPUTED, CONTRADICTED,
RIDICULED, AND SUBSEQUENTLY REVISED – IN EFFECT, A RECULER
POUR MIEUX SAUTER – WHICH WILL EVENTUALLY GROW INTO A
BLUEPRINT FOR AN ACTUAL DISTRIBUTION DESIGN DOCUMENT.
Introduction to the UT Drupal Kit 8 Manifesto
YOUR TEAM MAY NEED A MANIFESTO
YOUR TEAM MAY NEED A MANIFESTO
OUR MANIFESTO OUTLINE
▸ Composer
▸ Configuration Management
▸ Content
▸ Layout and Content Placement
▸ Custom Functionality
▸ Theme
▸ “Ten Commandments” Summary
YOUR TEAM MAY NEED A MANIFESTO
FORMAT
▸ Within each section of the outline:
▸ Guidelines
▸ “Non-functional example files may be provided for .gitignore, circle.yml,
pantheon.yml, and composer.json as part of the distribution.”
▸ Reasoning
▸ “Defining the .gitignore, circle.yml, pantheon.yml, and composer.json
files as example files allows the individual developer to use Composer
himself/herself, while adding minimal work for the distribution
maintainers (i.e., scripted conversion of example files to real files, and
saving those changes back to the example files).”
YOUR TEAM MAY NEED A MANIFESTO
UTDK8 TEN COMMANDMENTS
‣ The distribution shall be composed using Composer and will assume the
use of a web subdirectory docroot.
‣ Updates to the distribution shall be applied by obtaining the updated
codebase, running composer update, and running database updates.
‣ The distribution shall not interact with Drupal's Configuration Management
system. The individual developer shall be responsible for using
Configuration Management in a manner appropriate for each site instance.
‣ Reusable content shall be defined as Drupal blocks.
‣ Page-specific content shall be defined as Drupal fields; complex fields shall
be defined as Paragraph Types.
YOUR TEAM MAY NEED A MANIFESTO
UTDK8 TEN COMMANDMENTS (CONT.)
‣ A layout tool shall be included which will allow content builders to choose between
multiple page layouts and assign both reusable content and page-specific content on
a per-page basis.
‣ A branded theme shall be provided that may be sub-themed, and can be used
independently of the distribution.
‣ This branded theme shall follow principles of atomic design, and shall use the
Bootstrap grid system.
‣ Addition, configuration, and management of contributed modules shall be the
responsibility of the individual developer, except for contributed modules that are
dependencies to the distribution's custom functionality.
‣ Issues, feature requests, and in-progress changes shall be directly accessible by
individual developers via Enterprise Github.
YOUR TEAM MAY NEED A MANIFESTO
SHAMELESS PLUG
To learn more about our project and the actual technical
architecture that has evolved out of this manifesto, attend the
Saturday session “Drupal Distro FTW”, 2:30-3:30pm in
Magnolia B.
YOUR TEAM MAY NEED A MANIFESTO
LESSONS LEARNED FROM OUR MANIFESTO JOURNEY
▸ A manifesto is not a design document. You may still need
one of those, or not, depending on your project process.
▸ The manifesto format lends itself to absolutist
interpretation. Be conscious of how that will affect people’s
use of it.
▸ Your manifesto should include everything it needs to
answer the problem it is trying to solve, but not one thing
more.
REFERENCES
https://swimmingthedepths.files.wordpress.com/2015/06/library-36480328_std.jpg
REFERENCES
EFFECTIVE PUBLIC DECLARATIONS
▸ The Ten Commandments - https://en.wikipedia.org/wiki/
Ten_Commandments
▸ The Declaration of Independence - https://www.archives.gov/founding-docs/
declaration
▸ “I Have a Dream” Speech by Martin Luther King, Jr. - https://
www.archives.gov/files/press/exhibits/dream-speech.pdf
▸ The Manifesto of Futurism - http://www.italianfuturism.org/manifestos/
foundingmanifesto/
▸ Dogme 95 - http://www.dogme95.dk/dogma-95/
▸ The Holstee Manifesto - https://www.holstee.com/pages/manifesto
REFERENCES
MANIFESTOS FOR BUSINESS AND SOFTWARE
▸ The Cluetrain Manifesto - http://www.cluetrain.com
▸ The Agile Manifesto - http://agilemanifesto.org
▸ Declaration of Interdependence - http://pmdoi.org
▸ The Twelve-Factor App - https://12factor.net
▸ The League of Extraordinary Packages - https://
thephpleague.com
▸ The Manifesto for Half-Arsed Agile Software Development -
https://www.halfarsedagilemanifesto.org
REFERENCES
DRUPAL DEVELOPMENT MANIFESTOS
▸ Dcycle Manifesto - http://blog.dcycle.com/manifesto/
▸ Horseman - https://github.com/davidhwang/horseman
▸ The Drupal Site Builder Manifesto - http://
www.darrenmothersele.com/blog/2015/02/26/drupal-
site-builder-manifesto/
REFERENCES
MISC. RESOURCES
▸ Wikipedia - https://en.wikipedia.org/wiki/Manifesto
▸ The Manifesto Project - http://www.1000manifestos.com
▸ A Collection of Manifestos - https://kentmcdonald.com/
collection-of-manifestos/
▸ RFC 2119 - https://tools.ietf.org/html/rfc2119
EMAIL ME: PFG@UTEXAS.EDU
QUESTIONS?
https://ruben.verborgh.org/images/blog/boring.jpg

Manifesto-Driven Development - TexasCamp 2018

  • 1.
  • 2.
    MANIFESTO-DRIVEN DEVELOPMENT WHOAMI ▸ Managerin central IT group at University of Texas at Austin ▸ We build Drupal distributions that other people use to build sites ▸ UT Austin since 2002 (mostly) ▸ Drupal user since ~2008 ▸ Co-organizer, DrupalCon Higher Education Summits, 2016 and 2018 ▸ https://www.drupal.org/u/gravelpot
  • 3.
    MANIFESTO-DRIVEN DEVELOPMENT WHY THISTALK? ▸ I am a total sucker for a good manifesto, and I never really thought about why ▸ It’s a common genre for sharing ideas in our industry, and it could be useful to understand why ▸ The process of writing a manifesto was useful and interesting for our team, and it could be useful for your team, too
  • 4.
    MANIFESTO-DRIVEN DEVELOPMENT TODAY’S AGENDA ▸Introduction and theory of manifestos as a genre ▸ Manifestos for business and software ▸ When does your team need its own manifesto? ▸ How do you go about making one? ▸ What are the benefits and challenges of this process?
  • 5.
  • 6.
    EFFECTIVE PUBLIC DECLARATIONS “MANIFESTO,”DEFINED mid 17th century: from Italian, from manifestare, from Latin, ‘make public,’ from manifestus ‘obvious’ A manifesto is a published verbal declaration of the intentions, motives, or views of the issuer, be it an individual, group, political party or government. A manifesto usually accepts a previously published opinion or public consensus or promotes a new idea with prescriptive notions for carrying out changes the author believes should be made. Source: https://en.wikipedia.org/wiki/Manifesto
  • 7.
    EFFECTIVE PUBLIC DECLARATIONS MANIFESTOSHAVE A WIDE RANGE OF USE CASES ▸ Religious/spiritual ▸ Political ▸ Art/culture ▸ Business ▸ Technology ▸ Personal
  • 8.
    EFFECTIVE PUBLIC DECLARATIONS WHYDO MANIFESTOS WORK AS A GENRE? ▸ Strong opinions and simple storylines are attractive in a complex world ▸ They challenge and provoke ▸ They can feel like magic Source: https://www.theatlantic.com/entertainment/archive/2014/06/manifestos-a-manifesto-the-10-things-all-manifestos-need/372135/
  • 9.
    EFFECTIVE PUBLIC DECLARATIONS BENEFITSOF MANIFESTOS ▸ Serves as either a statement of principles or a bold call to action (or both). ▸ Usually brief and readable enough to review often (daily?) to help reinforce priorities and provide inspiration. ▸ Allows the present group (or self) to communicate with the future group (or self) across time. Source: https://www.artofmanliness.com/articles/how-and-why-to-write-your-own-personal-manifesto/
  • 10.
    I AM THELORD THY GOD, THOU SHALL NOT HAVE ANY GODS BEFORE ME. https://cdn.vox-cdn.com/thumbor/uDAhWukHyMsc9eHHJ2-QnGMyW3M=/0x0:1920x1080/1200x800/filters:focal(669x179:975x485)/cdn.vox-cdn.com/uploads/chorus_image/image/54262177/tencommandmentscover.0.png
  • 11.
    WE HOLD THESETRUTHS TO BE SELF-EVIDENT, THAT ALL MEN ARE CREATED EQUAL, THAT THEY ARE ENDOWED BY THEIR CREATOR WITH CERTAIN UNALIENABLE RIGHTS, THAT AMONG THESE ARE LIFE, LIBERTY AND THE PURSUIT OF HAPPINESS. https://origins.osu.edu/sites/origins.osu.edu/files/9%20Declaration%20of%20Independence.jpg
  • 12.
    I HAVE ADREAM THAT MY FOUR LITTLE CHILDREN WILL ONE DAY LIVE IN A NATION WHERE THEY WILL NOT BE JUDGED BY THE COLOR OF THEIR SKIN BUT BY THE CONTENT OF THEIR CHARACTER. https://newsdesk.si.edu/sites/default/files/photos/MLK_Adelman_NPG_2006_16_crop.jpg
  • 13.
    EXCEPT IN STRUGGLE,THERE IS NO MORE BEAUTY. NO WORK WITHOUT AN AGGRESSIVE CHARACTER CAN BE A MASTERPIECE. POETRY MUST BE CONCEIVED AS A VIOLENT ATTACK ON UNKNOWN FORCES, TO REDUCE AND PROSTRATE THEM BEFORE MAN. https://cdn.theatlantic.com/assets/media/img/mt/2014/06/tumblr_mbbv9a2N3o1rnh7neo1_1280-1/lead_large.jpg?1522689454
  • 14.
    SHOOTING MUST BEDONE ON LOCATION. PROPS AND SETS MUST NOT BE BROUGHT IN (IF A PARTICULAR PROP IS NECESSARY FOR THE STORY, A LOCATION MUST BE CHOSEN WHERE THIS PROP IS TO BE FOUND).
  • 16.
  • 17.
  • 18.
  • 20.
    EFFECTIVE PUBLIC DECLARATIONS WHATMAKES A MANIFESTO SUCCESSFUL? ▸ The manifesto resonates with people and expresses principles that they share ▸ The manifesto is simple and concise ▸ The manifesto is created by a group of people from different organizations who may compete, but share the same values and principles ▸ The manifesto is backed by a community where people can share ideas and experiences about how they’ve actually applied the ideas in the manifesto in their actual context Source: https://kentmcdonald.com/collection-of-manifestos/
  • 21.
    MANIFESTOS FOR BUSINESS ANDSOFTWARE PART 2 http://www-03.ibm.com/ibm/history/ibm100/images/icp/U010027L69409M16/us__en_us__ibm100__system_360__people_at_360__800x620.jpg
  • 22.
    NETWORKED MARKETS AREBEGINNING TO SELF-ORGANIZE FASTER THAN THE COMPANIES THAT HAVE TRADITIONALLY SERVED THEM. THANKS TO THE WEB, MARKETS ARE BECOMING BETTER INFORMED, SMARTER, AND MORE DEMANDING OF QUALITIES MISSING FROM MOST BUSINESS ORGANIZATIONS. https://kaylaprendergast.files.wordpress.com/2015/02/cluetrain.jpg
  • 24.
    WE ARE UNCOVERING BETTERWAYS OF DEVELOPING
 SOFTWARE BY DOING IT AND HELPING OTHERS DO IT. The Agile Manifesto, 2001
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
    MANIFESTOS FOR BUSINESSAND SOFTWARE MOTIVATIONS FOR BUSINESS AND SOFTWARE DEVELOPMENT MANIFESTOS ▸ Challenge the status quo ▸ Establish shared understanding of best practices ▸ End what doesn’t work ▸ Inspire community ▸ Gain social media notoriety ▸ Have fun
  • 33.
  • 34.
    MANIFESTOS FOR DRUPAL PART2B https://austin2014.drupal.org/sites/default/files/images/drupalcon-portland-group-photo.png
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
    MANIFESTOS FOR BUSINESSAND SOFTWARE HOW DO SOFTWARE MANIFESTOS MEASURE UP? ▸ Resonant? ▸ Simple? ▸ Originated by groups with shared values? ▸ Backed by community?
  • 40.
    YOUR TEAM MAYNEED A MANIFESTO PART 3 https://www.norris160.org/sites/default/files/page_images/3/team-sport_1_0.jpg
  • 41.
    YOUR TEAM MAYNEED A MANIFESTO CONDITIONS THAT MAY SUGGEST YOU NEED A MANIFESTO ▸ A new or reorganized team ▸ A shift in direction ▸ New technology ▸ New methodology ▸ A large project
  • 42.
    YOUR TEAM MAYNEED A MANIFESTO OUR TEAM’S PROBLEM ▸ Starting work on rebuilding our well-established Drupal 7 campus distribution in Drupal 8 (code name: UTDK8) ▸ Adding three new members to team who did not previously participate in development or sustainment of D7 distro ▸ Uncertainty about how to proceed with many of the new technology choices in D7 (Composer, CMI, Layout tools, base theme) ▸ Bringing in stakeholders early in the process to get feedback
  • 43.
    YOUR TEAM MAYNEED A MANIFESTO OUR PROJECT MANIFESTO’S GOALS ▸ Serve as a vehicle for defining and working through critical decisions that need to be made on how to use new technologies ▸ Align team members who are working on this project together for the first time ▸ Provide a common, agreed-upon internal guidepost for team standards and design decisions ▸ Provide distillation of important design decisions to get feedback from external stakeholders
  • 44.
    YOUR TEAM MAYNEED A MANIFESTO PICK A COLLABORATIVE WRITING TOOL ▸ Use something that allows interactive commenting/ suggestions ▸ Google Docs ▸ GitHub
  • 45.
    YOUR TEAM MAYNEED A MANIFESTO SET SOME GROUND RULES ▸ Most memorable manifestos use a consistent structure — consider picking a style from popular examples: ▸ “Ten Commandments” ▸ “This over that” ▸ “So that X, we will do Y” ▸ Consider setting definitions for tricky words like “should,” “will,” “must,” etc.
  • 46.
    THE KEY WORDS“MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, AND “OPTIONAL” IN THIS DOCUMENT ARE TO BE INTERPRETED AS DESCRIBED IN RFC 2119. RFC 2119 - Key words for use in RFCs to Indicate Requirement Levels YOUR TEAM MAY NEED A MANIFESTO
  • 47.
    YOUR TEAM MAYNEED A MANIFESTO DESIGNATE A PRIMARY AUTHOR TO WRITE FIRST DRAFT ▸ Gets the words for the first draft out on the page faster ▸ Keeps the ideas consistent to start if everything comes out of the same person’s head
  • 48.
    THE FOLLOWING PAGEPROVIDES A HIGHLY OPINIONATED PRESCRIPTION FOR BUILDING A DRUPAL 8 DISTRIBUTION. IT IS DESIGNED TO BE A STRAW MAN TO BE DISPUTED, CONTRADICTED, RIDICULED, AND SUBSEQUENTLY REVISED – IN EFFECT, A RECULER POUR MIEUX SAUTER – WHICH WILL EVENTUALLY GROW INTO A BLUEPRINT FOR AN ACTUAL DISTRIBUTION DESIGN DOCUMENT. Introduction to the UT Drupal Kit 8 Manifesto YOUR TEAM MAY NEED A MANIFESTO
  • 50.
    YOUR TEAM MAYNEED A MANIFESTO OUR MANIFESTO OUTLINE ▸ Composer ▸ Configuration Management ▸ Content ▸ Layout and Content Placement ▸ Custom Functionality ▸ Theme ▸ “Ten Commandments” Summary
  • 51.
    YOUR TEAM MAYNEED A MANIFESTO FORMAT ▸ Within each section of the outline: ▸ Guidelines ▸ “Non-functional example files may be provided for .gitignore, circle.yml, pantheon.yml, and composer.json as part of the distribution.” ▸ Reasoning ▸ “Defining the .gitignore, circle.yml, pantheon.yml, and composer.json files as example files allows the individual developer to use Composer himself/herself, while adding minimal work for the distribution maintainers (i.e., scripted conversion of example files to real files, and saving those changes back to the example files).”
  • 52.
    YOUR TEAM MAYNEED A MANIFESTO UTDK8 TEN COMMANDMENTS ‣ The distribution shall be composed using Composer and will assume the use of a web subdirectory docroot. ‣ Updates to the distribution shall be applied by obtaining the updated codebase, running composer update, and running database updates. ‣ The distribution shall not interact with Drupal's Configuration Management system. The individual developer shall be responsible for using Configuration Management in a manner appropriate for each site instance. ‣ Reusable content shall be defined as Drupal blocks. ‣ Page-specific content shall be defined as Drupal fields; complex fields shall be defined as Paragraph Types.
  • 53.
    YOUR TEAM MAYNEED A MANIFESTO UTDK8 TEN COMMANDMENTS (CONT.) ‣ A layout tool shall be included which will allow content builders to choose between multiple page layouts and assign both reusable content and page-specific content on a per-page basis. ‣ A branded theme shall be provided that may be sub-themed, and can be used independently of the distribution. ‣ This branded theme shall follow principles of atomic design, and shall use the Bootstrap grid system. ‣ Addition, configuration, and management of contributed modules shall be the responsibility of the individual developer, except for contributed modules that are dependencies to the distribution's custom functionality. ‣ Issues, feature requests, and in-progress changes shall be directly accessible by individual developers via Enterprise Github.
  • 54.
    YOUR TEAM MAYNEED A MANIFESTO SHAMELESS PLUG To learn more about our project and the actual technical architecture that has evolved out of this manifesto, attend the Saturday session “Drupal Distro FTW”, 2:30-3:30pm in Magnolia B.
  • 55.
    YOUR TEAM MAYNEED A MANIFESTO LESSONS LEARNED FROM OUR MANIFESTO JOURNEY ▸ A manifesto is not a design document. You may still need one of those, or not, depending on your project process. ▸ The manifesto format lends itself to absolutist interpretation. Be conscious of how that will affect people’s use of it. ▸ Your manifesto should include everything it needs to answer the problem it is trying to solve, but not one thing more.
  • 56.
  • 57.
    REFERENCES EFFECTIVE PUBLIC DECLARATIONS ▸The Ten Commandments - https://en.wikipedia.org/wiki/ Ten_Commandments ▸ The Declaration of Independence - https://www.archives.gov/founding-docs/ declaration ▸ “I Have a Dream” Speech by Martin Luther King, Jr. - https:// www.archives.gov/files/press/exhibits/dream-speech.pdf ▸ The Manifesto of Futurism - http://www.italianfuturism.org/manifestos/ foundingmanifesto/ ▸ Dogme 95 - http://www.dogme95.dk/dogma-95/ ▸ The Holstee Manifesto - https://www.holstee.com/pages/manifesto
  • 58.
    REFERENCES MANIFESTOS FOR BUSINESSAND SOFTWARE ▸ The Cluetrain Manifesto - http://www.cluetrain.com ▸ The Agile Manifesto - http://agilemanifesto.org ▸ Declaration of Interdependence - http://pmdoi.org ▸ The Twelve-Factor App - https://12factor.net ▸ The League of Extraordinary Packages - https:// thephpleague.com ▸ The Manifesto for Half-Arsed Agile Software Development - https://www.halfarsedagilemanifesto.org
  • 59.
    REFERENCES DRUPAL DEVELOPMENT MANIFESTOS ▸Dcycle Manifesto - http://blog.dcycle.com/manifesto/ ▸ Horseman - https://github.com/davidhwang/horseman ▸ The Drupal Site Builder Manifesto - http:// www.darrenmothersele.com/blog/2015/02/26/drupal- site-builder-manifesto/
  • 60.
    REFERENCES MISC. RESOURCES ▸ Wikipedia- https://en.wikipedia.org/wiki/Manifesto ▸ The Manifesto Project - http://www.1000manifestos.com ▸ A Collection of Manifestos - https://kentmcdonald.com/ collection-of-manifestos/ ▸ RFC 2119 - https://tools.ietf.org/html/rfc2119
  • 61.