As I've been working with Drupal since last august, a recent discussion with the designer for our new sites made me wonder how the cost of time was distributed during a project like this one. What portion of the time has been spent getting up to speed on Drupal itself, on developing/maintaining Open Source modules, on creating the value-added private code, on miscellaneous tools and integration tasks, and eventually on the content itself. Here are the results:
It's reassuring in a way to see how the value-added tasks (contents and private code) start to weigh in heavily in the work load distribution after about six months exposure to Drupal. Although I still feel like I'm learning the framework day after day, hard numbers show the payoff has now started.
Some points of inflexion are interesting:
- the first module I attempted to create, in order to learn the framework, after a few days of exposure to Drupal, was the helpdesk module, and it's still rather far from completion. Seeing how it was structured at the time vs how later code has been, I very much doubt its seeing the light of day based on the current code. As I still need the functionality, it seems the module will be restarted from scratch.
- the second module (Taxonews), although much simpler, was created almost off-hand, in a few hours and in production a few days later. It proved to be the first really efficient use of the framework I'd created
- later modules, be they Open source like the G2 Glossary and Zeitgeist, or private unpublished modules for internal use, likewise were functional very fast, and gained functionality afterwards, instead of being designed top-down under a traditional waterfall model like helpdesk had been
I expect to see the distribution of work tend to these proportions:
- drupal itself: understanding core and non-"own" contributions, patching bugs, creating translations, doing support on IRC: 5%
- open source "own" modules: creating, maintaining and evolving them: 15%
- private drupal-based value-added code strictly for internal use: 5%
- EAI and tools: code to integrate with the back office code base, project management, tools integration, backups, reports: 10%
- contents: writing, designing: 65%
- note that I don't consider time spent on theme design, as this is done by someone else
I've cast my predictions. Now time will tell...