Having just left DrupalCon's BoF session on the proposed DrupalCRM project, I thought I would take the opportunity to reflect on the progress we made and where the project will be going from here.
A great turnout saw around 20 people show up to discuss the current state of the project and its goals. To skip directly to the conclusions, the DrupalCRM project is aiming to produce a native Drupal CRM in Drupal 7 (which can then be backported to Drupal 6) which is flexible, robust and does not suck to use.
This will certainly not come about quickly and will be the result of a bunch of hard work, potentially by a great deal of people. The main place to communicate about the CRM is on the Drupal group, although there is also the official CRM project on Drupal itself.
Here's one of the whiteboards from the Drupal CRM BoF (yes, we managed to fill two of them!) showing our list of features. This is a very rough poll of everyone at the session, and no attempt was made to split these into 'core' features (without which an alpha CRM would not be viable) and 'nice to haves' (which will come later, perhaps at beta or after launch). A future step will see these prioritised, perhaps according to some as-yet-undetermined scale of importance.
The need to research other CRMs was also highlighted at the session and this is something I believe firmly in. Re-inventing the wheel is not high on the agenda for Drupal CRM, so borrowing well-implemented ideas from other CRMs plays a key role in project planning. Personally I would like to see at least one person stepping up for the role of devil's advocate, who would be responsible, throughout development, for saying 'this isn't as good as that other CRM because they can already do this better, so we should do things more like that.'
The other whiteboard from the session, as scrawled upon by Joachim, illustrates the different 'levels', conceptually, in the CRM, from the core storage system to the interfaces on top of it. At the very bottom, profile2 looks to be a key player in the final equation, while the BoF established that interoperability and the ability to use other storage engines (or even other CRMs for storage) were of key importance.
One thing that was not discussed much was the actually manifestation of the CRM itself. I could see the CRM being downloadable as a collection of modules with a feature or a number of features that will allow the modules to be installed and configured into any site. The 'core' of the CRM should be built into as few modules as possible and should only include the things that everyone will unquestionably need in a CRM, while everything else should be implemented in separate modules.
There were certainly a lot of discussion points in the session, and there was far more to talk about than time allowed, but do join the Drupal group and continue discussing there. The next step will be to put together a specification of sorts, perhaps with a burndown list or backlog, prioritised according to importance. It's clear that collaboration on other projects will be necessary, and it might be better to help get existing modules up to speed or D7-compatible rather than working on completely new projects. The main thing now is to continue building the momentum in order to reach a critical mass where the project propels itself.