Do I have your attention now… or should I have called it “An Inconvenient Truth”
Dynamics NAV greatest strength is its amazing ability to easily be modified & customized to individual needs, but it is also the greatest weakness. Said in other words: “With Great power comes great responsibility”
You might be thinking by now: “What is this guy talking about?”
Well far too often (and I have fallen victim myself from times to times) we make changes to NAV because we can. It is easy and what the customer is asking for, but we forget to qualify if this is the right thing to do!
Henry Ford once said that, if he’d asked his customers what they wanted, they’d have asked for a faster horse.
In our Dynamics NAV world this is especially true. We as partners needs to be the leaders and figure out what the customers really need instead of what they are asking for, but currently far too few of us do that.
This all comes down to a few things: Product Management… Source Code Management… Product Life Cycle… Agile development…
Product Management is among other the ability to filter through customer demands or requirement. The ability to understand the market you are working in & the ability to ask the right questions to get to the root of the problem or requirement.
What is it the customer REALLY is looking for…? What is his fundamental need?
Sadly Product Management is far too often overlooked and many even don’t have this as a job function in their organization.
You might ask: Why?
Well the classic way in the NAV world has been to locate a customer, sign a deal and develop a solution that fit his needs. The consultant and programmer (often one and the same person) was on the front line and gave the customer what he needed. It was easy. It was quick and it generated revenue. End of story. In short it is much easier to give the customer what he thinks he needs instead of figuring it out.
I guess this story is still true in many cases, but this world is dying and if you don’t want to die with it, you need to change gear. Change the way we think about everything.
If you think you can compete with somebody that delivers one solution, but can deploy it 200 times, 500 times or a 1000 times you are sadly mistaken. They can afford to put much more into the product in the form of functionality, testing, upgrading than you will ever be able to in the “one of” individually customized installation.
Source Code Management is another area far too many try to avoid. Many have told me through the years that this is just overhead and brings no value to the product. Nothing could be further from the truth.
That ability to know WHAT you are doing (The source code changes) and WHY you are doing it is true product management. It is true Product Life Cycle management because you now develop your product in a direction with a clear goal and understanding of why and what it takes to make your vertical a success.
How to get it done?
The next question is how to get it done. Well it is all about selecting the right tools.
Team Foundation Server from Microsoft is my preferred tool, because it is doing all of this in an integrated way. Source Code is stored and linked directly to tasks. Bugs & Product Backlog Items are managed, prioritized and linked to Features.
This is also completely integrated to Visual Studio which already should be your developers preferred tool of choice for anything in the non NAV world of programming.
If you don’t want to install it you can use the cloud version that you find athttp://www.visualstudio.com/ Yes you need to pay for it if you go above a certain number of users or if you want to access all the features, but cloud services are the way of the future, so get over it.
Best in class development practices is another fundamental way we need to change the way we think. The Partner Ready Software guys have been working on this for years. There is a new initiative on the community side about Microsoft Dynamics Design Patterns, but it also comes down to your team of developers. Do we give them time to research the best ways to do development? Do we encourage code review? Do we put time aside to refactor code?
We can continue doing what we have done in the last many years and gaining another 100,000 customers worldwide over the next 25 years for NAV or we can change gears and add another 100,000 customers every year. I know what ship I want to sail on.
It is DO or DIE time folks