Skip to main content

Notifications

Announcements

No record found.

Microsoft Dynamics CRM (Archived)

Managed Solutions for concurrent project work

Posted on by

As our organization plans for two teams developing solutions independently which will ultimately end up in the same production environment, we're debating going to managed solutions.  Our solutions will always be internal, but we're hearing "going managed" would help avoid conflicting changes of the same component by multiple teams. 

We envision two environment stacks; each with a DEV, QA, STAGING and PROD instance.  Each team would have their own DEV and QA instance.  Once a solution has passed testing, it is then migrated into STAGING with the work of both teams comes together.

One other value from managed solutions is their ability to prevent orphaned components in a destination environment resulting from subtractive work in a source environment which isn't manually deleted from destination.

We are under-staffed, untrained in the world of solutions, and don't have a sense of what we could be getting ourselves into since we don't know what we don't know.  I've seen many people suggest to not do this.  Can anyone provide some wisdom on this topic and, perhaps, resources on all the "gotchas" and best practices for managed solutions?

Thank you in advance.

*This post is locked for comments

  • Cyclefitness Profile Picture
    Cyclefitness on at
    RE: Managed Solutions for concurrent project work

    Great reply, Alex.  I will mark as answered when we get more replies.  Otherwise, it may fall low the feed.  I like the scenarios you have offered.  That level of information is exactly what I'm hoping to better understand.

  • Suggested answer
    ashlega Profile Picture
    ashlega 34,475 on at
    RE: Managed Solutions for concurrent project work

    Yes, you could. Either way, this may be a bit too high-level so far.

    How would you handle these scenarios:

    1. Agile development, you are delivering a new build every 2 weeks, that build is not supposed to include half-cooked features.

      Would you still have 1 DEV environment per team or would you have 1 dev per developer? If it's 1 dev per developer, how would you put those changes to the integration environment, and, then, further to the QA/Staging/Prod? At which point would the solution become managed and why would it be benefitial?

    2. Production environment. Your users have created personal views/dashboards/charts/reports.. And, then, your managed solution is about to delete an attribute which is used there. That kind of functionality is a double-edged sword (and, quite frankly, it's probably one of the last things you should be worried about.. personally, I will usually keep those attributes "just in case".. maybe renamed.. till I'm 200% sure they are not needed)

    3. There is a critical bug and you need to develop a patch asap. However, your developers are working on a new release so you can't take that solution from dev. Your options are: apply that fix directly in production or ..? But, if that's a managed solution in production, you suddenly have to consider the layering, merging, etc.

    Personally, I think managed solutions are good for distribution since they can be easily removed. As a client, I can install the solution, try it, and, then, remove it if it did not fit. That's not a consideration for the internal development, though.

  • Cyclefitness Profile Picture
    Cyclefitness on at
    RE: Managed Solutions for concurrent project work

    We were counseled by Microsoft to keep the unmanaged version of all managed versions in TFS.  If you do that, couldn't you take the unmanaged version to any of the DEV environments?

  • Suggested answer
    ashlega Profile Picture
    ashlega 34,475 on at
    RE: Managed Solutions for concurrent project work

    I think this is only going to work well if two teams are completely independent in the sense that they are working on the components which are not related to each other.. at all.

    One problem with the internal managed solutions is that you can't(or, maybe, should not) deploy them into the dev environment, so, if one of the teams suddenly realizes that they need to have the components developed by the other team in their dev.. you'll have to give up on the managed solution idea at that point, and, then, all of it will turn into a complete mess since you may have to re-set your QA/Staging.. and I'm not sure what's going to happen with prod.

    As far as internal development goes, I'd only consider managed solutions in production (staging -> production)

    You can make it work with managed.. it's just that all those relationships you'll have to watch for can be overwhelming.

  • Suggested answer
    a33ik Profile Picture
    a33ik 84,323 Most Valuable Professional on at
    RE: Managed Solutions for concurrent project work

    I would not suggest to do that unless you're an ISV.

    What can help you is versioning of all changes/autobuilding/e.t.c. using following wonderful framework - github.com/.../xrm-ci-framework

    It requires some time for preparation but the outcome of usage is significant!

    I was working on the project where we had even more then 2 teams and we were able to coordinate, see changes that were done with other devs/consultants and get single solution at the end.

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

December Spotlight Star - Muhammad Affan

Congratulations to a top community star!

Top 10 leaders for November!

Congratulations to our November super stars!

Tips for Writing Effective Suggested Answers

Best practices for providing successful forum answers ✍️

Leaderboard

#1
André Arnaud de Calavon Profile Picture

André Arnaud de Cal... 291,280 Super User 2024 Season 2

#2
Martin Dráb Profile Picture

Martin Dráb 230,235 Most Valuable Professional

#3
nmaenpaa Profile Picture

nmaenpaa 101,156

Leaderboard

Featured topics

Product updates

Dynamics 365 release plans