One of the core parts of my role is speaking to customers about application lifecycle management. Too often, customers think that this only applies in cases where you have “coding” scenarios – i.e where developers are using an IDE (e.g. Visual Studio, Eclipse etc.) to develop an application. In scenarios where customers are rolling out a CRM or ERP system, many customers forget to look at the processes being used to implement the system. This occurs more often in smaller and medium sized businesses. This is even more important when the solution is customized – and most are. Customization here does not just mean using Visual Studio. It includes custom workflows, entities etc. 

There tends to be a lack of processes and tooling for managing the requirements, test cases, bugs, schedule etc for many of these cases. When I bring this up – I often end up with some blank looks. The reality is the success of the implementation is directly correlated to the processes being used.  Bad or ill-defined processes are going to affect your implementation. You might find it useful to ask these questions when implementing a solution.

  • How are the requirements being managed and tracked?
  • How do I know who is assigned what work?
  • Where can i see whether I am on track? When can I expect a certain capability to be delivered?
  • Where are the test cases?
  • Which tests have been run? How many have passed/failed?
  • How many bugs do we have?
  • Do we have  performance testing in place? 
  • Is there a test environment in place?
  • What is the process if I want to log a change request/defect etc?

A useful tool assisting with this process of determining your ALM maturity is the ALM Assessment Guidance

On the particular topic of Microsoft CRM I recently came across a couple of useful articles and blog posts.

Ahmed Salijee