Drupalcamp Atlanta Presentation: Why do Drupal Projects Fail?
AttachmentSize Drupalpilotsurvey_raw_data.zip23.88 KB
As co-organizer of the Triangle Drupal group, I've met some great people who have had some terrible experiences with Drupal. At the same time, I have become increasingly frustrated by my inability to accurately predict what Drupal projects will succeed and which will fail.
For the past few months, I've been thinking about how I can try and more accurately predict what Drupal projects will be successful. Instead of only drawing from my own experiences and anecdotal evidence, I thought it would be helpful to put together a survey. I distributed the survey via Twitter and had about 25 responses. While this is by no means a scientific study, I do think that others might find the results helpful. I summarized the results yesterday when I presented at Drupalcamp Atlanta yesterday on, "Why do Drupal Projects Fail?: Evaluating Success Factors and When to Use Drupal." You can find the slides here.
For those of you who don't have time to read the slides (or watch the video which Drupalcamp Atlanta should have up soon), here are my key findings.
What are the common patterns of Drupal project success?
Early Goal Setting Avoids Scope Creep: Projects where all of the stakeholders identified and set project goals early were much more likely to report having adequate specifications, and less likely to report scope creep. I thought that this was interesting since I’ve spent a lot of time as a developer whining about specs and less time thinking about overall goals.
Advice: Since projects that devoted time to setting goals had more accurate specifications, you need to evaluate whether you have time to devote to setting goals before you start your project. Although it is tempting to jump right into specifications, it makes more sense to take a step back and evaluate how each member of your project team is defining project success.
On-Going Project Audits Make a Difference: Projects with on-going audits were more likely to be fully completed (no abandonment) and finished on schedule.
Advice: Before you begin, you need to make sure that you have identified someone unbiased on your team who can spend time checking deliverables against milestones. I suggest that this person is not someone doing the design or development work on your project. It can be very hard to keep your perspective on the milestones when you are coding all day and want to make everyone happy.
Module Performance Matters: If more than 90 percent of Drupal modules do not work as expected or meet user requirements, projects will run into schedule problems and experience scope creep.
Advice: From my perspective, this is the most critical factor. The big question you need to answer is, "Can you accurately make predictions about how modules will perform?" If you cannot, can you pay to hire someone who can. Unfortunately, learning how to accurately predict whether modules will meet user needs can take a long time to figure out.
Non-Developers Need to Understand Drupal: Projects completed on schedule without scope creep are built by developers working with technical project managers and stakeholders who “get” Drupal.
Advice: I'd suggest that you introduce everyone on your team to Drupal before starting your project. I highly recommend the Lullabot video, Understanding Drupal, for everyone on your team. It will give your whole team, in a very non-threatening way, an solid understanding of Drupal.
Beware of Big Projects: Large projects (over 1,500 pages) were more likely to go over budget and schedule.
Advice: Big Drupal projects need more attention and are going to be inherently risky. If you have a big project (1,500+ pages, lots of module complexity), you need to be willing to alter cost, scope, or budget down the road. It is best to build a lot of padding into your schedule for larger projects.
I've attached the raw data from my survey and my presentation is on Slideshare. Please let me know if you have any questions and feel free to re-use any of the questions or slides.