[Guest Post by Tommy Ball, Agile BA, ScrumMaster and CRM Specialist]
Can SCRUM be applied to CRM?
I find it difficult to work in an Agile way with the typical teams involved in a CRM deployment. However… I have developed a highly effective way of making it work.
One challenge is wasting time treating each little sequential task (e.g. in Salesforce setting up validation rules, roles, field level security) as a separate story, requiring MORE time documenting things in a tool like Pivotal Tracker, then actually performing the tasks themselves. Because there are many sequential tasks with CRM. So many that documenting as individual stories takes an excessive amount of time, thus hindering rather than helping progress. What happens is when you apply true Agile, I’m finding, is that organizations STILL get hung up in too much PROCESS and DOCUMENTATION especially with new Agile teams, which almost all Salesforce CRM teams are. And what does the Manifesto say about a little concept about less documenting, more deliverables, less process, more collaboration, don’t get hung up on tools??? Right??? It’s important to stick to the principles we all live by, but with CRM, allow for flexibility in order to keep things moving effectively.
I’ve been addressing this on-going issue of applying Agile to CRM for years now. Running a Salesforce project is drastically different from a Rails project. And both need its own approach. Alistair Cockburn and people in his realm have many Agile offshoot methodologies specific to software dev, but no one has tackled using Agile for CRM. Ironically, Salesforce themselves us Agile and have a very successful internal adoption model.
Basically, all the sequential tasks (aka theme or mega-story) that need to occur in order to establish a key piece of functionality, often a with group of sequential tasks that other parts are codependent on, it’s important that all the tasks for that major function (e.g. establishing field level security for all CRM users, which involves several tasks) be grouped together in order to complete the function or “theme” if you will.
So, in this case combining sequential tasks into mega-stories, or themes, and still assigning points and tracking velocity, but group tasks within a large process or function (theme), all together, with story points assigned to the entire theme, incorporated into a sprint (analyze, configure and setup, test, release, demo), still have daily stand-ups like usually works.
The key for me is the ability to be flexible, sticking to a 1 week sprint, mainly because Salesforce can be setup that quickly if the team approaches from a theme level, often working in parallel with other teams (aka paired teams or XT-extreme teams). However the database migration team may take a different approach although working on the sale project together.
Often times 2 teams work in parallel, one focusing on process analysis, defining business rules, workflow, building use cases, setting up 3rd party integration, and often, even developing custom Salesforce aps. The other team focuses on the data – cleansing, scrubbing, duping, field source mapping, etc.). It’s good to align each group so team 1 working on business logic, can test each function (aka theme) against the data being brought over. I call this paired teams, or XT, similar to pair programming or XP, but on a larger scale. A situation involving data migration with BAD data may lend itself a waterfall, depending on the integrity of the data you are migrating.
As long as you group stories that must follow a sequence into themes, treat as mega-stories, and finish each after every step of the sequence has been completed, then test, and release, and demo every 2 weeks, this version of Agile I’ve developed, called CRMSCRUM, is highly effective, sometimes to the point where you sometimes can move with UNLIMITED VELOCITY. It just takes the right combination of team commitment, solid well-skilled Salesforce SME’s serving multiple roles, and a flexible mind set, but not to the point where you break key Agile principles, This technique I call CRMSCRUM used to deploy systems such as Salesforce with has proven to deliver with exceptional speed, efficiency, and perfect alignment with stakeholder vision.
Thoughts on this? Let me know in the comments!