Hi folks,
Every time I'm talking CRM and Drupal, I find myself feeling like the conversation is veering off the tracks. This happens during technical and implementation-oriented conversations, when someone suddenly chimes in with something like "hey, does your CRM have call scripts?" Deep-in-the-weeds, feature-oriented conversations appear to be coming from outer space when we're trying to discuss flexible data models. Similarly, I'll find myself in a blue skies discussion with a potential user, and just as we're beginning to discuss what it might mean to have your content and community in one place; a technical developer will chime in with something that alienates my new best friend and makes Drupal/CRM sound messy and hard.
This is a challenge because both sides do need to interact. Stakeholders will never trust a bunch of eggheads to scurry into a coding cave someplace and emerge with something that's actually viable. And those stakeholders are right: without their input and ideas it's really easy to build something with enough ugly gaps to render it unusable. On the flipside, it's exasperating to try and focus out implementation questions when the conversation is peppered with questions like "will it have X?" and "when will do Y?"
The good news is that the CRM API initiative is finally beginning to take shape! There are multiple competing - and possibly conflicting - projects going on, we've all agreed to participate in fortnightly calls and to discuss where our ideas and goals might overlap. At our last Skype call, we began feeling the same features vs. framework tension (ha! sound familiar?). We agreed to give end users with specific goals a place to participate in the dialog by submitting user stories. The API group can use these user stories to validate some of the technical decisions. There was some discussion on putting this on a 3rd party site vs. keeping it in the community. Consensus followed the 'community' route. Then we talked about adding these to the CRM project on Drupal.org. The main issue is that we'd create a bunch of forever-uncloseable issues.
Adding user stories here on GDO feels like the best choice. It's part of the community, but it's also more freeform than issues. And interested people can subscribe and participate however they'd like. However, this group itself displays the same problem I'm describing. On the front page, we have user-centered events and requirements discussions, but we've also got a lot of technical discussions that are a bit alienating. Ultimately, there's no clear place that answers the "Where's my CRM" question, and those questions are creating distractions in the technical conversations.
So here's my proposal:
- Create a new group called simply CRM
- Add a "State of CRM" wiki post on that group, which describes the current status of development and directs people key places to get involved.
- (As we develop it) add our CRM initiative charter to the CRM-API group so that it's clear what we're doing and where things sit
- Add a "post your user story" sticky post for the CRM group to begin collecting ideas
- Migrate existing stories to the CRM group and tag them appropriately to model what we're looking for
I have created the CRM group, and if there are no strong objections then I'll publish it and add some of this directing content.
While I'm reticent to "fork" the discussions, I'm trying to capitalize on our current inertia to make sure that both of these groups are productive and have minimal distractions. I think that giving people an uncluttered place to ask for and discuss possible functionality will free them from getting bogged down by what Drupal can or can't do. Similarly, the CRM-API group can focus on more technical discussions and refer to the user-centric group for validation. Finally, the lower-volume CRM group will be a great place to announce new modules and versions.
It will be important for key developers from the CRM-API group to subscribe to both groups.

Comments
Potentially just more noise...
While I appreciate what you're saying, there are already groups for CRM API (this group has always been thought to have been poorly named and would already have a boatload of similar content), Red Hen CRM, Enterprise CRM Integration, and CiviCRM. I'm afraid another group would muddy the waters and lead to a lot of cross-posting. Besides, I've rarely seen a discussion continue to get completely snowed under by a barrage of new comments on GDO. Maybe there is a flurry of interest for a short time, but generally that dies off and is limited to a few solidly interested parties. Look at the discussions lately. While there may have been a distracting comment here or there, it's generally been a core group of people.
Perhaps it might be better to simply change the name of this group to CRM, since that's how its functioned for a long time anyway, and add blocks at the top using tags for "Technical Discussions" and "User Stories" (if this is possible), as well as the "post your user story" link that you mentioned. Maybe we could have Joachim added as a Group Organizer, since he has been, by far, the most consistently active contributor to the CRM discussion.
Regarding the location for user stories, this is probably the better place for what I think you're referring to...more along the lines of my long-winded school board example yesterday...whereas the items that I have placed on the third party site are very specific, more along the lines of "on contact profile screen, user should see contact's current wall/stream when hovering over the icon for a particular social network". This is very much focused on project management for development purposes. Maybe we're not there yet, but there will come a time, hopefully sooner rather than later, when we need to start organizing regular sprints with developers that may be very widely dispersed. Having something like this in place can make these efforts substantially more productive.
In the meantime, let's get these structural questions out of the way. I'll help any way I can...but the focus should be on ironing out the technical decisions you refer to, the roadblocks to that process, and bringing in the necessary people to help resolve these questions, so that active development of the modules can begin. There is, I believe, a lot of pent-up demand for this tool, yet it is difficult not to sense the lingering sense of resignation from some users.
If it seems like I'm trying to push things along, it's just that, like you, I don't want to see the the project lose its momentum yet again.
I've contacted the group
I've contacted the group maintainers of the CRM-API group and so far they haven't got back to me. So this is another reason to have another CRM group. Currently things like blocks and a better message saying the state of the CRM is more useful for people who are not yet involved in the discussion. So if we can't change anything about the CRM-API group because none of us are maintainers, it won't make much difference to us techies.
Now the reason why I think this seperate "user stories" thing will be helpful. Is I find it really helpful when deciding between 2 technical implementations to have some agreed user stories we are trying to solve. If one implementation doesn't solve that user story its a useful heuristic for figuring out what we should do. Me and rob have had quite a few times when it would be useful because trying to make up stories from our limited understanding of how crms are used. If we had a place where loads of them are posted, we could select the specific user stories we want to solve.
Regarding the "distracting comments" being only here and there followed by a "core group of people". Actually I think you've highlighted the main issue that the crm group might solve. We actually want to encourage those distracting comments. Every time someone says "What on earth is party?" it helps us understand what others think about it. It just would be useful if this was somewhere else.
I'm not totally sold if the CRM group will actually solve this. But I do think we definitely cannot solve it within the crm-api group.
I think I am in favour of
I think I am in favour of this although I feel like there is quite a bit of overlap and my guess is that the lines will be pretty blurry between the groups for a while. Part of my feels like post like this: http://groups.drupal.org/node/179054 have relevance to both... although maybe that should just stay in CRM-API and benefit from the hopeful list of user stories in the CRM group.
I also think it would be good to try and get people to start discussions there. Maybe pomaking could post a few of his user stories there? Usually when I talk about the "State of the CRM" I go through a list of the people involved, but I've posted that up a few times. I could re-write it if needed but here is a state of CRM based on the two projects.
<strong>State of CRM</strong>
There are 2 major competing CRM iniatives at the moment and we are in regular dialogue. None are close to release and are still figuring out the architecture.
<strong>Party Module</strong>:- This iniative has a "party" entity which is just the generic entity for "stuff" in the CRM. A Party can be an individual, organisation, family, etc. It is using the <a href="http://drupal.org/project/profile2">Profile2</a> module to store all the data. Currently partys, profile2s and users can be related using the <a href="http://drupal.org/project/relation">relation module</a>. We are currently working on building views to view this information and working on the concept of "hats". Hats are different types of individuals (Teacher, Developer, Student) that can be both placed on a party and taken off later.
Development on this project can be found here: http://drupal.org/sandbox/joachim/1260650
<strong>Contact Module</strong>:- This is an fully entity-based approach to CRM. There is a contact entity where fields can be attached to it like any other entity. A UI has been fleshed out to view contacts, add contacts and create multiple contact types. Everything in this iniative is based on revisions and so changes to data is also stored. Currently they are working on "activities" so that different methods of interacting with contacts (such as a phone call) can be recorded.
Development on this project can be found here: http://drupal.org/sandbox/citizenkane/1260982
<strong>Red Hen CRM</strong>:- Not much is known about this iniative. But they can be found here: <a href="http://drupal.org/project/redhen">http://drupal.org/project/redhen</a>
I realise that this is a slightly technical "State of CRM". I expect that as this develops over time it will get less technical. If you want something that is aimed entirely at end-users
Party Module:- Can't really do anything yet (hope to change that on friday)
Contact Module: - You can add contacts, view them and create lots of different contact types. Currently working on "activites" so that different methods of interacting with contacts (such as a phone call) can be recorded.
I'm going to try it
As I expected, your responses have been pretty lukewarm - no overwhelmingly strong opposition, anyway. The bottom line is that vernacular of CRM varies by audience. And I think that it's healthier to embrace that fact and use our current inertia to foster two conversations at once. My theory is that there should be a place where you're free to blue-sky CRM ideas without someone stopping you with technical limitations. And that you should be able to talk about flexible frameworks and party systems without getting stopped by "you should reign your conversation in so that we can deliver a product!"
Making this work will require care and feeding in both places to make sure that the dialog doesn't die off. And it will mean some cross-posting, which is fine IMO. I'll get started and see where it goes...