Don’t focus on training the developers. Start from the consultants!
This post will not be technical one as others. Will not be neither about functionality. It would be rather my thoughts about cooperation between developers and consultants in new reality implementing Business Central which are Extensions 2.0 and AL language.
I am a consultant. Sometimes…
During my years implementing NAV and BC as well as consultant, developer and system architect I have seen few models how the consultants works. In my first NAV company there was no distinguish between the developers and the consultants. Second ones needed to know how to develop and vice versa, a developer should be able to go to the customer and talk about the functionality which is in the system.
Later I found out that this model is very unique. In most companies there is very clear line between the developer and the consultant. Which one is better? I leave the judgment to you. In my opinion both have a lot of advantages but also some disadvantages.
Can we do it this way? No we can’t
If your company have second model you need to take into consideration one very important thing. Development in Business Central is totally different to what we all used to. Also to something which consultants used to. In the past almost whatever they thought and agreed with customer was possible but what is now?
All changed for us, the developers, we cannot change standard code anymore. Which makes a lot of things sometime harder sometime easier but for sure in different way that we did when we modified the base application.
Do you want example? Let’s imagine our customer wants to change the Description field on the Item Card from 50 to 100 chars. Looks familiar? Of course! Is it possible in extensions 2.0? Of course… not. I already see the scene:
[C] – Hi let’s change the size of Description to 100. They really need it.
[D] – No we cannot do it this way.
[C] – How come? We did it so many times before… I already said to customer that he will get it today…
The situation is that we promised something which either is hard to fulfil (means more hours than before to finish) or even not possible to do. And, what is most important, we have not happy customer.
Can we do this? Yes… but next month
Remember also that now we depends on Microsoft more than ever – if there is no event or enum which we can use to develop the functionality we can ask Microsoft for such but… we will not get it today. So let’s check next example. Customer asked us to add new option to Blocked field in Vendor Card – Create Purchase Order. And our next scene from the office:
[C] – Hi we need new option on Blocked field on Vendor Card. How long it will take you?
[D] – Two hours
[C] – O!!! That’s great!!! They need it today so hope you have time and btw I already told them that they will get it, so start working on it!
[D] – Yes I have time… but it will be possible to do when Microsoft will change base app. I will be probably with next release… so hear you in one month.
Again we end up with something promised which we cannot fulfil on time – our customer gets more and more angry…
Solution? Idea which I want to “sell” to you is:
We thinking about training the developers and system architects because for them all change but in this whole new World we forgetting about consultants. Their way of thinking also need to be changed. And in fact much more faster than the developers’! Because they, in most cases, goes to customer, get the requirements and are on first line to tell customer – Sorry no we cannot do it this way, but we will find the way to do it for you in the way you will be happy anyway.