SlideShare a Scribd company logo
Managing a Project
The Drupal Way
@emmajanehw
drupal.org/user/1773
You're organised, you love spreadsheets, you're a great cheerleader, you handle a backlog with superhero skills, and now you're faced with managing a Drupal project
and everything just feels foreign. It's not you, it's Drupal. The mix of site building, front end development, backend development, and over 20,000 contributed modules
makes project management for Drupal exceptionally frustrating for people who've not worked with Drupal before.

This session will cover:

• the basic Drupal development workflow (from a developer's perspective, but without using developer jargon)

• writing useful tickets which developers can accomplish

• estimation tips for multi-discipline tickets (design / back end / front end)

• ideal team structures -- and what to do if you can't get them

• Bring your questions, and bring your experience -- plenty of time will be left for discussion at the end of the session.

Time: 30 minutes
The best place to learn
software development is in
the Drupal community.
Disclaimer.
I have never met a more supportive group of people who genuinely wanted to help others to succeed in learning how to contribute to a software project. We / they are an
open, welcoming group of people. No previous experience needed.

- testing

- peer review

- writing good bug reports

- collaborative patch writing
The worst place to learn
how to build a site with
Drupal is the issue queue.
(Another) Disclaimer
But learning how to build Drupal is not the same as learning how to make a client website with Drupal.

Too often developers forget to bring the best practices from Drupal into their workplace.

This talk is a reminder of some of those lessons, mixed with the lessons I’ve learned about building Drupal sites, mixed with some of the psychology I’ve picked up as a
Project Manager on Drupal and other software projects.
Avoiding project managers is iterative.

It’s something we developers
get better at every time.
@adamculp
First a little background for this talk. I’ve been working with Drupal for over a decade. First as a developer who was building her own CMS (I used the database structure
for multi-lingual content); then as a site builder, and a themer; then as an educator (I’ve written two books on Drupal and delivered sessions at a lot of Drupal events); and
finally as a project manager.

Having played all of these roles, I know where all the snake pits are when delivering Drupal sites. I also know where there are easy wins for teams.
Every project is a unique snowflake. The trick is to understand what those snowflakes mean in aggregate.

This is pretty snow because it’s in a field.
This means: danger due to drifts.
This means a lot of shovelling.
Drupal PM Survival Guide
1. Foster collaborative, cross-functional teams

who stay with you for the entire project.
2. Find your gremlins sooner by deploying features

from start to finish.
3. Build re-usable components, 

and all their variants, from content “out”.
4. Emulate the drupal.org issue queue.
1. Build your team.

2. With very small chunks, walk through all the steps from start to finish.

3. Build re-usable components where possible.

4. push all communications + artefacts of conversation to the issue queue; collaborate and hold each other to the highest possible standard.
1. Foster collaborative,
cross-functional teams who
stay with you for the entire
project.
Managing Projects the Drupal Way
(this is a header slide; don’t dwell!)
Teams are immutable. 

Every time someone leaves, or joins, 

you have a new team, 

not a changed team.
@richardadalton
Be aware of job titles.
Ideal team structures -- and what to do if you can't get them

Be aware in the sense of “these are the tasks you’ll probably have to complete”.

But also be aware in the sense of not letting people roll up their sleeves because they have the wrong title.

And finally be aware if you’re asking someone to accomplish something outside of their normal comfort zone. Having someone stretch can take more time away from
other tasks.
Web Projects
• UX
• Designer
• Content Strategist
• Backend Developer
• Front End Developer
Supportive Roles
• Business Analyst
• Project Manager
• Quality Assurance
• DevOps / Sysadmin
Client-Side
• Product Owner
• Content Manager
Drupal-Specific
• Site Builder
• Themer
Foster strong teams.
I’ve watched teams of weaker individuals raleigh together and become an incredibly strong team.

Communication

Peer review

Knowledge sharing

Collaborative research (LMGTFY)

Brainstorming

Rubber ducking

Accountability

Morale boosting

(Acknowledge effort)

(Protect dev time)
Moods are infectious.
Project management truism.
Every day everyone brings themselves to work and in a distributed team you rely on voice and typed words. Sales folks train themselves to smile when talking on the
phone. They say it changes the tone of the voice. If you feel the team is trending towards frustration take the time to check your own attitude. Smile. You might be able to
pull the team into your good mood.
Acknowledgement

kindles effort.
Project management truism.
In software, a job well done is often invisible. If I no longer see error messages, it's as if the solution had always been there. Ensure the effort of your teammates is visible.
The more you acknowledge their work, the more they will want to work for you. Even if you are not grateful, or wanting to give thanks, you can still acknowledge the effort
someone has invested in their tasks.
Language matters.
Project management truism.
We had been referring to our launchable site as a "Minimum Viable Product". It didn't resonate with the team, who wanted to create something better than something
which was just barely good enough. We changed our language to remove the loaded phrase. In our ticketing system, we updated the backlog title to be "Launch Blocker
Backlog" instead of "MVP Backlog" and pride emerged from the team for the product they were working on.
Minor choice makes a
major difference.
Project management truism.
When I was first given the job of "loading sprints", I assumed I was supposed to pick tasks for people. No one told me otherwise. I'd load up the sprints and send out
assignments and would be met with the abyss. When we changed to everyone choosing their own tickets from a prioritized list, sprint loading became more dynamic and
people had only themselves to blame if they didn't enjoy their tasks. It still takes me about 1.5 days to close a sprint and prepare the next one, but people seem to enjoy
their work more during the sprint.
2. Find your gremlins sooner

by deploying features

from start to finish.
Managing Projects the Drupal Way
(this is a header slide; don’t dwell!)

Deploy Features from start to finish with cross-functional teams.

In other words: be agile.
Prototype
Component
Design
Component
Build
Custom
Development
Content
Migration
Theming
Deployment
Infra-

structure
Let me show you what I mean by this.

I’ve got a typical assembly line that we’d use for a website project. This is displayed in a linear fashion, but it really isn’t a linear process.

- Infrastructure may include setting up your local environment, dev server, and prod server.

- Prototyping: if you can, prototype in Drupal (plan to throw it all away), but figure out where the snake pits are. Prototyping in HTML can be misleading because it can be
very difficult to bring that HTML / CSS back into Drupal if it wasn’t created by someone who thinks like Drupal.

- Component design: work in the smaller widgets and think about how they may work as interchangeable elements throughout the site. e.g. style tile; KSS style guide.
You can get the theme and the designer working together quite early on.

- Component build: site building. The point-and-click of views. Display formatters. Contrib modules are probably introduced at this point.

- Custom development. Only now and finally are we starting on custom development. If your developer starts by saying that it’s all custom: question them. There are
30,000 modules. It’s highly unlikely there isn’t a starting point *somewhere*. Note: I include front end dev and back end dev here.

- Content migration. This is where things start to fall down, because really you want to have been working on content migration for ages by the time you get here. Getting
the content into the site sooner helps you confirm your data model and interactions throughout the site.

- Theming: the custom theme / templates needed to display your content. At this point you need to finalise how all of the components are built into the site. You might
end up using Panels or Context at this point.

- Deployment: we’re back to infrastructure again. But now we need to also be thinking about our Git branches and tagged releases and how we separate the code into
“in progress” and “fully tested” and “deployed on production”. GitFlow is quite common. Ask your developers early to write down their process for deploying code.
Figure out how you’re going to track the deployment information in your ticket tracker. Document, document, document. You never want someone to be attempting a
system restore without careful step-by-step instructions.
How long?
• Developers know best. 

But multiply it by 2 (and by 2 again).
• On-boarding takes a week longer 

than you think it should.
• Sprints of 1-2 weeks are generally “about right”.
• Half way through your project; 

local environments will mysteriously break.
• The “last mile” takes three weeks longer 

than it should because of regressions and Features.
- Why not multiple by four? Because on most projects you’d 2x an estimate. But the Drupal factor gives it a 2x again. Not because it’s harder to build things in Drupal,
but because sometimes things are fragile in unexpected ways.

- On-boarding includes the beginning of the project, and also if you bring anyone in mid-stream. Getting everyone on-boarded at the very beginning (instead of on
boarding a themer towards the end will help with velocity because they’re all losing the same week).

- Most software nerds like to run the latest and greatest. Often these software updates are happening automatically in the background. It’s inevitable that something will
mysteriously break. This can also be due to upgrading Drupal modules because of security releases.

- The more you pile into Features the more it seems to drop things on export. This is extremely frustrating and developers can lose whole days to a Feature export which
has failed (you ticked all the boxes but it still didn’t export all of the elements). And yet: it’s the best thing we have for Drupal 7. Drupal 8 will be better.
Adrenaline is finite.
Project management truism.
When I first started on the project, we kept making optimistic, arbitrary launch dates. Being our own client, we could make whatever deadlines we wanted. "In time for
DrupalCon." "At the end of July." We had no empirical data to suggest these deadlines were possible. Shifting deadlines are exhausting and we were burning ourselves
out. As soon as we removed the arbitrary dates, people were able to enjoy their tasks a little more instead of constantly feeling a time pressure. This made people
happier.
Closure is important.
Project management truism.
Originally we worked on two week sprints. At the end of a sprint, any ticket that wasn't completed lingered in an old sprint. Based on a comment from James Sansbury
about one of his projects we changed how sprints were loaded and completed. Each sprint is now only a week long. At the end of the week, the old sprint is closed.
Outstanding tickets are moved to the current sprint. Anyone is allowed to put an unfinished ticket into the backlog. No shame; no blame. We begin fresh today and move
constantly forward.
3. Build re-usable
components, and all their
variants, from content “out”.
Managing Projects the Drupal Way
(this is a header slide; don’t dwell!)
Layout
Functionality
Component
Content
The basic Drupal development workflow (from a developer's perspective, but without using developer jargon).

Content: what are you going to store in the site; and where does that content come from.

In Drupal terms: what are your content types (entities); and what are the taxonomies used to categorise that content?

Component: when content appears, how is it listed? Does more/less of it appear when in different contexts?

In Drupal terms: what are your Views? What are the Display formatters for the fields?

Functionality: can I interact with the context around that content? Can I add comments? Bookmark? Buy? What else can I *do* in addition to reading / scrolling?

In Drupal terms: What are the additional contributed / custom modules you need to install to make the site “behave” / “work” appropriately for site visitors?
Layout: How do the components fit together on the page? Are different layouts available for different screen widths? Are there different context for different user
permissions?

In Drupal terms: Base themes, Context, Panels, and conditional rendering of objects on the page.

When we see the cluster like this, you can understand why functionality is sometimes separated from theming.

But I think that’s a mistake to build it in isolation. Working on smaller, components--with all their variations--will make the individual components more robust, and better
able to adapt to different view port sizes.
4. Emulate (some parts)

of the drupal.org

issue queue.
Managing Projects the Drupal Way
(this is a header slide; don’t dwell!)

• Allow the description to be updated, so that it includes a summary of comments.

• Use a template for the summary description.

• Push all conversation into the issue itself.

• Attach relevant assets (wireframes, diagrams, visuals).

• Use keyword tagging from a controlled vocabulary.

• Standardised your format; but also allow room for one-offs. The 3Cs from Agile work well. Except when they don’t. Drupalize.Me had a QA “test” as the required
first line of every ticket. These lines were copied and pasted in the deployment checklist for the week (and sometimes automated).

• Groom the backlog frequently. No matter what tickets you write, you will miss some things, and duplicate others. 

• Push conversations, and their artefacts, into tickets. Diagrams, testing notes, conclusions from discussions.
Card: 

Define testable outcomes.

Demonstrate business value.
As a ___ I want to ___ so that I ___.
For example: 

As a user, I want to filter the search results

so that I can more easily find people with the
verified role assignment.
Conversation:

Centralise, and be flexible.
- drupal.org does this really, really well.

- Be descriptive; not prescriptive.

- Provide annotated screen shots; and screen casts of the problem.

- Allow for alternate interpretations of the conversation so long as it accomplishes the user story.

- Get the conversation out of email. Issues are tracked in the queue, not in email.

- Being descriptive is REALLY damn hard as a recovering developer.

- Be as detailed as you can in the description of the problem. Including screen shots can help the dev to replicate the problem and then figure out how to “recover”
things. If they can’t replicate it, they may be able to come back to you and see if it’s problem on *your* local environment.

- Not just “it doesn’t work” but *how* it doesn’t work.
Confirmation:
Test, test, and test again.
- Provide step-by-step testing instructions

in support of the user story as soon as the story is written.

- Require testing notes and screen shots (of what it should look like) from the developers.

- Peer review the code; user test the functionality.

- The testing steps help set the developer up for success: they know exactly the sequence you’re expecting to take to accomplish the task, so they can make sure the
workflow / sequence works before asking for a code review (and then QA).

- Step-by-step instructions help non-SMEs work efficiently on testing. You don’t need to know the system inside to just click through the test.

- The steps may be helpful in the development of automated tests as well.

- The screen shots help you to immediately see if there has been a problem with the Features export. If it doesn’t look right, the QA person can immediately stop and go
back to the developer to see if they need to re-export the Feature.
Sort for yourself;

format for others.
Project management truism.
I love spreadsheets. I assumed everyone else did too. They don't. Who knew? Instead of creating spreadsheets to share with others, I now create summaries with
markdown within our ticketing system. Now that the team receives the content in their preferred format, I find them more likely to engage in conversation about it.
Moderate what you
change; including your
moderation.
Project management truism.
At first I found the lack of feedback on my processes really difficult. I didn't know how to evaluate if I was implementing good changes or bad changes. So I'd change my
approach. Frequently. This made it very difficult for people to track what a week's process was supposed to be. Finally we threw it all out and started again. Consciously.
Any changes we make are now immediately documented in a centralized guide. The guide is a trusted document, but also not so holy that it cannot be changed if the
documented procedures are not helping the team accomplish their tasks.
Drupal PM Survival Guide
1. Foster collaborative, cross-functional teams

who stay with you for the entire project.
2. Find your gremlins sooner by deploying features

from start to finish.
3. Build re-usable components, 

and all their variants, from content “out”.
4. Emulate the drupal.org issue queue.
Resources
• A Developer’s Primer To Managing Developers

https://austin2014.drupal.org/session/developers-primer-managing-developers.html
• Things I Learned From Managing my First Project

https://drupalize.me/blog/201312/things-i-learned-managing-my-first-project
• Avoiding the Git of Despair

https://events.drupal.org/losangeles2015/sessions/avoiding-git-
despair
• Git for Teams

http://www.gitforteams.com
Books
• User Story Mapping -- Jeff Patton
• Agile Product Management with Scrum -- Roman Pichler
• Essential Scrum -- Kenneth Rubin
• Scrum Shortcuts -- Ilan Goldstein
• Fifty Quick Ideas to Improve Your User Stories -- Gojko
Adzic
• User Stories Applied -- Mike Cohn
Managing a Project
The Drupal Way
@emmajanehw
www.gitforteams.com

More Related Content

What's hot

Drupal Presentation for CapitalCamp 2011: Features Driven Development
Drupal Presentation for CapitalCamp 2011: Features Driven DevelopmentDrupal Presentation for CapitalCamp 2011: Features Driven Development
Drupal Presentation for CapitalCamp 2011: Features Driven Development
Mediacurrent
 
Paragraphs at drupal 8.
Paragraphs at drupal 8.Paragraphs at drupal 8.
Paragraphs at drupal 8.
Anatoliy Polyakov
 
WordCamp Miami 09 - WP Framework
WordCamp Miami 09 - WP FrameworkWordCamp Miami 09 - WP Framework
WordCamp Miami 09 - WP Framework
Ptah Dunbar
 
Drupal 8 Vocab Lesson
Drupal 8 Vocab LessonDrupal 8 Vocab Lesson
Drupal 8 Vocab Lesson
Mediacurrent
 
DevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefDevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With Chef
Promet Source
 
WordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPressWordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPress
Jonny Allbut
 
Untangling8
Untangling8Untangling8
Untangling8
Derek Jacoby
 
Forensic Theming for Drupal
Forensic Theming for DrupalForensic Theming for Drupal
Forensic Theming for Drupal
Emma Jane Hogbin Westby
 
Child Theme
Child ThemeChild Theme
Child Theme
Shinichi Nishikawa
 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery Plugins
Marc Grabanski
 
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Jonny Allbut
 
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Acquia
 
WordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow PresentationWordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow Presentation
Jonny Allbut
 
How To Contribute Drupalcon
How To Contribute   DrupalconHow To Contribute   Drupalcon
How To Contribute Drupalcon
guestc9344e
 
Rapid WordPress theme development
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme development
Jonny Allbut
 
The What & Why of Pattern Lab
The What & Why of Pattern LabThe What & Why of Pattern Lab
The What & Why of Pattern Lab
Dave Olsen
 
Atomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoAtomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San Diego
Brad Frost
 
Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013
Brad Frost
 
WordCamp Birmingham 2015 - Theme building tricks of the trade
WordCamp Birmingham 2015 - Theme building tricks of the tradeWordCamp Birmingham 2015 - Theme building tricks of the trade
WordCamp Birmingham 2015 - Theme building tricks of the trade
Jonny Allbut
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
Susan Winters
 

What's hot (20)

Drupal Presentation for CapitalCamp 2011: Features Driven Development
Drupal Presentation for CapitalCamp 2011: Features Driven DevelopmentDrupal Presentation for CapitalCamp 2011: Features Driven Development
Drupal Presentation for CapitalCamp 2011: Features Driven Development
 
Paragraphs at drupal 8.
Paragraphs at drupal 8.Paragraphs at drupal 8.
Paragraphs at drupal 8.
 
WordCamp Miami 09 - WP Framework
WordCamp Miami 09 - WP FrameworkWordCamp Miami 09 - WP Framework
WordCamp Miami 09 - WP Framework
 
Drupal 8 Vocab Lesson
Drupal 8 Vocab LessonDrupal 8 Vocab Lesson
Drupal 8 Vocab Lesson
 
DevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With ChefDevOps for Drupal: Why We Cook With Chef
DevOps for Drupal: Why We Cook With Chef
 
WordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPressWordCamp Bournemouth 2014 - Designing with data in WordPress
WordCamp Bournemouth 2014 - Designing with data in WordPress
 
Untangling8
Untangling8Untangling8
Untangling8
 
Forensic Theming for Drupal
Forensic Theming for DrupalForensic Theming for Drupal
Forensic Theming for Drupal
 
Child Theme
Child ThemeChild Theme
Child Theme
 
Learning from the Best jQuery Plugins
Learning from the Best jQuery PluginsLearning from the Best jQuery Plugins
Learning from the Best jQuery Plugins
 
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
Build WordPress themes like a heavyweight - WordCamp Lancaster 2013
 
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2Ready. Set. Drupal! An Intro to Drupal 8, Part 2
Ready. Set. Drupal! An Intro to Drupal 8, Part 2
 
WordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow PresentationWordCamp Sheffield 2014 Theme Workflow Presentation
WordCamp Sheffield 2014 Theme Workflow Presentation
 
How To Contribute Drupalcon
How To Contribute   DrupalconHow To Contribute   Drupalcon
How To Contribute Drupalcon
 
Rapid WordPress theme development
Rapid WordPress theme developmentRapid WordPress theme development
Rapid WordPress theme development
 
The What & Why of Pattern Lab
The What & Why of Pattern LabThe What & Why of Pattern Lab
The What & Why of Pattern Lab
 
Atomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San DiegoAtomic Design - An Event Apart San Diego
Atomic Design - An Event Apart San Diego
 
Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013Atomic Design - BDConf Nashville, 2013
Atomic Design - BDConf Nashville, 2013
 
WordCamp Birmingham 2015 - Theme building tricks of the trade
WordCamp Birmingham 2015 - Theme building tricks of the tradeWordCamp Birmingham 2015 - Theme building tricks of the trade
WordCamp Birmingham 2015 - Theme building tricks of the trade
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
 

Viewers also liked

Turning stories into websites
Turning stories into websitesTurning stories into websites
Turning stories into websites
Donna Benjamin
 
Turning stories into websites - The PHP conference Australia edition
Turning stories into websites - The PHP conference Australia editionTurning stories into websites - The PHP conference Australia edition
Turning stories into websites - The PHP conference Australia edition
Donna Benjamin
 
Successes and Challenges When Managing Large Scale Drupal Projects
Successes and Challenges When Managing Large Scale Drupal ProjectsSuccesses and Challenges When Managing Large Scale Drupal Projects
Successes and Challenges When Managing Large Scale Drupal Projects
Acquia
 
Agile drupal tips
Agile drupal tipsAgile drupal tips
Agile drupal tips
Chris Urban
 
User Story Mapping Workshop (Design Skills 2016)
User Story Mapping Workshop (Design Skills 2016)User Story Mapping Workshop (Design Skills 2016)
User Story Mapping Workshop (Design Skills 2016)
Bartosz Mozyrko
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
Naresh Jain
 

Viewers also liked (6)

Turning stories into websites
Turning stories into websitesTurning stories into websites
Turning stories into websites
 
Turning stories into websites - The PHP conference Australia edition
Turning stories into websites - The PHP conference Australia editionTurning stories into websites - The PHP conference Australia edition
Turning stories into websites - The PHP conference Australia edition
 
Successes and Challenges When Managing Large Scale Drupal Projects
Successes and Challenges When Managing Large Scale Drupal ProjectsSuccesses and Challenges When Managing Large Scale Drupal Projects
Successes and Challenges When Managing Large Scale Drupal Projects
 
Agile drupal tips
Agile drupal tipsAgile drupal tips
Agile drupal tips
 
User Story Mapping Workshop (Design Skills 2016)
User Story Mapping Workshop (Design Skills 2016)User Story Mapping Workshop (Design Skills 2016)
User Story Mapping Workshop (Design Skills 2016)
 
User Story Mapping
User Story MappingUser Story Mapping
User Story Mapping
 

Similar to Managing a Project the Drupal Way - Drupal Open Days Ireland

Production process presentation - drupalcamp Toronto 2010
Production process presentation - drupalcamp Toronto 2010Production process presentation - drupalcamp Toronto 2010
Production process presentation - drupalcamp Toronto 2010
Aidan Foster
 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2
Chad Udell
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Angela Byron
 
The Road to DITA
The Road to DITAThe Road to DITA
The Road to DITA
Wendy Shaffer
 
_ Drupal and the Art of Scrum _
_ Drupal and the Art of Scrum __ Drupal and the Art of Scrum _
_ Drupal and the Art of Scrum _
Ricardo Amaro
 
Building applications-with-drupal
Building applications-with-drupalBuilding applications-with-drupal
Building applications-with-drupal
Phase2
 
DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)
DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)
DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)
DrupalCape
 
Drupal WebJam Utrecht
Drupal WebJam UtrechtDrupal WebJam Utrecht
Drupal WebJam Utrecht
leisa reichelt
 
Jakob Larsen - CV
Jakob Larsen - CVJakob Larsen - CV
Jakob Larsen - CV
JAKOBLARSENSENIORDRU
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
Enplore AB
 
Leaving you.v3
Leaving you.v3Leaving you.v3
Leaving you.v3
Treehouse Agency
 
Continuing-Ed Opportunities with Drupal
Continuing-Ed Opportunities with DrupalContinuing-Ed Opportunities with Drupal
Continuing-Ed Opportunities with Drupal
gstupar
 
Is everything we used to do wrong?
Is everything we used to do wrong?Is everything we used to do wrong?
Is everything we used to do wrong?
Russ Weakley
 
Agile mobile first
Agile mobile firstAgile mobile first
Agile mobile first
Jelmer de Maat
 
Drupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better ThemesDrupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better Themes
nyccamp
 
Choosing an Open Source CMS
Choosing an Open Source CMSChoosing an Open Source CMS
Choosing an Open Source CMS
Phase2
 
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
Daniel Bryant
 
Prototype to Drupal Site with KalaStatic
Prototype to Drupal Site with KalaStaticPrototype to Drupal Site with KalaStatic
Prototype to Drupal Site with KalaStatic
cspin
 
Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014
Sarah Shealy
 
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
Tara King
 

Similar to Managing a Project the Drupal Way - Drupal Open Days Ireland (20)

Production process presentation - drupalcamp Toronto 2010
Production process presentation - drupalcamp Toronto 2010Production process presentation - drupalcamp Toronto 2010
Production process presentation - drupalcamp Toronto 2010
 
Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2Designers are from Venus - Presentationas Given to CD2
Designers are from Venus - Presentationas Given to CD2
 
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and BeyondSpark: Authoring Experience++ in Drupal 7, 8, and Beyond
Spark: Authoring Experience++ in Drupal 7, 8, and Beyond
 
The Road to DITA
The Road to DITAThe Road to DITA
The Road to DITA
 
_ Drupal and the Art of Scrum _
_ Drupal and the Art of Scrum __ Drupal and the Art of Scrum _
_ Drupal and the Art of Scrum _
 
Building applications-with-drupal
Building applications-with-drupalBuilding applications-with-drupal
Building applications-with-drupal
 
DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)
DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)
DrupalCon Chicago 2011 ReportBack (11/03/30 - G. Bedford)
 
Drupal WebJam Utrecht
Drupal WebJam UtrechtDrupal WebJam Utrecht
Drupal WebJam Utrecht
 
Jakob Larsen - CV
Jakob Larsen - CVJakob Larsen - CV
Jakob Larsen - CV
 
AD - Developer communication and Technology
AD - Developer communication and TechnologyAD - Developer communication and Technology
AD - Developer communication and Technology
 
Leaving you.v3
Leaving you.v3Leaving you.v3
Leaving you.v3
 
Continuing-Ed Opportunities with Drupal
Continuing-Ed Opportunities with DrupalContinuing-Ed Opportunities with Drupal
Continuing-Ed Opportunities with Drupal
 
Is everything we used to do wrong?
Is everything we used to do wrong?Is everything we used to do wrong?
Is everything we used to do wrong?
 
Agile mobile first
Agile mobile firstAgile mobile first
Agile mobile first
 
Drupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better ThemesDrupal Aware Design: Good Techniques for Better Themes
Drupal Aware Design: Good Techniques for Better Themes
 
Choosing an Open Source CMS
Choosing an Open Source CMSChoosing an Open Source CMS
Choosing an Open Source CMS
 
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
DevXDay KubeCon NA 2021: "From Kubernetes to PaaS to Developer Control Planes"
 
Prototype to Drupal Site with KalaStatic
Prototype to Drupal Site with KalaStaticPrototype to Drupal Site with KalaStatic
Prototype to Drupal Site with KalaStatic
 
Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014Intro to Drupal Slides - DrupalCampSC 2014
Intro to Drupal Slides - DrupalCampSC 2014
 
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
2013 Twin Cities Drupal Camp - No CSS Needed: A Sitebuilders' Guide to Theming
 

More from Emma Jane Hogbin Westby

Was it something I said?
Was it something I said?Was it something I said?
Was it something I said?
Emma Jane Hogbin Westby
 
HOWTO Empathy
HOWTO EmpathyHOWTO Empathy
Lessons From an Unlikely Superhero
Lessons From an Unlikely SuperheroLessons From an Unlikely Superhero
Lessons From an Unlikely Superhero
Emma Jane Hogbin Westby
 
PSD to Theme: The SMACSS Way
PSD to Theme: The SMACSS WayPSD to Theme: The SMACSS Way
PSD to Theme: The SMACSS Way
Emma Jane Hogbin Westby
 
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon Prague
Emma Jane Hogbin Westby
 
Git Makes Me Angry Inside
Git Makes Me Angry InsideGit Makes Me Angry Inside
Git Makes Me Angry Inside
Emma Jane Hogbin Westby
 
Was It Something I Said? The Art of Giving (and getting) A Critique
Was It Something I Said? The Art of Giving (and getting) A CritiqueWas It Something I Said? The Art of Giving (and getting) A Critique
Was It Something I Said? The Art of Giving (and getting) A Critique
Emma Jane Hogbin Westby
 
Beyond the Bikeshed
Beyond the BikeshedBeyond the Bikeshed
Beyond the Bikeshed
Emma Jane Hogbin Westby
 
Gamestorming Meets Quiet
Gamestorming Meets QuietGamestorming Meets Quiet
Gamestorming Meets Quiet
Emma Jane Hogbin Westby
 
Work Flow for Solo Developers and Small Teams
Work Flow for Solo Developers and Small TeamsWork Flow for Solo Developers and Small Teams
Work Flow for Solo Developers and Small Teams
Emma Jane Hogbin Westby
 
Evaluating Base Themes
Evaluating Base ThemesEvaluating Base Themes
Evaluating Base Themes
Emma Jane Hogbin Westby
 
Speaker Check-in - 3 - Munich
Speaker Check-in - 3 - MunichSpeaker Check-in - 3 - Munich
Speaker Check-in - 3 - Munich
Emma Jane Hogbin Westby
 
Responsive Web Design for Drupal, CMS Expo
Responsive Web Design for Drupal, CMS ExpoResponsive Web Design for Drupal, CMS Expo
Responsive Web Design for Drupal, CMS Expo
Emma Jane Hogbin Westby
 
Selling Hopes and Dreams - DrupalCamp Toronto
Selling Hopes and Dreams - DrupalCamp TorontoSelling Hopes and Dreams - DrupalCamp Toronto
Selling Hopes and Dreams - DrupalCamp Toronto
Emma Jane Hogbin Westby
 
There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010
Emma Jane Hogbin Westby
 
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Emma Jane Hogbin Westby
 
Advanced Layout Techniques @ CMSExpo
Advanced Layout Techniques @ CMSExpoAdvanced Layout Techniques @ CMSExpo
Advanced Layout Techniques @ CMSExpo
Emma Jane Hogbin Westby
 
Design to Theme @ CMSExpo
Design to Theme @ CMSExpoDesign to Theme @ CMSExpo
Design to Theme @ CMSExpo
Emma Jane Hogbin Westby
 
Drupal Help System
Drupal Help SystemDrupal Help System
Drupal Help System
Emma Jane Hogbin Westby
 
Lessons from Life Coaching for Linux
Lessons from Life Coaching for LinuxLessons from Life Coaching for Linux
Lessons from Life Coaching for Linux
Emma Jane Hogbin Westby
 

More from Emma Jane Hogbin Westby (20)

Was it something I said?
Was it something I said?Was it something I said?
Was it something I said?
 
HOWTO Empathy
HOWTO EmpathyHOWTO Empathy
HOWTO Empathy
 
Lessons From an Unlikely Superhero
Lessons From an Unlikely SuperheroLessons From an Unlikely Superhero
Lessons From an Unlikely Superhero
 
PSD to Theme: The SMACSS Way
PSD to Theme: The SMACSS WayPSD to Theme: The SMACSS Way
PSD to Theme: The SMACSS Way
 
Git Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon PragueGit Makes Me Angry Inside - DrupalCon Prague
Git Makes Me Angry Inside - DrupalCon Prague
 
Git Makes Me Angry Inside
Git Makes Me Angry InsideGit Makes Me Angry Inside
Git Makes Me Angry Inside
 
Was It Something I Said? The Art of Giving (and getting) A Critique
Was It Something I Said? The Art of Giving (and getting) A CritiqueWas It Something I Said? The Art of Giving (and getting) A Critique
Was It Something I Said? The Art of Giving (and getting) A Critique
 
Beyond the Bikeshed
Beyond the BikeshedBeyond the Bikeshed
Beyond the Bikeshed
 
Gamestorming Meets Quiet
Gamestorming Meets QuietGamestorming Meets Quiet
Gamestorming Meets Quiet
 
Work Flow for Solo Developers and Small Teams
Work Flow for Solo Developers and Small TeamsWork Flow for Solo Developers and Small Teams
Work Flow for Solo Developers and Small Teams
 
Evaluating Base Themes
Evaluating Base ThemesEvaluating Base Themes
Evaluating Base Themes
 
Speaker Check-in - 3 - Munich
Speaker Check-in - 3 - MunichSpeaker Check-in - 3 - Munich
Speaker Check-in - 3 - Munich
 
Responsive Web Design for Drupal, CMS Expo
Responsive Web Design for Drupal, CMS ExpoResponsive Web Design for Drupal, CMS Expo
Responsive Web Design for Drupal, CMS Expo
 
Selling Hopes and Dreams - DrupalCamp Toronto
Selling Hopes and Dreams - DrupalCamp TorontoSelling Hopes and Dreams - DrupalCamp Toronto
Selling Hopes and Dreams - DrupalCamp Toronto
 
There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010There's a Module for That, MIMA Summit 2010
There's a Module for That, MIMA Summit 2010
 
Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010Intro to Theming Drupal, FOSSLC Summer Camp 2010
Intro to Theming Drupal, FOSSLC Summer Camp 2010
 
Advanced Layout Techniques @ CMSExpo
Advanced Layout Techniques @ CMSExpoAdvanced Layout Techniques @ CMSExpo
Advanced Layout Techniques @ CMSExpo
 
Design to Theme @ CMSExpo
Design to Theme @ CMSExpoDesign to Theme @ CMSExpo
Design to Theme @ CMSExpo
 
Drupal Help System
Drupal Help SystemDrupal Help System
Drupal Help System
 
Lessons from Life Coaching for Linux
Lessons from Life Coaching for LinuxLessons from Life Coaching for Linux
Lessons from Life Coaching for Linux
 

Recently uploaded

Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17
Bhajan Mehta
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Muhammad Ali
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
bellared2
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
Priyanka Aash
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
AmandaCheung15
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
Google Developer Group - Harare
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
Step-By-Step Process to Develop a Mobile App From Scratch
Step-By-Step Process to Develop a Mobile App From ScratchStep-By-Step Process to Develop a Mobile App From Scratch
Step-By-Step Process to Develop a Mobile App From Scratch
softsuave
 
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
Priyanka Aash
 
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
Priyanka Aash
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Torry Harris
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
Priyanka Aash
 
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
Priyanka Aash
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
ssuser1915fe1
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
Zilliz
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
Jimmy Lai
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
David Wilson
 

Recently uploaded (20)

Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17Mule Experience Hub and Release Channel with Java 17
Mule Experience Hub and Release Channel with Java 17
 
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
Litestack talk at Brighton 2024 (Unleashing the power of SQLite for Ruby apps)
 
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
Russian Girls Call Navi Mumbai 🎈🔥9920725232 🔥💋🎈 Provide Best And Top Girl Ser...
 
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
(CISOPlatform Summit & SACON 2024) Digital Personal Data Protection Act.pdf
 
Zaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdfZaitechno Handheld Raman Spectrometer.pdf
Zaitechno Handheld Raman Spectrometer.pdf
 
Google I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged SlidesGoogle I/O Extended Harare Merged Slides
Google I/O Extended Harare Merged Slides
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
Step-By-Step Process to Develop a Mobile App From Scratch
Step-By-Step Process to Develop a Mobile App From ScratchStep-By-Step Process to Develop a Mobile App From Scratch
Step-By-Step Process to Develop a Mobile App From Scratch
 
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
(CISOPlatform Summit & SACON 2024) Regulation & Response In Banks.pdf
 
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
(CISOPlatform Summit & SACON 2024) Gen AI & Deepfake In Overall Security.pdf
 
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...Evolution of iPaaS - simplify IT workloads to provide a unified view of  data...
Evolution of iPaaS - simplify IT workloads to provide a unified view of data...
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
(CISOPlatform Summit & SACON 2024) Cyber Insurance & Risk Quantification.pdf
 
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
(CISOPlatform Summit & SACON 2024) Workshop _ Most Dangerous Attack Technique...
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
Feature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptxFeature sql server terbaru performance.pptx
Feature sql server terbaru performance.pptx
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
Using LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and MilvusUsing LLM Agents with Llama 3, LangGraph and Milvus
Using LLM Agents with Llama 3, LangGraph and Milvus
 
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python CodebaseEuroPython 2024 - Streamlining Testing in a Large Python Codebase
EuroPython 2024 - Streamlining Testing in a Large Python Codebase
 
Mastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for SuccessMastering OnlyFans Clone App Development: Key Strategies for Success
Mastering OnlyFans Clone App Development: Key Strategies for Success
 

Managing a Project the Drupal Way - Drupal Open Days Ireland

  • 1. Managing a Project The Drupal Way @emmajanehw drupal.org/user/1773 You're organised, you love spreadsheets, you're a great cheerleader, you handle a backlog with superhero skills, and now you're faced with managing a Drupal project and everything just feels foreign. It's not you, it's Drupal. The mix of site building, front end development, backend development, and over 20,000 contributed modules makes project management for Drupal exceptionally frustrating for people who've not worked with Drupal before. This session will cover: • the basic Drupal development workflow (from a developer's perspective, but without using developer jargon) • writing useful tickets which developers can accomplish • estimation tips for multi-discipline tickets (design / back end / front end) • ideal team structures -- and what to do if you can't get them • Bring your questions, and bring your experience -- plenty of time will be left for discussion at the end of the session. Time: 30 minutes
  • 2. The best place to learn software development is in the Drupal community. Disclaimer. I have never met a more supportive group of people who genuinely wanted to help others to succeed in learning how to contribute to a software project. We / they are an open, welcoming group of people. No previous experience needed. - testing - peer review - writing good bug reports - collaborative patch writing
  • 3. The worst place to learn how to build a site with Drupal is the issue queue. (Another) Disclaimer But learning how to build Drupal is not the same as learning how to make a client website with Drupal. Too often developers forget to bring the best practices from Drupal into their workplace. This talk is a reminder of some of those lessons, mixed with the lessons I’ve learned about building Drupal sites, mixed with some of the psychology I’ve picked up as a Project Manager on Drupal and other software projects.
  • 4. Avoiding project managers is iterative.
 It’s something we developers get better at every time. @adamculp First a little background for this talk. I’ve been working with Drupal for over a decade. First as a developer who was building her own CMS (I used the database structure for multi-lingual content); then as a site builder, and a themer; then as an educator (I’ve written two books on Drupal and delivered sessions at a lot of Drupal events); and finally as a project manager. Having played all of these roles, I know where all the snake pits are when delivering Drupal sites. I also know where there are easy wins for teams.
  • 5. Every project is a unique snowflake. The trick is to understand what those snowflakes mean in aggregate. This is pretty snow because it’s in a field.
  • 6. This means: danger due to drifts.
  • 7. This means a lot of shovelling.
  • 8. Drupal PM Survival Guide 1. Foster collaborative, cross-functional teams
 who stay with you for the entire project. 2. Find your gremlins sooner by deploying features
 from start to finish. 3. Build re-usable components, 
 and all their variants, from content “out”. 4. Emulate the drupal.org issue queue. 1. Build your team. 2. With very small chunks, walk through all the steps from start to finish. 3. Build re-usable components where possible. 4. push all communications + artefacts of conversation to the issue queue; collaborate and hold each other to the highest possible standard.
  • 9. 1. Foster collaborative, cross-functional teams who stay with you for the entire project. Managing Projects the Drupal Way (this is a header slide; don’t dwell!)
  • 10. Teams are immutable. 
 Every time someone leaves, or joins, 
 you have a new team, 
 not a changed team. @richardadalton
  • 11. Be aware of job titles. Ideal team structures -- and what to do if you can't get them Be aware in the sense of “these are the tasks you’ll probably have to complete”. But also be aware in the sense of not letting people roll up their sleeves because they have the wrong title. And finally be aware if you’re asking someone to accomplish something outside of their normal comfort zone. Having someone stretch can take more time away from other tasks.
  • 12. Web Projects • UX • Designer • Content Strategist • Backend Developer • Front End Developer Supportive Roles • Business Analyst • Project Manager • Quality Assurance • DevOps / Sysadmin Client-Side • Product Owner • Content Manager Drupal-Specific • Site Builder • Themer
  • 13. Foster strong teams. I’ve watched teams of weaker individuals raleigh together and become an incredibly strong team. Communication Peer review Knowledge sharing Collaborative research (LMGTFY) Brainstorming Rubber ducking Accountability Morale boosting (Acknowledge effort) (Protect dev time)
  • 14. Moods are infectious. Project management truism. Every day everyone brings themselves to work and in a distributed team you rely on voice and typed words. Sales folks train themselves to smile when talking on the phone. They say it changes the tone of the voice. If you feel the team is trending towards frustration take the time to check your own attitude. Smile. You might be able to pull the team into your good mood.
  • 15. Acknowledgement
 kindles effort. Project management truism. In software, a job well done is often invisible. If I no longer see error messages, it's as if the solution had always been there. Ensure the effort of your teammates is visible. The more you acknowledge their work, the more they will want to work for you. Even if you are not grateful, or wanting to give thanks, you can still acknowledge the effort someone has invested in their tasks.
  • 16. Language matters. Project management truism. We had been referring to our launchable site as a "Minimum Viable Product". It didn't resonate with the team, who wanted to create something better than something which was just barely good enough. We changed our language to remove the loaded phrase. In our ticketing system, we updated the backlog title to be "Launch Blocker Backlog" instead of "MVP Backlog" and pride emerged from the team for the product they were working on.
  • 17. Minor choice makes a major difference. Project management truism. When I was first given the job of "loading sprints", I assumed I was supposed to pick tasks for people. No one told me otherwise. I'd load up the sprints and send out assignments and would be met with the abyss. When we changed to everyone choosing their own tickets from a prioritized list, sprint loading became more dynamic and people had only themselves to blame if they didn't enjoy their tasks. It still takes me about 1.5 days to close a sprint and prepare the next one, but people seem to enjoy their work more during the sprint.
  • 18. 2. Find your gremlins sooner
 by deploying features
 from start to finish. Managing Projects the Drupal Way (this is a header slide; don’t dwell!) Deploy Features from start to finish with cross-functional teams. In other words: be agile.
  • 19. Prototype Component Design Component Build Custom Development Content Migration Theming Deployment Infra-
 structure Let me show you what I mean by this. I’ve got a typical assembly line that we’d use for a website project. This is displayed in a linear fashion, but it really isn’t a linear process. - Infrastructure may include setting up your local environment, dev server, and prod server. - Prototyping: if you can, prototype in Drupal (plan to throw it all away), but figure out where the snake pits are. Prototyping in HTML can be misleading because it can be very difficult to bring that HTML / CSS back into Drupal if it wasn’t created by someone who thinks like Drupal. - Component design: work in the smaller widgets and think about how they may work as interchangeable elements throughout the site. e.g. style tile; KSS style guide. You can get the theme and the designer working together quite early on. - Component build: site building. The point-and-click of views. Display formatters. Contrib modules are probably introduced at this point. - Custom development. Only now and finally are we starting on custom development. If your developer starts by saying that it’s all custom: question them. There are 30,000 modules. It’s highly unlikely there isn’t a starting point *somewhere*. Note: I include front end dev and back end dev here. - Content migration. This is where things start to fall down, because really you want to have been working on content migration for ages by the time you get here. Getting the content into the site sooner helps you confirm your data model and interactions throughout the site. - Theming: the custom theme / templates needed to display your content. At this point you need to finalise how all of the components are built into the site. You might end up using Panels or Context at this point. - Deployment: we’re back to infrastructure again. But now we need to also be thinking about our Git branches and tagged releases and how we separate the code into “in progress” and “fully tested” and “deployed on production”. GitFlow is quite common. Ask your developers early to write down their process for deploying code. Figure out how you’re going to track the deployment information in your ticket tracker. Document, document, document. You never want someone to be attempting a system restore without careful step-by-step instructions.
  • 20. How long? • Developers know best. 
 But multiply it by 2 (and by 2 again). • On-boarding takes a week longer 
 than you think it should. • Sprints of 1-2 weeks are generally “about right”. • Half way through your project; 
 local environments will mysteriously break. • The “last mile” takes three weeks longer 
 than it should because of regressions and Features. - Why not multiple by four? Because on most projects you’d 2x an estimate. But the Drupal factor gives it a 2x again. Not because it’s harder to build things in Drupal, but because sometimes things are fragile in unexpected ways. - On-boarding includes the beginning of the project, and also if you bring anyone in mid-stream. Getting everyone on-boarded at the very beginning (instead of on boarding a themer towards the end will help with velocity because they’re all losing the same week). - Most software nerds like to run the latest and greatest. Often these software updates are happening automatically in the background. It’s inevitable that something will mysteriously break. This can also be due to upgrading Drupal modules because of security releases. - The more you pile into Features the more it seems to drop things on export. This is extremely frustrating and developers can lose whole days to a Feature export which has failed (you ticked all the boxes but it still didn’t export all of the elements). And yet: it’s the best thing we have for Drupal 7. Drupal 8 will be better.
  • 21. Adrenaline is finite. Project management truism. When I first started on the project, we kept making optimistic, arbitrary launch dates. Being our own client, we could make whatever deadlines we wanted. "In time for DrupalCon." "At the end of July." We had no empirical data to suggest these deadlines were possible. Shifting deadlines are exhausting and we were burning ourselves out. As soon as we removed the arbitrary dates, people were able to enjoy their tasks a little more instead of constantly feeling a time pressure. This made people happier.
  • 22. Closure is important. Project management truism. Originally we worked on two week sprints. At the end of a sprint, any ticket that wasn't completed lingered in an old sprint. Based on a comment from James Sansbury about one of his projects we changed how sprints were loaded and completed. Each sprint is now only a week long. At the end of the week, the old sprint is closed. Outstanding tickets are moved to the current sprint. Anyone is allowed to put an unfinished ticket into the backlog. No shame; no blame. We begin fresh today and move constantly forward.
  • 23. 3. Build re-usable components, and all their variants, from content “out”. Managing Projects the Drupal Way (this is a header slide; don’t dwell!)
  • 24. Layout Functionality Component Content The basic Drupal development workflow (from a developer's perspective, but without using developer jargon). Content: what are you going to store in the site; and where does that content come from.
 In Drupal terms: what are your content types (entities); and what are the taxonomies used to categorise that content? Component: when content appears, how is it listed? Does more/less of it appear when in different contexts?
 In Drupal terms: what are your Views? What are the Display formatters for the fields? Functionality: can I interact with the context around that content? Can I add comments? Bookmark? Buy? What else can I *do* in addition to reading / scrolling? In Drupal terms: What are the additional contributed / custom modules you need to install to make the site “behave” / “work” appropriately for site visitors? Layout: How do the components fit together on the page? Are different layouts available for different screen widths? Are there different context for different user permissions?
 In Drupal terms: Base themes, Context, Panels, and conditional rendering of objects on the page. When we see the cluster like this, you can understand why functionality is sometimes separated from theming. But I think that’s a mistake to build it in isolation. Working on smaller, components--with all their variations--will make the individual components more robust, and better able to adapt to different view port sizes.
  • 25. 4. Emulate (some parts)
 of the drupal.org
 issue queue. Managing Projects the Drupal Way (this is a header slide; don’t dwell!) • Allow the description to be updated, so that it includes a summary of comments. • Use a template for the summary description. • Push all conversation into the issue itself. • Attach relevant assets (wireframes, diagrams, visuals). • Use keyword tagging from a controlled vocabulary. • Standardised your format; but also allow room for one-offs. The 3Cs from Agile work well. Except when they don’t. Drupalize.Me had a QA “test” as the required first line of every ticket. These lines were copied and pasted in the deployment checklist for the week (and sometimes automated). • Groom the backlog frequently. No matter what tickets you write, you will miss some things, and duplicate others. • Push conversations, and their artefacts, into tickets. Diagrams, testing notes, conclusions from discussions.
  • 26. Card: 
 Define testable outcomes.
 Demonstrate business value.
  • 27. As a ___ I want to ___ so that I ___. For example: 
 As a user, I want to filter the search results
 so that I can more easily find people with the verified role assignment.
  • 28. Conversation:
 Centralise, and be flexible. - drupal.org does this really, really well. - Be descriptive; not prescriptive. - Provide annotated screen shots; and screen casts of the problem. - Allow for alternate interpretations of the conversation so long as it accomplishes the user story. - Get the conversation out of email. Issues are tracked in the queue, not in email. - Being descriptive is REALLY damn hard as a recovering developer. - Be as detailed as you can in the description of the problem. Including screen shots can help the dev to replicate the problem and then figure out how to “recover” things. If they can’t replicate it, they may be able to come back to you and see if it’s problem on *your* local environment. - Not just “it doesn’t work” but *how* it doesn’t work.
  • 29. Confirmation: Test, test, and test again. - Provide step-by-step testing instructions
 in support of the user story as soon as the story is written. - Require testing notes and screen shots (of what it should look like) from the developers. - Peer review the code; user test the functionality. - The testing steps help set the developer up for success: they know exactly the sequence you’re expecting to take to accomplish the task, so they can make sure the workflow / sequence works before asking for a code review (and then QA). - Step-by-step instructions help non-SMEs work efficiently on testing. You don’t need to know the system inside to just click through the test. - The steps may be helpful in the development of automated tests as well. - The screen shots help you to immediately see if there has been a problem with the Features export. If it doesn’t look right, the QA person can immediately stop and go back to the developer to see if they need to re-export the Feature.
  • 30. Sort for yourself;
 format for others. Project management truism. I love spreadsheets. I assumed everyone else did too. They don't. Who knew? Instead of creating spreadsheets to share with others, I now create summaries with markdown within our ticketing system. Now that the team receives the content in their preferred format, I find them more likely to engage in conversation about it.
  • 31. Moderate what you change; including your moderation. Project management truism. At first I found the lack of feedback on my processes really difficult. I didn't know how to evaluate if I was implementing good changes or bad changes. So I'd change my approach. Frequently. This made it very difficult for people to track what a week's process was supposed to be. Finally we threw it all out and started again. Consciously. Any changes we make are now immediately documented in a centralized guide. The guide is a trusted document, but also not so holy that it cannot be changed if the documented procedures are not helping the team accomplish their tasks.
  • 32. Drupal PM Survival Guide 1. Foster collaborative, cross-functional teams
 who stay with you for the entire project. 2. Find your gremlins sooner by deploying features
 from start to finish. 3. Build re-usable components, 
 and all their variants, from content “out”. 4. Emulate the drupal.org issue queue.
  • 33. Resources • A Developer’s Primer To Managing Developers
 https://austin2014.drupal.org/session/developers-primer-managing-developers.html • Things I Learned From Managing my First Project
 https://drupalize.me/blog/201312/things-i-learned-managing-my-first-project • Avoiding the Git of Despair
 https://events.drupal.org/losangeles2015/sessions/avoiding-git- despair • Git for Teams
 http://www.gitforteams.com
  • 34. Books • User Story Mapping -- Jeff Patton • Agile Product Management with Scrum -- Roman Pichler • Essential Scrum -- Kenneth Rubin • Scrum Shortcuts -- Ilan Goldstein • Fifty Quick Ideas to Improve Your User Stories -- Gojko Adzic • User Stories Applied -- Mike Cohn
  • 35. Managing a Project The Drupal Way @emmajanehw www.gitforteams.com