DynamicsCon Preview: ALGuidelines project revives community design standards for Dynamics 365 Business Central

March 3 2022

MSDW is a media sponsor of the DynamicsCon 2022 virtual event, which takes place live online from March 15 to 17.

The effort to establish coding standards in the Microsoft Dynamics 365 Business Central developer community dates back more than a decade. In 2013, the effort gained momentum when members of Microsoft's R&D team collaborated with experts from the NAV community to establish a design patterns library that reflected both the wisdom of both the veteran programmers who worked for NAV clients and the blessing of Microsoft.

As NAV gave way to Business Central and the ERP solution's architecture and customization model changed, those older design patterns lost much of their usefulness. But the spirit of the project has lived on and it is gaining new momentum under the banner of ALGuidelines.Dev. A reference to the new AL language used for development with Business Central, the site was spearheaded by Eric Wauters (a.k.a., Waldo), Jeremy Vyska, Arend-Jan Kauffmann, and Henrik Helgesen and has gained support from a growing number of other developers.

The team only officially revealed ALGuidelines.Dev in November 2021. Waldo explained he had already been thinking about design patterns for Business Central for some time, and presenting on it at DynamicsCon 2020 sparked new interest in the project. "I realized I really missed the NAV Design Patterns Wiki," he wrote. "The creativity, the conversations, the discussions ... I missed it so much that – without having one single plan in my head – I announced that 'I might be reviving this initiative'. "

The initiative has moved forward and Waldo will be presenting a new session about the project at DynamicsCon 2022 on Thursday, March 17. He spoke to MSDW what event attendees can expect.

MSDW: ALGuidelines.Dev is alive and seems to be thriving. What do you want people who attend your session to understand about the site and the project behind it?

Waldo: Well - I wouldn't say it's thriving already.  We do have some contributions from the community, but more are always welcome.  The intention of this session will be to introduce the initiative, explain a bit about what the intention is, how to contribute, and I'll go over the contributions that area already on the site to explain some of the new guidelines and patterns. 

I kind of hope that this will trigger the interest of the community to not just get to know the guidelines, but also contribute their own, or join the discussions.

Do you have any suggestions for how people might want to prepare before attending the session to get the most out of it?

Nothing.  Just sit back, relax, and let me do the talking ;-).  Obviously reading up on alguidelines.dev would maybe give them a pretty good insight on what I'll be talking about ;-).

What kind of feedback have you been getting from the community since you and the others involved in the initiative launched it?

Only good feedback.  That good that even Microsoft jumped on board as well, which made it that the repo is now hosted on Microsoft's github.

The support of Microsoft is obviously very important: whatever "best practice" or "guideline" will also go through their eyes - so if it gets approved, it is approved by people that are designing the product as well.

Even more, Microsoft employees are encouraged to contribute as well.  There are already quite some feedback, contributions, discussions and plans for future things to describe in best practices and patterns. 

Does the community effort for ALGuidelines.Dev relate to Microsoft’s Universal Code Initiative?

It does not - however - it's obvious that all new patterns we'll describe, will be "universal code certified" (if that would be an expression at all).

Have you thought about the ideal future for this initiative in terms of participation, or other ways of measuring?

In the ideal world, the entire community will join into the discussion and describe and improve the patterns and best practices.  It's easy to contribute: it's just a matter of forking/adding/pull requesting new stuff, or improving the description of current stuff ... Or simply join the discussion forum to brainstorm about new patterns/best practices, or simply comment on existing ones.

About Jason Gumpert

As the editor of MSDynamicsWorld.com, Jason oversees all editorial content on the site and at our events, as well as providing site management and strategy. He can be reached at jgumpert@msdynamicsworld.com.

Prior to co-founding MSDynamicsWorld.com, Jason was a Principal Software Consultant at Parametric Technology Corporation (PTC), where he implemented solutions, trained customers, managed software development, and spent some time in the pre-sales engineering organization. He has also held consulting positions at CSC Consulting and Monitor Group.

More about Jason Gumpert