Best Practice for Portfolio - Project relationship

eroth
Kilo Contributor

Looks like you can relate a Portfolio directly to a Project, but you cannot relate a project to a Portfolio. Is the Portfolio>Project a legacy design. and we should be using the m2m relationship between Projects and Portfolios.   Need your assistance on how these relationships should be working.

1 ACCEPTED SOLUTION

edwajs
ServiceNow Employee
ServiceNow Employee

Hi Everyone,



The many-to-many relationships, stored in pm_m2m_portfolio_project, are the correct method of associating projects to portfolios.   This allows the association of the same project to multiple portfolios, and as has been noted, is done primarily for reporting purposes.   Note that this is an indirect relationship to pm_project, because the reference fields in pm_m2m_portfolio_project are to pm_portfolio and pm_portfolio_project, and the pm_project reference in pm_portfolio_project is what is used to tie the pm_project to the pm_portfolio.



In newer releases of Project Management v3 after Eureka, the primary_portfolio field has been added to the pm_project table, and also the 'Add Project to Portfolio' business rule.   Even though primary_portfolio is a reference field, this is not the official relationship for any of the related lists on pm_portfolio and it has not superseded the many-to-many relationship.   This field is used with the 'Add Project to Portfolio' business rule to create a pm_m2m_portfolio_project record for you automatically.   This is to make it an easier process for creating this relationship, instead of the former two-step process of:


  1. Create the new pm_project record*
  2. Go to the pm_portfolio record, and use the Edit... button and slushbucket to add the pm_project to the pm_portfolio.


*Note that the business rule 'Update Portfolio Project' business rule is used to create the synchronized pm_portfolio_project record for the pm_project, which is then used in the pm_m2m_portfolio_project record.



Also note that there is a known issue for the 'Add Project to Portfolio' business rule, because it may not work properly in an instance which was originally Project Management v2 and upgraded to Project Management v3.



Regards,


Ed


View solution in original post

7 REPLIES 7

ITSMgal
ServiceNow Employee
ServiceNow Employee

Hi Eric - Those concepts are essentially the inverse of each other.


When you are in a project and you add a value in the Portfolio field, you are essentially assigning it to the Portfolio (as its primary relationship)


When you use the portfolio form to associate a project, you   are relating it for a Portfolio Reporting view purpose (and thus them2m relationship). So, understanding the use case is important.



There have been requirements where people have asked for a project to be part of more than 1 portfolio. ServiceNow implemented this concept by allowing people to report on the status of a project through multiple portfolios.



In almost every customer that i speak with, the reason they want to have a project in more than 1 portfolio is for visibility or reporting, but the report is more centered around who they are and the projects THEY care about.


For example, a project is part of the "Run the Business" portfolio but is also for a particular department. In this case, they would say that it needs to be in both the department portfolio and the Run the business portfolio.   In SNOW terms, we would have the project as part of the Run the business Portfolio and the project would have an attribute of the department associated with it (or some other attribute that points it to the department) It would not be in 2 portfolios.


Given that a Portfolio is a Group of Projects, its makes sense how a project could be viewed from multiple groups, depending on who the viewer is.



The m2m functionality is probably not what you are really looking for, unless you are using the "Portfolio Project" reporting. I have passed along your inquiry to a local PPM Specialist in your region to get you some help on this topic, but i wanted to explain this here, incase someone else has the same question.


Hi Emily.



I work with Eric.   Projects belonging to multiple portfolios is an important feature to us.   It was the primary reason we did not implement Project Management until the release that brought m2m capability.   We organize projects by exec sponsor, by implementation team, by run/grow/transform, and by other groupings.   Having a single project reportable using different organizing portfolios is very important.



The concern we have is the variability.   It is already difficult to explain the portfolio-->m2m-->portfolio_project-->project relationship.   That there is a second way to map portfolios is really disorienting.   Especially, since the 2nd way does not permit many-to-many but only one-to-many.   We have communicated the many-to-many capability and it really resonated, now we have to say it works, but not always and only in this way, but, you can do it another way and that works completely different.



How are other customers addressing this complexity .. and honestly the confusion.


ITSMgal
ServiceNow Employee
ServiceNow Employee

Ed - Thanks for your response. Eric - please use Ed's response to guide your best practice. I apologize that i created confusion.


edwajs
ServiceNow Employee
ServiceNow Employee

Hi Everyone,



The many-to-many relationships, stored in pm_m2m_portfolio_project, are the correct method of associating projects to portfolios.   This allows the association of the same project to multiple portfolios, and as has been noted, is done primarily for reporting purposes.   Note that this is an indirect relationship to pm_project, because the reference fields in pm_m2m_portfolio_project are to pm_portfolio and pm_portfolio_project, and the pm_project reference in pm_portfolio_project is what is used to tie the pm_project to the pm_portfolio.



In newer releases of Project Management v3 after Eureka, the primary_portfolio field has been added to the pm_project table, and also the 'Add Project to Portfolio' business rule.   Even though primary_portfolio is a reference field, this is not the official relationship for any of the related lists on pm_portfolio and it has not superseded the many-to-many relationship.   This field is used with the 'Add Project to Portfolio' business rule to create a pm_m2m_portfolio_project record for you automatically.   This is to make it an easier process for creating this relationship, instead of the former two-step process of:


  1. Create the new pm_project record*
  2. Go to the pm_portfolio record, and use the Edit... button and slushbucket to add the pm_project to the pm_portfolio.


*Note that the business rule 'Update Portfolio Project' business rule is used to create the synchronized pm_portfolio_project record for the pm_project, which is then used in the pm_m2m_portfolio_project record.



Also note that there is a known issue for the 'Add Project to Portfolio' business rule, because it may not work properly in an instance which was originally Project Management v2 and upgraded to Project Management v3.



Regards,


Ed