Why Resco acquiring CWR’s mobile CRM is important

Price Is What You Pay, Value Is What You Get

Warren Buffett

 

One large purchase for Resco, one big leap for Microsoft Dynamics Mobile space.

Interesting press release from Resco announcing they had taken over CWR’s mobile line of business which includes

  • Technology
  • Customers
  • Partners

You can read the whole press release – Resco acquires CWR mobile CRM activities

Who are Resco?

Resco are one of the leaders in mobile software and it’s product Resco Mobile CRM is a mobile solution for IOS, Android and Windows.  They have been in business for 16 years have 1200+ corporate customers and 50000 licences users.

If you unfamilar with Resco and it’s mobile application this video will give you an introduction

Resco offer a free trial to try their mobile app here

If you want to learn more about Resco, they have an interesting about page 

Who are CWR Mobile?

The CWR Mobile about I have learnt CWR Mobile have been in the mobile business for 10 and in CWR was named Microsoft’s Partner of the Year for Mobility Business-to-Business Applications in 2011.

CWR Mobile’s product is called CWR Mobile CRM, you can read the functionality of the product here.  Watch the video below

Why did Resco buy CWR Mobile CRM assets?

The first thing we should clarify what has happened

It takes ownership of the entire CWR mobile CRM portfolio including its technology, customers, partner activities and responsibilities

Resco have purchased the technology, customers and partner activities, which includes around 11000 users.

Resco and CWR Mobile are the two biggest ISV’s, so instead of of Resco competing against CWR mobile it can now focus on improving the product and competing against Microsoft mobile application which is now it’s main competitor.  There is a great quote in the press release

“CWR has been in a healthy competition with Resco for several years, where both solutions had their specific pros and cons. From now on, customers, resellers, and integrators can buy one unified solution via one software company: RESCO,” says Cyril Vonken, CEO of CWR Mobility.

 

Now Resco has two different solutions to offer to customers and can share resources and possibly some development in the future.

Msdynamicsworld has written an insightful article on the topic

Resco to Acquire CWR Mobility’s Assets, Consolidating Microsoft Dynamics CRM Mobility Space

At the bottom of the article it has a good quote from Resco COO Ivan Stano

“Our ambitions go beyond the Microsoft Dynamics CRM world now,” he says. “Based on our unprecedented position in Dynamics, we are actively approaching the remaining top three CRM providers (Oracle, Salesforce, SAP). We see Resco as a complete mobile strategy for businesses no matter what their back-end systems are. This is our top priority after the take-over.”

 

It raises an important question, with fewer competitors will Resco spend more time focusing on creating mobile applications for other CRM systems?

Why it’s important

My first experience of mobile applications integrating with CRM was using FieldOne where the mobile application plays an important part in the overall solution.

I saw how effective a mobile application can be for service management but it’s likely mobile devices will be incorporated in more projects going forward.  Location was a problem in projects, functionality available in mobile devices means this is an opportunity to capture or consume data with  location data.

The FieldOne application allow service engineers to update jobs and schedulers in the office could react to these updates in real time, reroute other engineers and use the live information.

You can read my initial thoughts on FieldOne in the article below.

FieldOne – Mobile app thoughts, problems and solutions

Mobile applications will play a bigger part in CRM solutions, more customers will want mobile devices to consume and update data in Microsoft Dynamics CRM.  Mobile applications will improve and industries who have mobile workers will

It’s important for a Resco to push Microsoft to improve their own mobile application. It makes for an interesting relationship between Resco and Microsoft,  Resco is a gold partner and have worked with Microsoft for many years.

Resco offers some great functionality in it’s mobile application which

  • signing for items
  • updating CRM
  • uploading pictures
  • work offline
  • consuming data

Resco were mentioned by Leon Tribe article as a company to make Microsoft Dynamics even more awesome!

Four Acquisitions To Make Dynamics CRM Awesome

Will the purchase of CWR Mobile CRM make Resco more or less appealing for Microsoft to purchase?  It will certainly make them more expensive.

 

Advertisement

KPMG Crimsonwing is the number 1 Microsoft Dynamics Employer

You have brains in your head.
You have feet in your shoes.
You can steer yourself in any direction you choose.
You’re on your own.
And you know what you know.
You are the guy who’ll decide where to go.
~Dr. Seuss

I read this article today The Top Microsoft Dynamics Employers and I was pleased to see KPMG Crimsonwing being rated as the number 1 Microsoft Dynamics employer rated by recruitment agency Conspicuous.

Reflecting

I attended training on Core consultancy skills lead by one of my colleagues.  I learnt some valuable consultancy skills and I now have some great tools to use.  Part of the training involved giving a 2 minute presentation on any topic, we then got feedback from the instructor and the rest of the group.  It was a useful session because when watching other people present I was focusing on the content of the presentation but the delivery.

  • Stand naturally
  • Don’t put your hands in your pockets
  • Don’t fidget
  • Talk clearly
  • Use your hands
  • The pacing of a talk is important

I had been reading the book Mastery by Robert Greene and got me thinking about careers and pushing yourself.  On the train back from Canary Wharf I wrote up my presentation into the blog post

Why do people stay in boring jobs

I enjoyed CRM development but I wanted to challenge myself, learn new skills and get more experience in designing CRM solutions.

Joining KPMG Crimsonwing

I joined KPMG Crimsonwing in November and it has been a whirlwind few months and I have been challenged and pushed harder than any of my earlier roles.

In my 3 months I have attended these training courses

  • Attending Azure Architect Training course
  • FieldOne Training
  • Core Consultancy Training

The training courses were excellent but to attend the training courses I did self learning prerequisites, which helped introduce me to the topics.

After the training I have been able to use the skills learnt during training which has helped reinforce the topics covered.

Colleagues

Colleagues are a great source of information, opinions, best practices and advice.  Watching how your colleagues approach tasks can help you assess your approach and the strengths and weaknesses of different approaches.

CRM 2016 Online

A lot of CRM resellers have an attitude of CRM On-premise first and CRM online second.  in recent projects the solution has embraced Microsoft strategy of Mobile First, Cloud First

Microsoft’s Mobile First, Cloud First Strategy, Explained

I have been using CRM Online and Azure knowledge to help design cloud solutions.  I wrote this article last year

CRM online solution need different solutions which need to use Microsoft Azure services, it’s great to be involved in these solutions because the cloud and Azure is the way Microsoft Dynamics solutions will be delivered in increasing number.

FieldOne and Mobile

I have been working with FieldOne and it’s been interesting working on a service solution in CRM.  Seeing a mobile application integrate with CRM to offer a great solution is the first time I have seen a mobile application with CRM.  I have written about it in the blog post below

FieldOne – Mobile app thoughts, problems and solutions

Convergence 2015 and 2015 Microsoft Dynamics Inner Circle

It was great seeing the excitement and buzz in the office about Convergence 2015.  KPMG were a platinum sponsor and created a great stand and content.  What would make it even better is if I can attend next time

Being a member of the Microsoft Dynamics Inner circle means KMPG Crimsonwing have a good relationship Microsoft.

Be Better

To become a good CRM professional, it helps working with skilled colleagues to learn from and a leading Microsoft Dynamics CRM company.

KPMG Crimsonwing are working on big exciting CRM projects, using the latest versions of CRM.

If you are good but want to get better, try joining KPMG Crimsonwing to take your career to the next level

Excellence is not a skill. It is an attitude. ~Ralph Marston

 

The post is the opinions of the Hosk and not the opinions of my employer.

Why isn’t code reused in Microsoft Dynamic CRM projects?

Microsoft Dynamic CRM code and customizations are rarely reused between projects and few companies create solutions to share between projects. This means CRM companies need to rewrite the same code again for each project but is there an alternative method.

CRM projects focus on delivering solutions but don’t to reuse solution and code.  In many companies CRM developers can create different versions of the same solution.

When developers work on projects they are focused on delivering a solution to meet the customers requirements.  If time the developer will

  • Improve code design
  • Refactor code
  • Reduce technical debt
  • Unit test code
  • Update documentation

The tasks mentioned focus on long term benefits and the reason they are often omitted.  Improving code design and refactoring make code easy to understand, extend, debug and maintain, these steps are unnecessary but make a huge different in maintaining the code.

The difference between good and average CRM developers can’t be seen in functionality delivered to the customer because they will be the same.

This posts

Why your CRM code and customizations should be simple

The problems with complex code and complex CRM Customizations

It’s difficult to simply code, refactor and improve the design, a reason average developers omit those steps.  Explained beautifull by Martin Fowler

“Any fool can write code that a computer can understand. Good programmers write code that humans can understand.

Martin Fowler

Simple code reduces time spent debugging, maintaining, understanding and interacting with the code e.g. further phases of development.  This explains why failures in CRM projects often occur after the first release of a CRM solution when the CRM developers struggle with a messy solution.

Other signs you CRM project is doomed can be found in this article 13 signs your CRM project is doomed

I have worked on a project where a plugin had a method which was over 1000 lines long.  This method became a bottleneck in the project because developers struggled to understand what it did or how it worked.  Small changes took hours whilst developers tried to understand the code, work out where to put their fix and testing the fix hadn’t broken existing code was impossible because the code was to complex to unit test.

Custom code

Most CRM projects will have custom entities which exist only in the individual project to either make the customers business processes or needed to deliver the required functionality.

Writing bespoke projects often preclude the project code and customizations being reused because the customers requirements are not needed in other projects.

CRM developers who don’t use solid principles to reduce coupling in their code are unlikely to be able to reuse code.

Code cannot always be be reused because of unique requirements, most of the time CRM developers don’t think about reusing the code or writing it to enable reuse.

New project, new code

Before software can be reusable it first has to be usable.”
– Ralph Johnson (computer scientist)

Reusing code is a great, you can add code which has already been written and tested.  It takes more effort to write reusable code, to write code in a generic way ensuring there are no dependencies on the current project.

Developers are not rewarded for code reuse or encouraged to write reusable code and customization’s by their employers.  Without motivation or reward why would developers go to the extra effort of writing code which benefits developers/company in the long term?

To write of reusable code you need skilled developers, sometimes called craftsman.  Highly skilled developers, take pride in their work and consider long-term implications of their code and who look to reuse code.

Most CRM projects are run with short-term goals in mind, answer these questions about Microsoft Dynamics CRM projects you have worked on?

  • How often do CRM developers reuse code from earlier projects?
  • Do CRM developers know what earlier projects did to understand if any of the code or customizations could be reused?
  • How many projects is the code good enough to be reused?
  • Does anyone look at previous projects to see if they could create a generic reusable project?

Companies don’t reuse code or catalog CRM projects.  CRM professions and CRM developers move companies often, most existing and new developers didn’t work on earlier projects and are ignorant of them.

Interaction with historic projects usually occurs when a bug is raised or through a change request.  If you are unluckily enough to be dragged into an old project, they are legacy projects with code and customizations arranged in a baffling structure taking days to decipher even the simplest of bugs.

Is there another way?

Wouldn’t it be great if new CRM projects were created by plugging together small separate solutions.  It would be quicker to create solutions like this and the code would have already been tested.

CRM developers could look at old projects for common functionality that could be reused in different projects.

Identifying functionality which could converted into a generic reusable solutionIf the solution was useful it could be sold but at a least it could speed up development on new projects needing that functionality.

This would involve taking a long term view of CRM development and ensuring their CRM developers are writing quality code and customizations.

Why doesn’t code get reused

Code reuse has many advantages but I haven’t seen any examples of code reuse in the projects I have worked on. I have listed some potential reasons for this below

Developers

A lot of developers don’t love writing code and to them it’s just a job, this shows in the quality of their code.  They are not passionate about it and certainly wouldn’t classify themselves as craftsman.  I don’t enjoy decorating, I take shortcuts and aim to paint a room as fast as possible.  The lack of enthusiasm and passion for decorating the room, shows in the finished product, I spot bits I missed and drip marks.

The same result can happens with the code of people who don’t enjoy developing,

To write simple code you will have need to want to improve, the best way is to have a mentor but you can get a paper/electronic mentor by reading classic books on programming or have a mentor to teach you.  I recommend

CRM companies have s high churn rate, offering small payment increases to staff based on their current salary.  LinkedIn pressures this model with recruitment agencies offering CRM professionals the current market rate for their skills and experience, more than the current salary plus inflation.

The regular movement of CRM developers leads to a lack of long term thinking and planning.  Why write code with long term benefit if you are not going to be there to gain from it.

Development standards and way of working need a consistent workforce to implement and developers adhere to them.

Project view

CRM solution providers organise effort at a project level, gearing everything around projects.   The approach is understandable because customers pay for projects and effort is focused on money.

Creating reusable code and solutions is an activity which needs to be done around or outside of delivering a project.  It may involve going back and identifying reusable/generic solutions or taking a little bit longer to write reusable code.

Maturity of Microsoft Dynamics CRM

I’m not sure about this but I wonder if creating reusable code/solutions is something which will occur with maturity of companies and developers.

Will companies get tired of recreating everything on each project?

Versions

Microsoft Dynamics CRM currently has a major release every year, this adds a significant challenge to creating reusable solutions and code.

A solution created today could become standard functionality in the next release of Microsoft Dynamics CRM or your solution might not work, with a need to upgrade the solution to be compatible with the new versions of Microsoft Dynamics CRM.

Microsoft Dynamics CRM online is increasing in popularity, CRM online projects use a different architecture than CRM on premise.  This provides a barrier to reusable CRM on premise solutions because those solutions won’t work with the limitations of CRM online.

The long term view I have is CRM providers will create micro services in azure which will integrate with CRM online services, this architecture allows one service to be used on many CRM Online projects.  This architecture model is being used by FieldOne and their autorouting service, which is hosted in Azure.

Size of CRM companies

Small CRM solution providers whose model doesn’t afford to spend time on non project work.  Bigger companies should have an advantage over smaller companies by creating resusable code and solutions but I’m not sure many larger CRM companies do this at the moment.

Summary

It’s easy to point out the problem of lack of code reuse, it’s harder to pinpoint the steps to overcome this.

The CRM project mentality creates project focused code, not reusable or often known about by other developers in a company.