These slides accompanied Nicole Lind's presentation at Twin Cities Drupal Camp 2013.
Drupal in the last couple of years has grown up. It has been chosen, built, and deployed by some of the largest companies and corporations in the world. This maturation has brought a whole new set of problems for Drupal. More often than not, enterprise Drupal projects rely on multiple 3rd party integrations, huge data migration requirements, adept risk management, high expectations of the editorial and administrative experience, and ill-defined QA and launch requirements. All of these challenges are coupled with the typical political, people, process, and limitations on schedule and budget. Nicole Lind walks you through her experience with all of the above.
4. What is a Large Drupal Project?
• Number of project hours exceeds 2000
• Complexity of the requirements dictates a custom Drupal
solution
• Build requires specialized team members (Project
Manager, Business Analyst, Developer, Architect, etc.)
11. Editorial and/or Production Team
Apathy and Insanity
• Solution
• Demos and Training
• Migration Documentation
• Annotated Wireframes for Everything Including Admin
Screens
• Plan for Long Term Maintenance of Solution
12. Ignoring the Importance of the
Administrative Interfaces
• Solution
• Annotated Wireframes for Everything Including Admin
Screens
• Demos and Training
14. Inexperienced Architects Designing
a Custom Drupal Solution
• No school or book will teach you what you need to know
• Easy to get far into a project with major problems unaddressed
• Solutions
• Have a mentoring architect assigned to the project
• Architecture reviews by peers
15. Getting to the Starting Line
• Security and/or clearance issues
• Development infrastructure is complicated.
• Accounts & access requests can take time.
• Solutions
• Note good contacts, use them.
• Develop onboarding scripts and scripts.
16. Ramping Up to the Build
• Getting oriented to the system can take time.
• It can be 3-6 weeks before any useful development.
• Solutions
• Wikis (but these are only good if kept fresh)
• Strategic, progressive exposure and learning
17. Bottlenecks and Knowledge Sharing
• Large systems have more potential points of friction.
• Too often knowledge resides with one person.
• Solutions
• Wikis (but these are only good if kept fresh)
• Obvious bottlenecks have multiple people trained on
them.
18. Meetings
• Meetings get difficult with more staff
• Either need more meetings or larger meetings
• Solutions
• Frequent scrum meetings on regular schedules
• Meetings with defined agendas and actionable outcomes
19. Long Engagement Issues
• Boredom
• Personality conflicts
• Solutions
• Cycle team members out at strategic points.
• Keep team informed of the rough length of their
engagement, and stick to those dates.
21. Source Code Control
• Need revision tracking and ability to rollback
• Need to make sure developers’ work can interoperate
• Deploy code to production quickly
• Solutions
• Git flow (http://nvie.com/posts/a-successful-git-
branching-model/)
22. Test, test, test.
• With many developers, huge chance of collisions
• Need to find bugs before they hit production
• Solutions
• Automated testing: PHPUnit, Behat, Saucelabs
23. Second- and Third Party Integrations
• Drupal team dealing with new technology
• Technologies may not interoperate well
• Second-party integration have politics and turf issues
• Solutions
• Discovery
• Risk Assessment/Mitigation
24. The Myths of FOSS
• Client expects everything works off the shelf
• You can’t tell a large organization “it works that way”
• Solutions
• Client relationship and expectations management
• Emphasize the triad of budget, timeline, and feature set
27. Opportunities for Contribution
• Difficulties and complexity leads to interesting solutions
• Often can generalize these out and contribute back
28. Staff Happiness
• Long engagements make staff happy (sometimes)
• Large engagements make staff happy (sometimes)
29. Increased organizational growth
• Larger teams
• Larger budgets
• Opportunities for more complex management structure
which results in additional career paths for team members