It’s a very busy period, and I think this is a common situation for all Dynamics people: generally, with a new year, companies “go live” and new projects start. A new year starts.
In my last post – unfortunately a lot of days ago – I promised more technical things, but in this moment I’ve only few minutes to write just some thoughts: I hope to bounce back very soon. But today it’s friday! 🙂
Even if I’m not a big social networker, I’ve been hit by this #10YearsChallenge viewing a lot of post with this hash-tag. If I go back ten years ago, and think to myself, a smile comes in my face: I was very young. With more hair. And I was thinner. I track years by weight: it was a lot of kilos ago. 🙂
And if we think about NAV?
In 2008 was released the first RTC version, NAV 2009: a big change. So, in 2009, RTC was a baby, just born, with a lot of problems and missing things: I remember, for example, that filters were missing in sub-pages. But it was an innovation. A challenge. In 2009 NAV was a good product, with the “classic” interface, and with some things that are not existing anymore, for example:
Client: in NAV 2009 we had both Classic and RTC client;
Database: in NAV 2009 we had both native and SQL database;
Marked-only in user interface: I loved it;
UI was “card-based”, now is “list-focused”.
After ten years, we can say that the world has a better product, or we should say service? We can now enjoy a lot of big improvements added in this decade; few examples:
Sharepoint Client / Integration;
Web Client: this is for me the key for everything.
Thanks to Web Client we can now have Business Central: the cloud revolution. And we can also have features like app and multi-devices access, integration with Power Platform, extensions or APIs: things to make us change the world!
But the real question is: what’s the challenge for the next 10 years?
Almost 2 weeks to Christmas and very busy period, not only for job reasons. I’d like to be ready to share some technical trick or some solution using extensions, but I’m working on a lot of stuff and nothing is completed yet. Anyway, because I have a lot of “things” in my mind, I’ll write something “light”.
OK. I won’t talk about specific NAV / BC bugs or features. So the title can be deviant. But… How many time did you read or listen the answer “This is not a bug. It’s by design!”?. I think not so few times.
I like standard. I like to use the product “as is” as much as possible. Even if I come from development experiences, I realized that the more you don’t “touch”, the more you can easily maintain the environment. Very simple? Not at all. You know better than me, customers want a lot of things, partners produces a lot of solutions adding features, but overall it’s very difficult to find repeatable situations. I know, this is the new “mantra”: repeatability. Is it so easy? Sorry Microsoft, I don’t think so. At least in my Country. I can bet: every customer I meet, says: “We have standard processes. We do as every company do. We think it will be easy to use the standard functions”. And every time, it doesn’t happen. Till now.
In this moment – yes, while we, partners, are moving our IP from NAV to BC – I can meet a “new generation” of customers that is ready to adapt themselves to standard. I’m not completely sure about it, but it’s a good perspective. But.. Are we ready? And… Is this product ready? I don’t really know.
If we think about Business Central, we can consider it as a big container full of a lot of ready features, but not “completely complete”. But I love what it has. As standard. And I like to use it.
Do you really need customizations?
Every time I have to think about a solution, I ask to myself: is a customization really necessary? I don’t know if you remember the “C/SIDE (Solution) Development” Course for the relative exam. I took it twice (on 2009 and 2013 versions) and I’d really like to take it again – Microsoft, please, new certifications are needed! – and even if the exercise was almost the same, it made me think. The course suggested to use standard features for a completely different context (in short: using Resources to manage Courses), but the solution fitted perfectly! Why you have to develop new functions when the system already provides them? This is the point. Very often deploying a solution means modifying the code base in a real deep way, changing structures, create new modules without a complete integration with other ones and other things that are not so good.
In this moment, fortunately, if we want to think about the future, we are obliged to develop using Extensions. This is a very good thing. If you really think about it, you can easily realize that with Extensions you maintain the core, you only add features, in a way that let ensure the system life.
On the other side, you’re completely put yourself in the product’s hands, because you believe that every single process and features work properly. Is it right? Well… Mmm… We love NAV/BC… But… Do we trust in it? I trust in standard code more than in customized code. Even if I find bugs. Or “by design features” (and I’m not talking about the “XXX ByDesign” competitor product!).
Know the limitations
If you know the product, you know its qualities but you should (or must?) know the limitations too. This can help you to prevent problems with customers and to know how to manage critical situations.
Last week I’ve really appreciated this post by Roberto Stefanetti about “Undo subcontracting receipts”. This is a perfect example (with a very good solution!) of a critical situation: if you cannot undo a receipt (and, moreover, as in this case, the page shows you the button menu with the function “Undo receipt”), I bet the customer will say “It’s a bug. Fix it!”. For free, obviously. If you open a support request to Microsoft, they will say: “It’s by design. We didn’t implement that function and we don’t know if we’ll develop it in future”. In this case, you have 3 solutions:
Create a function that implements what you need: this is a permanent fix and let the user free to use it when needed… follow Roberto!
Update data (a very easy operation on a cloud solution…) to fix the problem every time it happens: this means the every time customer needs it, you’ll be called!
But how to prevent bugs? For customizations, it’s very simple: avoid them! Of course, if you can. If you can’t, develop strong solutions, external and connected if possibile, not inside the existing structure: think in a “modular” way.
And for product’s bugs? The best way is to prevent them for all our colleagues, so: open a ticket every single time you find a bug! I must say this thing because it’s not so obvious: often happens to find a bug, to know how to fix it, and choice to fix it only there, without sharing. Bad choice! The only way to make NAV and, moreover, Business Central On Cloud loved by users, is to make their standard code base stronger, day by day. Do you want a good product? Make it stable, make it fixed: so, communicate bad behaviors.
Recently we had to open many tickets for different reasons: most of the were easy to fix, but we always decide to share the problem with Microsoft in order to make it fixed for next versions. Although I have been opening support requests for 13 years, a thing I didn’t know was that, if I open a case on a version – and it’s a bug – it will be fixed only starting from that version. So, if you find a bug, please:
find the time to open a support request;
try to reproduce the problem in the oldest supported version (or the oldest one that provides that specific feature);
fix the problem with the solution provided by Microsoft (it could be different from the your one);
keep updated your NAB/BC as much as you can;
enjoy the fact that the new versions will be already fixed thanks of other solved requests! 🙂
Some weeks ago we discovered a “by design bug” on Business Central. The “Lot Information” feature, starting from Item Ledger Entries (“Lot No.” field), was working in RTC Client but not working on Web Client, this because the “OnLookUp” trigger is not completely supported in Web Client: so, this feature was working properly On Premises but not On Cloud. Once opened the request, my friend – and super hero ironman – Duilio Tacconi told us how to simply fix it in our environment: move the code and use the “OnDrillDown” trigger (as officially explained here). Very simple. But the most important thing is that Microsoft decided to do the same.
Today is November 30. And this is my first blog post of my life. One month ago I was attending Directions EMEA 2018. One week ago it was the last day of NavTechDays 2018. Great events. A lot of news. A lot of stuff to understand. A lot of people.
Attending this kind of events gives me energy but even lets me think: are we ready? I don’t really know, I hope so. But if we’re not ready, we’ll be! The only thing I’m sure about, in this moment, is that during my return flight from Belgium, I had my mind full of things and questions… And a voice: “Try to do something more..”.
Some friends are asking me to start a blog since some years, other people to share my experiences, but last Sunday this post from Mark’s blog hit me. I was totally agree and this sentence triggered me: “I encourage everyone to do the same. Start sharing code and start blogging. We desperately need blogs with real content…”. I don’t know if I will able to share good code or real content, I hope so – we’ll see – but I realized how we all need this kind of things.
I know, Mark is a “big one”, very expert, and there are already many skilled bloggers, but anyone can help in a different way.
Honestly I’m not sure about my contents, maybe someone will appreciate and someone else won’t: I only hope it will be a contribute for someone, like meeting new people, with different mindset, is a contribute for me. I’ve attended few conferences, but every time I met new people that gave me something.
It was my third time at TechDays, but this year has been different. Maybe because things are changing, or because a new “world” is starting and we’ll have to fit the gap. I don’t know. But I know this is a real “breakthrough”, at least for me. If I think about my almost 13 years of experience in NAV, I never had this kind of sensations before. And I think I’m not the only one.
Just think about the attendees. More than 1400! My first time, only 2 years ago, we were in 1000. And if I think about Italians, in the past never more than 5 or 6 persons.. This year 19! Unbelievable! And I think the reason is the same: everything is changing. But we’re the same. And we have a lot of common things.
If I think about all the people I know in NAV (or Navision, or Business Central, call it as you want) world, I believe the most of us – at least who attends this kind of conference – has the same P&P. Passion & Problems. And only if we share our passion and our problems – yes, we all do have the same ones, talking about job! – we can help each others. We are very lucky: we do a job that we love – even if often is hard and stressing – but we are not alone. We have thousand of colleagues! I think that, even tough we work in different companies or countries, we are all colleagues, and our skills can make the difference.
Who we are?
I’m realizing this thing late. I should have shared more and before. But a new era is starting now. As Erik & David said in their session, Navision professionals are supposed to be almost 150.000 in the world, but we expect a growth to 300.000 in some years! Don’t you think that a company with 300.000 employees can be very powerful?
As some people told me, and I asked to some friends, other products – even in the Dynamics platform – don’t have this huge and active community like we do. And this isn’t a small thing. Even if sometimes companies managers do some dirty things or are always fighting against other partners, I think we all should trust in our “colleagues”, because we are all on the same ship (like we say in Italy). And and we all have the same targets and love our product.
I’m came back from Antwerp just few days ago and I’m already looking forward to next time: and, believe me, even the walking dinner can be very interesting in order to meet, share, do networking and other stimulating things. And of course, beer! In this moment I’m drinking a Belgian one and maybe now I’m drunk – I should ask Alexander to test my alcohol level – but – seriously – never like these days I felt this kind of gratefulness of being a part of this community.
Forgive me Mark – if you’ll read this post – if this time I’m not sharing a good piece of code or an example to solve some problem – I’ll try to do it in future – but in this moment I believe that, step by step, this great community can give more energy and help than in the past. This can be very powerful. This can make the difference.
OT: I’ve started writing this post during breaks today. Now I’m completing it after being at cinema to see “Bohemian Rhapsody”: it’s worth the ticket!