Large Drupal Projects: Blessing or Burden?
-
Upload
phase2 -
Category
Technology
-
view
980 -
download
1
description
Transcript of Large Drupal Projects: Blessing or Burden?
Large Drupal Projects:Blessing or Burden?
Twin Cities Drupal CampJuly 19, 2013
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.)
Planning
Poorly Understood Requirements
• Solution
• Discovery
• Clear Project Methodology
Underestimating Real Effort
• Solution
• Discovery
• Clear Project Methodology
• Risk Assessment and Mitigation Plans
Data Mapping and Migration Issues
• Solution
• Discovery
• Migration Documentation
Unaccounted for Onboarding Time
• Solution
• Discovery
• Clear Project Methodology
Client Relationships
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
Ignoring the Importance of the Administrative Interfaces
• Solution
• Annotated Wireframes for Everything Including Admin Screens
• Demos and Training
People
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
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.
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
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.
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
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.
Technical Concerns
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/)
Test, test, test.
• With many developers, huge chance of collisions
• Need to find bugs before they hit production
• Solutions
• Automated testing: PHPUnit, Behat, Saucelabs
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
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
The Good Stuff
Big Complex Problems
• Make staff happy
• Makes simpler problems that much easier
Opportunities for Contribution
• Difficulties and complexity leads to interesting solutions
• O!en can generalize these out and contribute back
Staff Happiness
• Long engagements make staff happy (sometimes)
• Large engagements make staff happy (sometimes)
Increased organizational growth
• Larger teams
• Larger budgets
• Opportunities for more complex management structure which results in additional career paths for team members
Skills development
• Large projects means increased opportunity to learn new things
Blessing or Burden?
Yes!
Large Drupal Projects
• Can be fun and exciting!
• Can also be crush your organization and development team.
Questions?
PHASE2TECHNOLOGY.COM