Showing posts with label Project Management. Show all posts
Showing posts with label Project Management. Show all posts

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.



Thursday, April 30, 2009

IT Projects - It's Easy to Get it Wrong but what do you need to do to get it Right?

Experience shows us that when delivering an IT project it is easy to get it wrong (as the diagram to the above attempts to illustrate humorously). Customer expectations are often mismatched to the documented project scope and are often not grounded in what is possible or even probable.




One of the first key things for a Project Manager to do is to educate the customer on the Project Management Triangle. This simple graphic is intended to illustrate to customers the trade offs between Cost, Scope and Time. In theory and in practice there is always a trade off between all three. If the project scope increases then both the time and cost would likely need to increase. If the time is compressed with the scope staying the same then likely you would need additional resources and therefore the cost increases. As it's simplest level then Project Management is the science of effectively making these decisions and trade offs between Time, Cost and Scope and getting the customer to the end state that they desire.


Over the last several years Project Management has evolved from an Art Form to a Science. These days most successful project managers are certified/ trained on project management. I myself am one of 300,000 Project Management Professionals certified by the Project Management Institute (PMI). But there are other methodologies that are equally well developed (e.g. Prince II).



The improvement in Project Management Methodology has shown a definite impact in the perceived success of projects. For example a PMI study showed that the % of projects perceived as successful increased from 12% in 1994 to 36% in 2004. One of the top three factors listed as contributing to this increased success was improved project management methodology with defined processes and procedures. Many of the established project management methodologies have very well developed processes and procedures. The map to the left shows the processes and procedures covered by PMI. Having a certified project manager is no guarantee of success but following a well established methology whichever one you choose can only help.

But aside from the theoretical I think there are several practical things a Project Management and/ or Project Director can do to ensure that his or her project is successful. One of my more favourite authors (Paul C. Tinnirello) which publishes for PMI came out with his own secrets of success for Projects which I have adopted as my own. What follows then is his Nine Factors of project Success...


  1. Senior Management Commitment - Make sure they are willing to do what it takes to get the project done. Clarify your limits up front
  2. Adequate Project Funding - Have you had a healthy budgeting and scoping process?
  3. Well Done Requirements & Specifications - Be clear on what it in-Scope. Scope drift is the single biggest cause of failure within projects
  4. Comprehensive Project Plan - You'd be surprised the number of large scale IT projects that people attempt to management with a one page spreadsheet. The more detail the better
  5. Commitment of Stakeholders - Make sure the business and IT want this project.
  6. Project Status Reporting - Always over communicate. Tell people when you have a problem as early as possible.
  7. Critical Risk Assessment - Understand the potential failure points in your project and plan preventative actions.
  8. Project Contingency Plans - Understand what happens if you can't make your schedule or your budget. Practice the Project Management Triangle with your client
  9. Willingness to stay the Course - Establish early a willingness to Stay the Course on the part of the business as there will be tough times.
So in conclusion if you want my advice around how to make an IT project successful then ...
  • Educate the client on the Project Management Triangle;
  • Make sure you have an experienced Project Manager that is Project Management Certified and uses a well established methodology; and
  • Consider the Nine Factors of Success when setting up a project.


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.