A week ago, the Microsoft Dynamics NAV team celebrated the launch of version 2009, a product that involved over three years of work. We had a party on the MDCC campus (which subsequently ended up in an Irish bar somewhere in Copenhagen) and spent some time talking about our accomplishments. The energy in the room was infectious. We signed the ship poster, a tradition at Microsoft, previewed the Microsoft Dynamics NAV demo for Kirill’s keynote at Convergence EMEA, and announced that we’d take a team day off – these all helped people savor the moment. Though we hit many bumps along the way during those three years, we finished with what it is nothing short of a landmark release. So, if you’re an NAV fan and it’s Friday night for you, toast to this release, because it’s an event to remember!
In this blog post, I’d like to tell the story of Microsoft Dynamics NAV 2009. Instead of resorting to sanitized marketing sound bites, this will be a more personal account. It’s my own particular point of view exploring this product and how it relates to our customers and partners.
There are a number of things that I simply love about this release, but I have to start with the UX (or user design). When I installed NAV 2009 when I first joined the team back in February, I knew the user experience was special. Then, in my last blog post, I admitted that I had a crush on it. Now, I must say that it’s brilliant. To understand why, I have to make a brief detour.
At the heart of a good business solution is the resulting productivity of its users. How much time does the system save? How much higher is the quality of their work? Because we are engineers, we at MBS needed a business productivity framework to understand how to improve it with our products. Together with a research firm, we concluded that end user productivity had to take into consideration familiarity, ease-of-use, business insight, collaboration, and flexibility in addition to transactional efficiency (what we typically think about when we think about productivity). As I started to learn more and more about the Dynamics NAV 2009’s user experience, I realized just how well it captured all these characteristics. It is familiar – Role Centers make users feel at home with the data and work they see upon entering the product; it is easy to use – Activities and the Action Pane make it very apparent how things are done and what needs to be done; it provides insight through integrated reports and data that are showcased in the context of actions to be taken; it makes collaboration easy through notifications and by working well with Office; it is flexible – personalizations permeate the experience and are very simple to make; and, finally, it is efficient – keyboard shortcuts and data positioned well with actions make performing tasks fast.
But this isn’t brilliant. This isn’t a work of art. This is just good engineering. What makes the user experience brilliant is that users fall in love with it. I recall an email thread I had with Jakob Nielsen, our Director of UX, sometime this past summer. In a larger forum, he was talking about getting our customers to have an emotional connection to our user experiences. I thought, “What’s he talking about?” I joked, “What’s he smoking?” But over time, it sunk in. And then last week, I saw a video from a customer that had just recently gone live with Microsoft Dynamics NAV 2009 as a part of our early technical adoption program (TAP). In the footage, a warehouse manager showed off his Role Center and asked the Director of Operations for the company, “Can I keep it?” Here was a person who was emotionally attached.
People who love the tools they work with end up loving their work more. People who love their work more end up being more successful. They make fewer mistakes, they treat each other better, and they get to work on time. If we build a Microsoft Dynamics NAV user experience that users love, it’s a win-win-win situation. The customer wins. The customer’s employee wins. And we at Microsoft win. That’s why this user experience is brilliant.
Of course, Microsoft Dynamics NAV 2009 has a lot more to it under the hoods. If you’re an engineer, you can sense when a software product is getting “brittle.” Just like a bridge that has had too much stress over time and suffers metal fatigue, so too does software age if it isn’t refactored over time. Entropy creeps in as code is added that doesn’t adhere to the original design principles or doesn’t meet the original quality bar (assuming this existed). For 2009 we’ve made a conscious effort to modernize the core architecture. For instance, in addition to giving the user experience a new look and feel, we’ve also built it from scratch on .NET. It has a modern, modular architecture that will help us introduce new innovations in the future quickly and without compromising quality, innovations such as a new “channel” like Sharepoint or new visualization controls that are based on the dynamic capabilities of Silverlight or WPF. We’ve also made the architecture 3-tier from a 2-tier fat client. In addition to improving security, such as running the business logic from one, trusted place, this change gives partners the ability to do application-to-application integration much more easily with web services. With a click of a button in C/SIDE, a new web service is exposed for consumption.
On the server tier, we’ve taken advantage of .NET once again. C/AL business logic written in C/SIDE now compiles down to MSIL via a C# transformation. Consequently, we leverage the innovations that the .NET runtime team has worked on for the past eight years. This frees our team up to focus on problems more closely related to ERP. As I’ve already mentioned for the client and the server, we’ve taken advantage of Microsoft’s world class platform stack, particularly with .NET. But we’ve also done this with SQL reporting services, which are now our tool of choice for charts and table reports that can be viewed in context in the user experience. In summary, these architectural investments have a tremendous impact on this release and future releases. Good, modern architecture gets the best technology in your hands over time and maintains high quality.
It’s true that this release has largely been about technology. That was intentional. We made a commitment to modernize the product, and from our perspective, we’re probably two-thirds done. We’ve finished the hard parts and the ones that impact partners and customers the most: the user experience, reporting, and the tiered architecture. We recognize that a fine balance must be made between innovation on the one hand and maintaining partners’ and customers’ investments on the other hand. There is no perfect formula here. Sometimes there are innovations that break changes that our customers and partners have made. In these cases, you have a couple of strategies to minimize the pain – you make the innovations “opt-in” and you create tools and provide support for completing the transformation. In Microsoft Dynamics NAV 2009, we’ve done both.
We allow our customers to run the “Classic” client and the RoleTailored client concurrently. This gives customers flexibility to move their users to the RTC over time. In addition, we’ve made sure that “Classic” reports, the most common customization that customers create, run in the RoleTailored client, so they do not have to be converted to SQL RS reports if the customer doesn’t care to take advantage of RS’s capabilities. As I mentioned before, the business logic in Microsoft Dynamics NAV 2009 is converted from C/AL to MSIL via C#. Though the runtime has changed, the actual code itself has not. This means that business logic changed or added by partners and customers is protected and migrates to the new version as-is. Finally, for partners, we’ve maintained the C/SIDE development environment, extended it with a page designer, and provided tools for converting “Classic” forms and reports to pages and RS reports, respectively.
Perhaps the thing I’m most proud about in this release is that we’ve substantially improved its quality. We’re upping the bar considerably in a number of ways. The clearest indication is with the TAP and the Beta Access Program (BAP). As a result of these programs, we have 9 customers already running Microsoft Dynamics NAV 2009 in production, and over 80 different partners, including ISVs and implementers, trained and familiar with the new version. My favorite statistics are these – we have over 1 year of server uptime without a crash reported and over 135 user-months on the RoleTailored user experience. These should give you an indication of the stability and the attention to quality that we’ve paid on the release. There are a number of other quality initiatives and investments that we’ve made, including improving our stress test environment, improving our code coverage and automation, and testing on 100 configurations of the operating system, database, and other system elements. We think you’re getting the highest quality NAV product yet.
As you can see, for me the story of Microsoft Dynamics NAV 2009 is one of tremendous success. The value proposition of end user productivity is core to our vision and very compelling to our customers. The investments in modernization of the architecture set the stage for innovation and product improvements in the future. The attention to partner and customer investments has made this release the best in terms of readiness. And the quality achievements have set the bar higher than they’ve ever been. While this is not a perfect release – it will require partners to learn new concepts like RoleTailored computing and new tools like the Reporting Services designer, it is one that I believe takes Microsoft Dynamics NAV, our partners, and our customers into a new, modern era of ERP! I hope that you’re checking it out!