A couple of little notes before we get into this blog - I've been doing them on the Microsoft Community site now for nearly a year and we have just passed 27,500 views which for a little guy from the middle of nowhere in Scotland is surreal but I've been quiet recently doing some revision for the Dynamics 365 Customisation and Configuration (MB2-716) exam. The exam itself concentrates a lot on Solution Management which brought me back to my old thinking that numbering and notes on solutions isn't really done any more. Normally I give tutorial blogs on setting up new functionality but hopefully this one will stir some thought and maybe set some processes or good housekeeping on the go.
Based on the TechNet Article (https://msdn.microsoft.com/en-gb/library/gg334576.aspx)
Solutions are how customizers and developers author, package, and maintain units of software that extend Microsoft Dynamics 365 (online & on-premises). Customizers and developers distribute solutions so that organizations can use Microsoft Dynamics 365 to install and uninstall the business functionality defined by the solution.
There are two types of Microsoft Dynamics 365 solutions: managed and unmanaged. A managed solution is a completed solution that is intended to be distributed and installed. An unmanaged solution is one that is still under development or isn’t intended to be distributed. When the unmanaged solution is complete and you want to distribute it, export it and package it as a managed solution.
I am a firm believer in control and versioning - Personally I use the Major.CRMRelease.Minor.Release (1.00.000.00000) , So currently this would be 1.82.000.0000 as my base build (as I am building on 8.2)
I have also used it a little differently back in the day where I would have Major.Minor.Release with the CRM Release number being rolled into the release number. Breaking down the Major.Minor.Release structure my ideal scenarios are as follows
Now some people will do this through UAT and testing then reset when you go live - I personally won't do this as with iterative builds it is hard enough to keep your place.
Comments & Notes
Have you ever taken a project over from another consultant or company? Find it hard to process decision making and end goals?
There are lots of places to keep notes that are helpful and can actually be used for basic release notes. I use the solution description to keep myself and anyone else on the project right. I will admit it can be time consuming if you are just nipping in to do a little change but 4 or 5 little changes by several different consultants will result in things that people will need to ask questions about - for me it is better to take 2 minutes to add some description than it is to answer 10 emails on the subject 6 months down the line.
Here is my example
I know unpicking workflows and working them back to find out what they should be doing is your favourite post 9pm activity but if you have a little compassion for your fellow consultant then you can add some reasoning or description into the workflow - Again this is only my personal preference but I will copy either the user story that it relates to or the change request into the description. It will also help with Scope creep or changes to spec.
These are not my ideas but with some great peers I have worked with there are lots of ideas,
Here is a selection
My last one that I will leave you with and it is related - The structure I would recommended for Dev/UAT/Live would be to have a Unmanaged Solution in Dev, This exports as a Managed solution to UAT, When the UAT is signed off that same managed solution is then imported into Live.
This way there are no on the fly changes that end up in UAT that are overwritten when you have your next dev release.
Until next time................
Thankyou Mark !
Kindly share some resources and link to material for the MB2-716 Certification. I am preparing to do the certification as well.
i would have a look here
I would say that there are many similar questions in the MB2-712 exam