Large Drupal Projects: Blessing or Burden?

35
Large Drupal Projects: Blessing or Burden? Twin Cities Drupal Camp July 19, 2013

description

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.

Transcript of Large Drupal Projects: Blessing or Burden?

Page 1: Large Drupal Projects: Blessing or Burden?

Large Drupal Projects:Blessing or Burden?

Twin Cities Drupal CampJuly 19, 2013

Page 4: Large Drupal Projects: Blessing or Burden?

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.)

Page 5: Large Drupal Projects: Blessing or Burden?

Planning

Page 6: Large Drupal Projects: Blessing or Burden?

Poorly Understood Requirements

• Solution

• Discovery

• Clear Project Methodology

Page 7: Large Drupal Projects: Blessing or Burden?

Underestimating Real Effort

• Solution

• Discovery

• Clear Project Methodology

• Risk Assessment and Mitigation Plans

Page 8: Large Drupal Projects: Blessing or Burden?

Data Mapping and Migration Issues

• Solution

• Discovery

• Migration Documentation

Page 9: Large Drupal Projects: Blessing or Burden?

Unaccounted for Onboarding Time

• Solution

• Discovery

• Clear Project Methodology

Page 10: Large Drupal Projects: Blessing or Burden?

Client Relationships

Page 11: Large Drupal Projects: Blessing or Burden?

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

Page 12: Large Drupal Projects: Blessing or Burden?

Ignoring the Importance of the Administrative Interfaces

• Solution

• Annotated Wireframes for Everything Including Admin Screens

• Demos and Training

Page 13: Large Drupal Projects: Blessing or Burden?

People

Page 14: Large Drupal Projects: Blessing or Burden?

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

Page 15: Large Drupal Projects: Blessing or Burden?

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.

Page 16: Large Drupal Projects: Blessing or Burden?

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

Page 17: Large Drupal Projects: Blessing or Burden?

Bottlenecks and Knowledge Sharing

• Large systems have more potential points of friction.

• Too o!en knowledge resides with one person.

• Solutions

• Wikis (but these are only good if kept fresh)

• Obvious bottlenecks have multiple people trained on them.

Page 18: Large Drupal Projects: Blessing or Burden?

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

Page 19: Large Drupal Projects: Blessing or Burden?

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.

Page 20: Large Drupal Projects: Blessing or Burden?

Technical Concerns

Page 21: Large Drupal Projects: Blessing or Burden?

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/)

Page 22: Large Drupal Projects: Blessing or Burden?

Test, test, test.

• With many developers, huge chance of collisions

• Need to find bugs before they hit production

• Solutions

• Automated testing: PHPUnit, Behat, Saucelabs

Page 23: Large Drupal Projects: Blessing or Burden?

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

Page 24: Large Drupal Projects: Blessing or Burden?

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

Page 25: Large Drupal Projects: Blessing or Burden?

The Good Stuff

Page 26: Large Drupal Projects: Blessing or Burden?

Big Complex Problems

• Make staff happy

• Makes simpler problems that much easier

Page 27: Large Drupal Projects: Blessing or Burden?

Opportunities for Contribution

• Difficulties and complexity leads to interesting solutions

• O!en can generalize these out and contribute back

Page 28: Large Drupal Projects: Blessing or Burden?

Staff Happiness

• Long engagements make staff happy (sometimes)

• Large engagements make staff happy (sometimes)

Page 29: Large Drupal Projects: Blessing or Burden?

Increased organizational growth

• Larger teams

• Larger budgets

• Opportunities for more complex management structure which results in additional career paths for team members

Page 30: Large Drupal Projects: Blessing or Burden?

Skills development

• Large projects means increased opportunity to learn new things

Page 31: Large Drupal Projects: Blessing or Burden?

Blessing or Burden?

Page 32: Large Drupal Projects: Blessing or Burden?

Yes!

Page 33: Large Drupal Projects: Blessing or Burden?

Large Drupal Projects

• Can be fun and exciting!

• Can also be crush your organization and development team.

Page 34: Large Drupal Projects: Blessing or Burden?

Questions?

Page 35: Large Drupal Projects: Blessing or Burden?

PHASE2TECHNOLOGY.COM