Sunday, March 17, 2013

A Better Way to Deliver CRM Projects

What you Want vs. What you get Delivered



Having delivered hundreds of Dynamics CRM projects and before that hundreds of CRM and ERP projects using software from a number of other vendors (Oracle, SAP, PeopleSoft, etc.) I've seen what works and what doesn't work.  If the definition of success is giving the customer what they want in terms of scope and being on time and in budget then an even simpler definition of the success is giving the customer what they expect.  So a lot of the successful projects I've seen resulted from the project manager putting processes and procedures in place to make sure there were no surprises and the customer largely got what they expected. 

Most project management professionals will adopt one of one of either two common methods to deliver a project in the effort to give the customer what they want.  These are the Waterfall Approach and the Agile Approach. 

The Waterfall Approach adopts the classic Design, Build, Test, Deploy scenario where the design of the solution has to be fully characterised before build starts and the build has to be fully completed before the testing starts. 

In the Agile approach the idea is to break up the project into small chunks with no formal design phase but rather a set of requirements know as the "Solution Backlog" that the development team works from.  The build is broken up into a number of individual sprint cycles where some requirements form the Solution Backlog are explored,  a component of the solution is built and then given back to the users for testing.  Subsequently more requirements are explored, more building is done, more testing is done and then the cycle is repeated.  Typically the "Sprints" are done daily.


Pro's and Con's of the Waterfall Approach to Project Management



One of the primary benefits of the Waterfall approach amongst other things is that it attempts to characterise the entire solution requirements and design in detail completely before the build is started.  In so doing the customer can be presented an estimate of the total costs and a plan in terms of how the solution would be delivered.  There is also an attempt to discover and address the interactions between the various components of the solution design and the impacts of various processes on one another.  Assuming the consultancy or internal project team has done a decent job of the design and those costs, resource plans and project plans will be relatively accurate. 

The primary disadvantage of the Waterfall Approach is that the customer is expected to be able to characterise all the requirements up front with a reasonable degree of certainty.  From practical experience it is highly probable that once they start to test and use the solution the customer will end up reprioritising those previously listed requirements (what previously was important is now less important and that which wasn't that important is now more so) and coming up with new ones as they understand better the capabilities of the tools they are using.  Scope ends up changing and the previously advertised costs and time frames also change.


Pro's and Con's of the Agile Approach to Project Management



With the Agile Approach you are constantly going back to the customer getting their inputs in terms of the design and how the solution is being built.  The customer learns more quickly how the solution would work and they are able to incorporate those learning's into how the system is built.  They then naturally end up with something which is closer to what they want. 

The primary disadvantage with the Agile approach is that the customer doesn't have a clear view up front as to the costs or time frames of the deployment.  The build of the solution can take off in a direction totally unintended when the system was initially scoped.  Also there is a high probably that there will be a lot of rework because a global solution design was not done and with an integrated complex system items changed in one area have impacts in others with unintended results which leads to higher development costs. 

Because of these inherent pro's and con's of both the Waterfall and Agile approaches it would be fair to say that Waterfall is much more common when external consultants are being used, when the solution is some form of COTS (Commercial of the Shelf Solution) that is being configured and customized and the customer insists on having a clear view of costs up front.  Agile on the other hand is more common when the project is being completed primarily by internal client resources and the solution is a more of a pure development project using one or a number of development languages. 


The Best of Both Worlds - The Hybrid Project Management Approach



So what I am about to recommend is a third option which we've used many times with a number of our customers in doings Dynamics CRM Deployments.  I call it the "Hybrid Approach".  The Hybrid Approach attempts to pull the best from both worlds both Waterfall and Agile.  From the Waterfall Approach we do adopt doing a Global Solution Design and formal User Acceptance Testing with a Structured Build Cycle.  Taking best practices from the Agile Approach we adopt several techniques to gather the clients input during the build cycle and we break the build cycle into more descrete chunks thereby ensuring their are more input signals coming from the customer to the development team.




Key Components of the Hybrid Approach



The following are the key components of the Hybrid Approach...
  1. We still have formal Design, Build, User Acceptance Testing and Deployment Phases; however
  2. We break the Design Phase down into a several rounds.  First we conduct a Diagnostic which takes a high level pass at requirements gathering and design in an effort to validate costs and scope.  We then do a more detailed round of Design as part of the project proper.  By this time we have a clearer view of what we are designing from the Diagnostic before we start the process;
  3. By conducting a Global Solution Design we attempt to reduce the amount of rebuild that occurs because of the interactions between the various modules in the system;
  4. We break the build cycle into a number of releases with Solution Testing in-between each release.  We don't let the development team go for more than 3 to 4 weeks before have a full round of solution test to validate what they are building.  In this way gaps in the design are identified earlier in the build process;
  5. We do regular Solution Pre-views with the client where weekly or bi-weekly the develop teams present back to the customers what they have been building to gather inputs and validate the correctness of the previously completed design phase;  and
  6. We adopt a Phased Approach to Delivery.  Rather than doing the project in a "Big Bang" fashion we deliver the functionality into production in smaller buckets or phases such that we can get feedback of how the system will actually operation in production.  Each Phase will have several Build Releases. 

In essence we attempt to get the benefits of both Waterfall and Agile which are ...

  • A clearer view of the costs, time frames and scope up front;
  • Less chance of re-development because of Architectural Issues because we have thought through those global design issues up front; and
  • A higher chance that the customer will get what they want because gaps in the Solution Design are identified earlier in the cycle through Solution Previews, short Release Cycles and multiple Deployment Phases. 
If you want more information about the Hybrid Approach you can contact me at dgoad@esavvy.com.au or alternatively you can send an email to info@esavvy.com.au


David Goad is the Managing Director for eSavvy – Microsoft Dynamics CRM Gold Certified Partner. eSavvy is an award winning Microsoft Dynamics CRM Partner staffed by some of the most experienced solution and technical architects in the Microsoft partner channel. We build and deliver relationship management solutions based on the Microsoft Dynamics CRM platform for large enterprises as well small and midsize businesses in Australia.



No comments:

Post a Comment

Feel free to post your thoughts on my article...