<?xml version="1.0" encoding="UTF-8"?><!--RSS generated by Microsoft SharePoint Foundation RSS Generator on 5/17/2012 12:12:09 PM --><?xml-stylesheet type="text/xsl" href="/epm/_layouts/RssXslt.aspx?List=d3bd824d-1372-4f2b-9985-20c60b0b5e9a" version="1.0"?><rss version="2.0"><channel><title>EPM Team</title><link>http://blogs.catapultsystems.com/epm</link><description>RSS feed for the Posts list.</description><lastBuildDate>Thu, 17 May 2012 17:12:09 GMT</lastBuildDate><generator>SharePoint CKS:EBE</generator><ttl>60</ttl><language>en-US</language><image><title>EPM Team</title><url>http://blogs.catapultsystems.com/epm/_layouts/images/siteIcon.png</url><link>http://blogs.catapultsystems.com/epm</link></image><item><title>Calling task-level data using the Nintex workflow tool</title><link>http://blogs.catapultsystems.com/epm/archive/2011/05/19/calling-task-level-data-using-the-nintex-workflow-tool.aspx</link><guid isPermaLink="False">/epm/archive/2011/05/19/calling-task-level-data-using-the-nintex-workflow-tool.aspx</guid><description><![CDATA[<div class="ExternalClassFD38D2042CCD4E7EB3F18E69AB1F4816"><div>Just read an excellent post by Alex the Aussie over at <a href="http://epmsource.com/">epmsource.com</a>. Alex has been working the the <a href="http://www.nintex.com/en-US/Products/Pages/NintexWorkflowForProjectServer2010.aspx">Nintex Workflow for Project Server 2010</a> tool, and is trying to get task-level data, in this case milestone and stage info, out of the schedule and into the workflow.</div>
<div> </div>
<div><a href="http://blogs.catapultsystems.com/epm/archive/2011/04/04/project-server-2010-workflows–some-lessons-learned.aspx">We've used the Nintex tool</a> a couple of times ourselves, and wanted to do the same thing.</div>
<div> </div>
<div><a href="http://epmsource.com/2011/05/18/using-schedule-data-within-a-nintex-workflow-for-project-server-workflow/#comment-418">Alex's solution</a> is to use the &quot;Execute SQL&quot; function in Nintex. This appears to be the only way to do it at the moment. This was our conclusion as well.</div>
<div> </div>
<div>Alex's point is the &quot;Execute SQL&quot; function is really underrated, as it allows you to do all sorts of stuff with schedule data, along with the vast amount of other Reporting Database goodness.</div>
<div> </div>
<div>I agree whole-heartedly. &quot;Execute SQL&quot; is slicker than you-know-what through a goose. But, to me at least, it misses the point.</div>
<div> </div>
<div>The beauty of the Nintex tool is it enables the PMO (or other non-techies) to build workflows. You don't need to be a developer or a DBA to use it. However, to get at some of the really juicy info, be it from the schedule, or resource assignments, or what-have-you, you DO have to be a developer or a DBA to use the tool.</div>
<div> </div>
<div>I know, I know. This is the first release of the Nintex tool. And it's freakin' great. Really. The difference in ease-of-workflow-development and overall usability between the Nintex tool and Visual Studio is akin to the difference betwen an Android phone and the computers used in the Apollo space program.</div>
<div> </div>
<div>But, and I hope my friends at Nintex are listening, to realize the potential of the tool, its got to usable by business people.</div></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Elkin</dc:creator><pubDate>Thu, 19 May 2011 09:49:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Demand Management/default.aspx">Demand Management</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Workflow/default.aspx">Workflow</category></item><item><title>Microsoft publishes a ton of great help for Project Server 2010</title><link>http://blogs.catapultsystems.com/epm/archive/2011/05/17/microsoft-publishes-a-ton-of-great-help-for-project-server-2010.aspx</link><guid isPermaLink="False">/epm/archive/2011/05/17/microsoft-publishes-a-ton-of-great-help-for-project-server-2010.aspx</guid><description><![CDATA[<div class="ExternalClass24AA5550D55542ABBAE5AF7899760855"><div>If you haven't been over to <a href="http://technet.microsoft.com/en-us">TechNet</a> in a while, you should pay a visit. The amount of <a href="http://technet.microsoft.com/en-us/projectserver/ee263909">technical and functional documentation, videos, how-tos, etc</a> to found on the pages of TechNet is nothing short of remarkable.</div>
<div> </div>
<div>New content includes <a href="http://technet.microsoft.com/en-us/projectserver/hh147175.aspx">everything you ever wanted to know about time-tracking and task-statusing</a>. EVERYONE uses this functionality, and EVERYONE has questions about it, at least in our experience. Go check this out.</div>
<div> </div>
<div>The fine folks at Microsoft deserve some recognition for the amount of support they have provided for this version of Project Server. On behalf of the Catapult Systems team, a hearty THANK YOU to all involved!</div></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Elkin</dc:creator><pubDate>Tue, 17 May 2011 14:50:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Project Professional 2010/default.aspx">Project Professional 2010</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Project Server 2010/default.aspx">Project Server 2010</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Timesheets/default.aspx">Timesheets</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Demand Management/default.aspx">Demand Management</category></item><item><title>SP1 - Release at end of June!</title><link>http://blogs.catapultsystems.com/epm/archive/2011/05/17/sp1-release-at-end-of-june.aspx</link><guid isPermaLink="False">/epm/archive/2011/05/17/sp1-release-at-end-of-june.aspx</guid><description><![CDATA[<div class="ExternalClassD071E1E397AF4804B28D9D0A6DE60CAF"><div>From the friendly folks at Microsoft's <a href="http://blogs.technet.com/b/office_sustained_engineering/">Office Sustained Engineering group</a>: <a href="http://blogs.technet.com/b/office_sustained_engineering/archive/2011/05/11/announcing-service-pack-1-for-office-2010-and-sharepoint-2010.aspx">Official word</a> that SP1 for all Office servers and apps, which includes Project Server 2010 and Project Professional 2010, will be released at the end of June.</div>
<div> </div>
<div>There are sure to be <a href="http://blogs.msdn.com/b/project/archive/2011/05/16/project-2010-sp1.aspx">a ton of small bug fixes, along with some relatively major improvements</a>. The one I'm most interested in: Time-phased support for manually scheduled tasks. The inability to track time against manually scheduled tasks had made them non-starters for many of our clients. With this improvement, we may see more adoption.</div>
<div> </div>
<div>Stay tuned for links to the downloads when they are available.</div></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Elkin</dc:creator><pubDate>Tue, 17 May 2011 14:37:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Project Professional 2010/default.aspx">Project Professional 2010</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Project Server 2010/default.aspx">Project Server 2010</category></item><item><title>Project Server 2010 workflows–some lessons learned</title><link>http://blogs.catapultsystems.com/epm/archive/2011/01/19/project-server-2010-workflows–some-lessons-learned.aspx</link><guid isPermaLink="False">/epm/archive/2011/01/19/project-server-2010-workflows–some-lessons-learned.aspx</guid><description><![CDATA[<div class="ExternalClass6A4570940D30408A8E0D6BF4CB41E16C">
<p class="ExternalClass3C3CE25EF6B14A8986CF83BF5CB72C1E">We’re finishing up a couple of deployments of Project Server 2010 wherein we did a number of custom workflows for the clients, and I thought I’d pass along some lessons we learned, some the hard way.</p>
<p class="ExternalClass3C3CE25EF6B14A8986CF83BF5CB72C1E">First, a bit of clarification: I’m talking about “Demand Management” workflows, not document approvals or anything else you might write for the SharePoint Foundation workspaces. Demand Management workflows leverage a number of configurable objects in Project Server 2010 – things like phases, stages, Enterprise Project Types, and Project Detail Pages.</p>
<div class="ExternalClass3C3CE25EF6B14A8986CF83BF5CB72C1E">
<ul>
<li>First lesson: There is documentation out there</li></ul></div>
<p>We got a lot of help from the friendly folks at Microsoft when it came to documentation on customizing workflows. We needed it, as it was a bit of a hunt to find a centralized list of these documents. Here’s a stab at exactly that:</p>
<ul>
<ul>
<li><a href="http://technet.microsoft.com/en-us/library/ff973112.aspx" target="_blank">Hitchhiker’s Guide to Demand Management</a> – this is a great starting point. It’s a write-up by Steven Haden which is step-by-step through some of the samples included in the out of the box tool as well as the SDK. </li>
<li><a href="http://www.microsoft.com/showcase/en/US/details/61aec62a-d2ad-4ae5-89c2-1ac528aec665" target="_blank">A Webcast of Steven’s presentation</a> on the same material from the Project Conference </li>
<li><a href="http://technet.microsoft.com/en-us/projectserver/ff899331.aspx" target="_blank">TechNet library dedicated to Demand Management</a> – some good Webcasts and Microsoft technical documentation on the functionality. A little more advanced help.. </li>
<li><a href="http://msdn.microsoft.com/library/ee767694(office.14).aspx" target="_blank">MSDN content on Project Server workflows</a> – good info to get developers up and running. Good info on setting up Visual Studio, and basic workflow development tips. </li>
<li>Webcasts covering various topics in workflow development 
<ul>
<li><a href="http://blogs.msdn.com/b/project/archive/2010/03/19/video-walkthrough-of-the-out-of-the-box-sample-proposal-workflow.aspx" target="_blank">Walkthrough of the Out of the Box Sample Proposal Workflow</a> </li>
<li><a href="http://www.microsoft.com/events/series/epm.aspx?tab=Webcasts&amp;seriesid=51&amp;webcastid=13333" target="_blank">MSDN Webcast – Workflow Deep Dive</a></li></ul></li>
<li>A catch-all <a href="http://blogs.msdn.com/b/project_programmability/archive/2010/06/22/technical-resources-on-workflow-demand-management-in-project-server-2010.aspx" target="_blank">blog post</a> (updated in June) of content on Demand Management and workflows</li></ul></ul>
<p> </p>
<ul>
<li>Second lesson: These are NOT your typical SharePoint workflows</li></ul>
<p>There’s no GUI, no SharePoint Designer, nothing like that, in the out of the box tool. If you want to modify the workflow or create custom workflows, you are going the Visual Studio route, UNLESS you spring for a third party workflow tool. We wound up with the <a href="http://www.nintex.com/en-US/Products/Pages/NintexWorkflowForProjectServer2010.aspx">Nintex Workflow for Project Server 2010 </a>tool.</p>
<p>Now, I don’t want to turn this into an unpaid plug for Nintex, but we did have a good experience with their product. You do have to buy and install the base Nintex Workflow for SharePoint tool before you can buy and install the Project Server component, and this stuff isn’t cheap (although “cheap” is, of course, entirely relative, esp when measured against development time).</p>
<p>While workflows are, by definition, pretty complex, and you should not underestimate either the topic or the tool, our experience is that a competent PMO process wonk can handle assembling fairly complex workflows in the Nintex tool with a little ramp-up time. This is obviously good news to PMO process wonks, as it makes process design and tool configuration sort of the same step.</p>
<ul>
<li>Some other notes on workflows:</li></ul>
<p>We really liked the flexibility of Project Detail Pages (PDPs) and Workflow Stages. PDPs, while a little clunky to design and build, really are great for gathering the type of information most organizations currently find trapped in spreadsheets, Word docs, PowerPoint slides, etc.</p>
<p>The design of the Project Server workflow “engine” leaves a lot of room for what Microsoft likes to call “Partner Opportunities”. I think that’s the right decision, especially in these early stages of the product. Nintex, and the other tool vendors, bring a ton of background with SharePoint and workflow to the table. Their tools have been field tested extensively. And while the price tag for these tools is what it is, you do get bang for the buck.</p>
<p>Our overall impression of demand management is there is a ton of power here, and ton of organizational appeal. PMOs everywhere can use this functionality. If your organization has a project initiation and selection process today, and you find yourself being the middleware that turns Word docs and spreadsheets into Project Server information, look into demand management. If you’re just now getting a process sorted out, you can automate a great deal of it using Project Server 2010.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Elkin</dc:creator><pubDate>Mon, 04 Apr 2011 16:43:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Project Server 2010/default.aspx">Project Server 2010</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Workflow/default.aspx">Workflow</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Demand Management/default.aspx">Demand Management</category></item><item><title>A new year, a new guy in the driver's seat</title><link>http://blogs.catapultsystems.com/epm/archive/2011/01/05/a-new-year-a-new-guy-in-the-drivers-seat.aspx</link><guid isPermaLink="False">/epm/archive/2011/01/05/a-new-year-a-new-guy-in-the-drivers-seat.aspx</guid><description><![CDATA[<div class="ExternalClassE37686FD467F47498207271BB47CC099">
<p>Welcome to 2011! With the new year comes some changes here at the Catapult Systems EPM Team blog.</p>
<p>As you may have surmised from Andrew's <a href="http://blogs.catapultsystems.com/epm/archive/2010/12/29/a-last-post-for-the-new-year.aspx" target="_blank">most recent post</a>, blogging responsibilities have shifted to little old me. My name is Peter Elkin. I have been with Catapult Systems for a little over four years, and have been helping clients implement Microsoft Project Server for nearly eight years (yep, that takes me back to the Project Server 2002 days).</p>
<p>My background and training are in project management. I spent most of my early career as a PM with one of the big multi-national financial service organizations (the names have been changed to protect the innocent). It was my frustration with managing resources, reporting progress, dealing with seemingly arbitrary reprioritization at the drop of a hat - all the usual big-company project management pitfalls – at said unnamed institution which led to my interest, and eventually my career, in Project Server.</p>
<p>I think you’ll see a shift in the focus of posts here over the next few months. Andrew’s <a href="http://blogs.catapultsystems.com/epm/archive/tags/Portfolio%20Management/default.aspx" target="_blank">deep delving</a> into, and deep understanding of, the theory behind and practice of the optimization engine, resource analysis, reporting, and some of the other feature areas of Project Server 2010 have been, IMHO, of huge benefit to the EPM community. It’s not for nothing the guy’s an MVP.</p>
<p>My own take is going to focus a little less on the possibilities of Project Server 2010, and more on the solving of real-world business problems using the tool set. I’m an implementer, and we’ve got implementations stacked up in our pipeline, so we’ll have lots of opportunities to focus on client challenges and discuss how we resolve those challenges using Project Server 2010 and it’s ecosystem of related tools and techniques.</p>
<p>I hope to continue the dialog Andrew has established with many of you. Please feel free to hit the comments section with any sort of feedback or question which comes to mind.</p>
<p>I’m looking forward to becoming a member of the EPM blogocracy! Thanks for reading!</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Peter Elkin</dc:creator><pubDate>Wed, 05 Jan 2011 09:47:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Gratuitous Self-Reference/default.aspx">Gratuitous Self-Reference</category></item><item><title>A Last Post for the New Year</title><link>http://blogs.catapultsystems.com/epm/archive/2010/12/29/a-last-post-for-the-new-year.aspx</link><guid isPermaLink="False">/epm/archive/2010/12/29/a-last-post-for-the-new-year.aspx</guid><description><![CDATA[<div class="ExternalClass2B3EADBFFFE2412F9E063EB5BA6442E0">
<p>The New Year is fast approaching, and with it all of the cultural baggage associated with transitions, ringing out the old, bringing in the new, and all those other tired memes.  Usually, the New Year is a non-event for me…an opportunity to freeze in the open air, an evening of quality family time perhaps but rarely anything exceedingly memorable.</p>
<p>This year though, the event is more salient as it marks a significant professional transition of my own.  As I look forward to next year, I am reminded of an experience I had a while back, in a previous life, when I was teaching English in a small rural middle school located in the rolling white <em>khangai</em>, smack dab in the middle of Mongolia, which in turn is sandwiched between China and Siberia.</p>
<p>We were celebrating New Year’s Eve in a school gymnasium (i.e. the biggest enclosed space in town), and I guess it was sometime before midnight when my buddy comes up to me, and tells me (in Mongol), “You think this is fun now?  Wait till the clones come!”  …or at least it sounded like the English word for “clones.”  Needless to say, I was mildly confused.  </p>
<p>So there I sat, for about a half hour or so, sipping vodka and wondering with a mix of trepidation and anticipation what would imminently walk through the gym door.  As I plan my professional activities in 2011 and beyond, that’s kind of how I feel right now, like I am sitting in that cold gym, listening to the Siberian wind outside and waiting for the “clones”…(which eventually turned out to be harmless and mildly entertaining “clowns.”).  </p>
<p>It’s been a little over a year and half since I started actively contributing to this blog, and it’s definitely been a positive experience all around.  This little ol’ blog has driven me to explore the world of EPM tools and related deployment issues in all sorts of ways that I might not have otherwise done.  Posting here has prompted some great conversations both on and offline, and has resulted in a mountain of content that I am sure will provide much value in the future.  This corner of the Internet will always have a special place in my heart.</p>
<p>To those of you who read this blog regularly, I extend my appreciation, and invite you to continue the discussion.  I will not be monitoring the comments any longer, but me being me, I don’t think I’ll stay away from the blogosphere too long.  Stay tuned via <a href="http://www.linkedin.com/in/azlav">LinkedIn</a>, <a href="http://twitter.com/alavinsky">Twitter</a>, or the <a href="http://social.technet.microsoft.com/Forums/en-US/category/projectserver2010,projectprofessional2010">Project newsgroups</a> to see where I may pop up next. </p>
<p>To those of you who’ve worked with and supported me over the last couple of years, I thank you very kindly.  As I tell my family each day, I still don’t know how you managed to put up with me for so long.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew Lavinsky</dc:creator><pubDate>Wed, 29 Dec 2010 12:32:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Gratuitous Self-Reference/default.aspx">Gratuitous Self-Reference</category></item><item><title>Including Parent Tasks on Excel Project Reports</title><link>http://blogs.catapultsystems.com/epm/archive/2010/12/11/including-parent-tasks-on-excel-project-reports.aspx</link><guid isPermaLink="False">/epm/archive/2010/12/11/including-parent-tasks-on-excel-project-reports.aspx</guid><description><![CDATA[<div class="ExternalClassD68126E5C8AD46B398C68D09E282E496">
<p>I just wanted to post this as follow up to <a href="http://social.technet.microsoft.com/Forums/en-US/projectserver2010general/thread/fa6af5c0-996b-4dd1-9734-d000cbb5387d/">an interesting thread</a> that started a while back on one of the <a href="http://social.technet.microsoft.com/Forums/en-US/projectserver2010general/threads">Project Server newsgroups</a>.  The thread, originally started by Rambunctious was asking how to get the name of the parent task for each child task out of the Project Server database for use in an Excel Report.</p>
<p>Barbara Henhapl provided an excellent response, which I am reposting for posterity with her gracious permission.  (Thanks also to Rambunctious for posting the original question.)</p>
<p>1) Modify the ODC file used by the Excel report to generate the appropriate data set.  For more information on modifying the ODC file, please refer to <a href="http://blogs.catapultsystems.com/epm/archive/2010/01/18/modifying-the-default-odc-files-to-filter-on-specific-projects.aspx">this post</a>.</p>
<p>2) Specifically, the change you would make is to pull the TaskParentUID field for each task in the MSP_EPMTask_UserView table, and then tie it back to the TaskName field using the following syntax:</p>
<p>SELECT     SummaryTask.TaskName AS SummaryTaskName, Tasklist.TaskName <br>FROM         dbo.MSP_EpmTask_UserView AS Tasklist INNER JOIN <br>                      dbo.MSP_EpmTask_UserView AS SummaryTask ON Tasklist.TaskParentUID = SummaryTask.TaskUID</p>
<p>3) To make that easy, Barbara went ahead and pulled the ODC file from the Projects and Tasks demo report in the BI Center templates folder, and modified that to include the key fields.  The result should look something like this <a href="http://blogs.catapultsystems.com/epm/Media/SummaryTaskODC.txt">text file</a>.</p>
<p>What does that get you?</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/174/image_2_2C8C8E32.png"><img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/174/image_thumb_2C8C8E32.png" width="644" height="300"></a></p>
<p>…which I bet would work with the technique I described in <a href="http://blogs.catapultsystems.com/epm/archive/2010/02/10/exporting-the-resource-pool-to-visio-as-an-org-chart.aspx">this post</a> to make a dynamic WBS based view of the project for reporting purposes.  (Not that you couldn’t do so with Visual Reports, but I wonder if there might be an advantage to doing it this way.)</p>
<p>Thanks again to Barbara and Rambunctious for prompting the thoughts…..any mistakes in this posting are definitely mine.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew Lavinsky</dc:creator><pubDate>Sun, 12 Dec 2010 07:46:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Business Intelligence/default.aspx">Business Intelligence</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Project Server 2010/default.aspx">Project Server 2010</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Reporting/default.aspx">Reporting</category></item><item><title>RAUTH: Committing the Scenario</title><link>http://blogs.catapultsystems.com/epm/archive/2010/12/11/rauth-committing-the-scenario.aspx</link><guid isPermaLink="False">/epm/archive/2010/12/11/rauth-committing-the-scenario.aspx</guid><description><![CDATA[<div class="ExternalClassCFB456355ECE4DB3B970024082000814">
<p>I realized that I still had a couple of these Resource Analysis posts sitting half written in my queue and figured it was about time to put some finishing touches on them and kick them out the door.  That being said, welcome to the latest posting in my <em>Resource Analysis Under the Hood </em>series – where I attempt to explain away some of the mysteries of the Portfolio Analysis module.  This post represents my breakdown of the Scenario Commitment functionality.  </p>
<p>For previous postings in this vein:</p>
<p>1) <a href="http://blogs.catapultsystems.com/epm/archive/2010/09/28/resource-analysis-under-the-hood-introducing-the-catapult-resource-analysis-worksheet.aspx">Introducing the Resource Analysis Worksheet</a></p>
<p>2) <a href="http://blogs.catapultsystems.com/epm/archive/2010/09/30/resource-constraint-analysis-under-the-hood-configuring-the-resource-pool.aspx">Configuring the Resource Pool</a></p>
<p>3) <a href="http://blogs.catapultsystems.com/epm/archive/2010/10/03/resource-analysis-under-the-hood-setting-key-parameters.aspx">Configuring the Resource Analysis Parameters</a></p>
<p>4) <a href="http://blogs.catapultsystems.com/epm/archive/2010/10/04/resource-analysis-under-the-hood-organizational-capacity-planning.aspx">Organizational Capacity Planning</a></p>
<p>5) <a href="http://blogs.catapultsystems.com/epm/archive/2010/10/08/resource-analysis-under-the-hood-the-baseline-calculation-part-1.aspx">The Baseline Calculation (Part 1)</a></p>
<p>6) <a href="http://blogs.catapultsystems.com/epm/archive/2010/10/14/rauth-the-baseline-calculation-part-2.aspx">The Baseline Calculation (Part 2)</a></p>
<p>7) <a href="http://blogs.catapultsystems.com/epm/archive/2010/10/16/rauth-performing-what-if-analysis.aspx">Performing What-If Analyses</a></p>
<p>8) <a href="http://blogs.catapultsystems.com/epm/archive/2010/10/24/rauth-the-requirements-detail-view.aspx">The Requirements Details View</a></p>
<p>9) <a href="http://blogs.catapultsystems.com/epm/archive/2010/10/27/rauth-incrementally-adding-new-resources-and-cost-part-1.aspx">Incrementally Adding New Resources and Cost (Part 1)</a></p>
<p>10) <a href="http://blogs.catapultsystems.com/epm/archive/2010/10/29/rauth–incrementally-adding-new-resources-and-cost-part-2.aspx">Incrementally Adding New Resources and Cost (Part 2)</a></p>
<p>12) <a href="http://blogs.catapultsystems.com/epm/archive/2010/11/05/2-rauth-compare-portfolio-selection-scenarios.aspx">Comparing Project Selection Scenarios</a></p>
<p>11) <a href="http://blogs.catapultsystems.com/epm/archive/2010/12/10/enforce-dependencies-in-portfolio-analysis.aspx">Enforcing Project Dependencies</a></p>
<p>…and probably a couple more that I can’t recall at this point.</p>
<h1>The Basics</h1>
<p>The observant user may note the existence of the Commit button within the Portfolio Analysis module.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_2_7941583A.png"><img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_thumb_7941583A.png" width="644" height="107"></a> </p>
<p>The Commit button triggers the population of a total of 6 project level fields.  Those 6 fields are:</p>
<ol>
<li>Committed Planned End Date </li>
<li>Committed Planned Start Date </li>
<li>Committed Portfolio Selection Decision (Cost) </li>
<li>Committed Portfolio Selection Decision (Schedule) </li>
<li>Committed Portfolio Selection Decision Date (Cost) </li>
<li>Committed Portfolio Selection Decision Date (Schedule) </li></ol>
<p> </p>
<p>The Help screens helpfully describe what the fields do:</p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td valign="top" width="302">
<p>Field Name</p></td>
<td valign="top" width="496">
<p>Description</p></td></tr>
<tr>
<td valign="top" width="302">
<p><a href="http://office.microsoft.com/en-us/project-server-help/committed-planned-end-date-project-field-HA010371107.aspx">Committed Planned End Date</a></p></td>
<td valign="top" width="496">…specifies the finish date of the project as committed to in a Portfolio Selection Scenario during resource constraint analysis.</td></tr>
<tr>
<td valign="top" width="302">
<p><a href="http://office.microsoft.com/en-us/project-server-help/committed-planned-start-date-project-field-HA010371106.aspx">Committed Planned Start Date</a></p></td>
<td valign="top" width="496">…specifies the start date of the project as committed to in a Portfolio Selection Scenario during resource constraint analysis.</td></tr>
<tr>
<td valign="top" width="302">
<p><a href="http://office.microsoft.com/en-us/project-server-help/committed-portfolio-selection-decision-cost-project-field-HA010371110.aspx">Committed Portfolio Selection Decision (Cost)</a></p></td>
<td valign="top" width="496">…shows the result of a cost constraint analysis on a project. You can choose Selected, Unselected, Forced-In/Out, or Custom Forced-In/Out.</td></tr>
<tr>
<td valign="top" width="302">
<p><a href="http://office.microsoft.com/en-us/project-help/committed-portfolio-selection-decision-schedule-project-field-HA010371109.aspx">Committed Portfolio Selection Decision (Schedule)</a></p></td>
<td valign="top" width="496">…shows the result of a resource constraint analysis on a project. You can choose Selected, Unselected, Forced-In/Out, or Custom Forced-In/Out.</td></tr>
<tr>
<td valign="top" width="302">
<p><a href="http://office.microsoft.com/en-us/project-server-help/committed-portfolio-selection-decision-date-cost-project-field-HA010371108.aspx">Committed Portfolio Selection Decision Date (Cost)</a></p></td>
<td valign="top" width="496">…shows the commitment date of a Portfolio Selection Scenario as determined during cost constraint analysis.</td></tr>
<tr>
<td valign="top" width="302">
<p><a href="http://office.microsoft.com/en-us/project-server-help/committed-portfolio-selection-decision-date-schedule-project-field-HA010371111.aspx">Committed Portfolio Selection Decision Date (Schedule)</a></p></td>
<td valign="top" width="496">…shows the commitment date of a Portfolio Selection Scenario as determined during resource constraint analysis.</td></tr></tbody></table>
<p> </p>
<p>These fields are all available from the Project Center view field picklist (although given the length of the names, it’s kind of hard to tell which field is which in the dialog box).  Below, I’ve created a custom Project Center view to display all of the key Committed fields.  I’ll use this to illustrate the action of the Commit button.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_4_7941583A.png"><img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_thumb_1_7941583A.png" width="644" height="115"></a> </p>
<p>Note that these fields appear to be populated directly to the Published version of the schedule.  After clicking Commit, there is no need to republish the projects to update these fields in PWA.</p>
<h1>Committing Cost Analyses</h1>
<p>When committing analyses, it’s important to commit in the proper order, i.e. Cost and then Resource.  This is because the outputs of the Cost Analysis drive the inputs to the Resource Analysis.  If the Resource Analysis is committed first, the Cost Analysis may overwrite the results.  Given the fact that the Resource Analysis portfolio of projects is the subset of projects that were selected in Cost Analysis, this progression would seem to make sense.</p>
<p>In the below example, I committed the Resource Analysis first….</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_8_7941583A.png"><img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_thumb_3_7941583A.png" width="644" height="98"></a> </p>
<p>…and then the Cost Analysis.  You’ll see that the Resource Analysis figures were wiped out.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_6_7941583A.png"><img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_thumb_2_272EAAF3.png" width="644" height="95"></a></p>
<p>The Cost Analysis does not commit the schedule data, such as the Planned End Date and Planned Start Dates.  Those are populated from the Resource (i.e. Schedule) Analysis.</p>
<h1>Committing Resource Analyses</h1>
<p>The Resource Analysis commits both the Cost and Resource Analysis – as you’ll note both sets of fields are populated when the Resource Analysis is committed. </p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_8_7941583A.png"><img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/173/image_thumb_3_7941583A.png" width="644" height="98"></a> </p>
<h1>Other Notes</h1>
<ul>
<li>The Commit button is intended not only to populate these 6 fields, but also to serve as the trigger for custom workflows.  In fact, one can argue that the Commit button is most importantly intended to kick off some sort of approval workflow in the portfolio analysis process.  You could also tie a workflow to the Forced Out projects prompting a review procedure at a later date.</li>
<li>The Commit functionality complements nicely the new command in Project Professional 2010 that allows you to shift the entire project forward or backward in time.  Thus, once the scenario has been committed and a Planned Start Date has been defined, the Project Manager could open the file in Microsoft Project, plug in the new Planned Start Date, and have the entire project shift accordingly.</li>
<li>If the project is selected in multiple analyses – which I imagine would be a mistake, as I can’t see a valid use case where that would logically occur, the most final analysis commitment will override the fields.</li>
<li>In the category of wish list items, I’d like to see the actual name of the Analysis used to support committing the project as an available field.  I’ll have to look into the database schema to see if I can generate up a list of projects and the associated scenario.</li></ul></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew Lavinsky</dc:creator><pubDate>Sat, 11 Dec 2010 07:22:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Project Server 2010/default.aspx">Project Server 2010</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Portfolio Management/default.aspx">Portfolio Management</category></item><item><title>Enforce Dependencies in Portfolio Analysis</title><link>http://blogs.catapultsystems.com/epm/archive/2010/12/10/enforce-dependencies-in-portfolio-analysis.aspx</link><guid isPermaLink="False">/epm/archive/2010/12/10/enforce-dependencies-in-portfolio-analysis.aspx</guid><description><![CDATA[<div class="ExternalClass8D220AACA92C46CFAA7F4F4B0950CC80">
<p>Thanks to Larry C. for reading my posts on the Portfolio Analysis module of Project Server 2010.  He’s been after me for some time now to address the role of project dependencies in portfolio analysis – to which I keep responding that I’ll get around to it in December.  Well, the last time I checked, the calendar appears to display December.  Hence, Larry, this post is for you &amp; <a href="http://www.youtube.com/watch?v=DgyBKghbmJQ">thanks for the peanut butter ball recipe</a>.</p>
<p>This post also represents my first blog foray into the domain of portfolio dependencies.  Therefore, please consider this post to be a quick introductory post, to be followed at some point in the future with some more nuanced investigations of the specific behaviors of each of the dependency types.  Hopefully, the anticipation of that content will not be too much to bear….</p>
<h1>The Basics</h1>
<p>Conceptually, dependencies imply relationships between specific projects within a given portfolio.  The challenge is really in understanding the types of dependencies, and their respective impact on the analysis calculations.  Note that Project Server 2010 allows the use of four distinct kinds of dependencies – but more on that later.</p>
<p>Dependencies are implemented on a project level in the main Portfolio Analysis page (i.e. <a href="http://servername/pwa/_layouts/pwa/portfoliostrategy/analyses.aspx">http://<em>servername</em>/pwa/_layouts/pwa/portfoliostrategy/analyses.aspx</a>).  Simply click on the Portfolio Analyses link in the main site.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_2_07F75DE4.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_07F75DE4.png" width="644" height="304"></a></p>
<p>In the Portfolio Analysis view, the option to implement Project Dependencies is in the Analyses tab at the top of the page.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_4_07F75DE4.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_1_07F75DE4.png" width="644" height="304"></a></p>
<p>When clicking on the button, you get to the Project Dependencies screen, which allows you to define the four types of project dependencies:</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_6_07F75DE4.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_2_07F75DE4.png" width="644" height="145"></a></p>
<h1>Dependency Types</h1>
<p>The four types of dependencies available are:</p>
<ol>
<li>Dependency </li>
<li>Mutual Inclusion </li>
<li>Mutual Exclusion </li>
<li>Finish to Start </li></ol>
<p> </p>
<p>Here’s a quick rundown of each of the four types…</p>
<p><strong><u>Dependency</u></strong> – the primary project will not be selected unless all of the dependent projects have been selected.  No sequence is implied, simply an all or nothing selection mechanism.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_12_07F75DE4.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_5_07F75DE4.png" width="644" height="304"></a></p>
<p>As far as I can tell, this does not imply the primary project will be selected if the dependent projects are selected – but the primary project will not be selected if all of the dependent projects have not been.</p>
<p><strong><u>Mutual Inclusion</u></strong> – This dependency is similar to the Dependency dependency (if that sentence makes sense).  In this case, it really is all or nothing.  Either all projects are included, or all projects are excluded.  Consider using this dependency in the scenario of a program, where each of the projects must be implemented to garner the benefits of the program.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_10_07F75DE4.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_4_07F75DE4.png" width="644" height="133"></a></p>
<p>Here’s what the help screen says on the Mutual Inclusion dependency: <em>Select the projects that are ALL dependent on each other. If one project from the set is executed, all other projects from the set must also be executed.</em> </p>
<p><strong><u>Mutual Exclusion</u></strong> – On the converse side, the Mutual Exclusion Dependency means that we may have multiple competing projects.  Our goal is to pick the project that generates the maximum strategic value, but once selected, negates the need for any of the other projects.  Think about using this if you have multiple competing avenues to achieve the same goal – but only one is required.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_14_07F75DE4.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_6_07F75DE4.png" width="644" height="138"></a></p>
<p>Here’s what the help screen says on this dependency: <em>Select the projects that are ALL exclusive to each other. If one project from the set is executed, all other projects from the set must NOT be executed. </em></p>
<p><strong><u>Finish to Start</u></strong> – with Finish to Start dependencies, the user selects a primary project that must complete prior to the start of successor projects.  This dependency does not imply the successor projects will be selected, but only sets the stage for the sequence in which they may be selected.  I could see this dependency being used in conjunction with the Mutual Inclusion dependency to ensure that all projects in a given sequence are a) selected, and b) selected in the appropriate sequence.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_16_07F75DE4.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_7_07F75DE4.png" width="644" height="176"></a></p>
<p>Here’s what the help screen says on this dependency: <em>Select the projects that must start after the primary project finishes.  </em></p>
<p>Put it all together, and all of the dependencies are displayed as shown:</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_18_07F75DE4.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_8_7305DB70.png" width="644" height="304"></a></p>
<h1>Enforcing Dependencies</h1>
<p>So far so good.  A little bit complicated, but all in all fairly straightforward.  Here’s where things get a little bit more interesting.  First off, a quick review….here’re the four dependency types again:</p>
<ol>
<li>Dependency </li>
<li>Mutual Inclusion </li>
<li>Mutual Exclusion </li>
<li>Finish to Start </li></ol>
<p> </p>
<p>By default, even though these dependencies may have been defined, they are not enforced unless the user specifically indicates to enforce them in the Cost and Resource Analysis screens.</p>
<p>In the Cost Analysis screen, you will find the option to enforce Project dependencies in the Options tab.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_20_7305DB70.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_9_7305DB70.png" width="644" height="304"></a></p>
<p>What’s mildly confusing perhaps is that in the Resource Analysis screen, you have the option to enforce two kinds of dependencies: Project and Finish to Start.  Huh?</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_22_7305DB70.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_10_7305DB70.png" width="644" height="304"></a></p>
<p>As near as I can tell, enforcing Project dependencies enforces the top three in the list of dependencies:</p>
<ol>
<li>Dependency </li>
<li>Mutual Inclusion </li>
<li>Mutual Exclusion </li></ol>
<p> </p>
<p>While enforcing Finish to Start enforces Finish to Start dependencies (which I guess is a bit self-evident.)  </p>
<h1>Finish to Start Dependencies</h1>
<p>Since this dependency gets its own control, let’s examine it a little bit further.  In the following example, I set a Finish to Start dependency on TD Resource Projects 1 and 2.  </p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_30_7305DB70.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_13_7305DB70.png" width="644" height="140"></a></p>
<p>This implies that Project 2 must follow Project 1.  </p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_24_7305DB70.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_3_7305DB70.png" width="644" height="189"></a></p>
<p>When I enforce the dependency in the above scenario, and select Recalculate, I get the following screen.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_32_7305DB70.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_14_7305DB70.png" width="644" height="58"></a></p>
<p>I then have to manually modify the Start Dates until the projects fall into alignment – as defined by the Finish to Start dependency.  A quick recalculate yields an acceptable portfolio:</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_28_7305DB70.png"><img style="background-image:none;border-right-width:0px;padding-left:0px;padding-right:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;padding-top:0px" title="image" border="0" alt="image" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/172/image_thumb_12_7305DB70.png" width="644" height="173"></a></p>
<p>The trick here is that the error message doesn’t necessarily identify specifically which project is causing the calculation issue.  I’ll need to play with this functionality a bit more, but my recommendation for now would be to carefully note all of the dependencies configured in the system in a separate worksheet – and then map that worksheet back to any portfolio potentially impacted by dependencies.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew Lavinsky</dc:creator><pubDate>Fri, 10 Dec 2010 07:00:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Portfolio Management/default.aspx">Portfolio Management</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Project Server 2010/default.aspx">Project Server 2010</category></item><item><title>Good Practices in Documenting MOPS 2010 Security</title><link>http://blogs.catapultsystems.com/epm/archive/2010/12/05/good-practices-in-documenting-mops-2010-security.aspx</link><guid isPermaLink="False">/epm/archive/2010/12/05/good-practices-in-documenting-mops-2010-security.aspx</guid><description><![CDATA[<div class="ExternalClass8AF7B07E7147434492725A6FEEEFEB9B">
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">With the holidays fast approaching, and my family travel schedule starting to blend into my work travel schedule, it’s been a bit hard to maintain momentum with my blog posts.  Hence, with all due respect to my loyal readers, I am forgoing the brilliant, creative insights you’re used to, and instead mining some of my older 2007 posts to see what needs updating for the new 2010 environment.</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">This article is based off of a post I did in November 2009 which I am now updating in 2010. The general gist is to present a model for planning and, perhaps more importantly, documenting the Project Server security structure.  Seeing as I spent a couple of years preaching the gospel of ITIL, I am hesitant to call this a “best practice,” but I would go so far out on a limb to call it a “pretty good practice that seems to work for me, and that other folks have actually used with few objections.”</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">As usual, I welcome any and all recommendations for improvement.  In fact, I am sure that I will be revisiting these ideas at a later date after I’ve got a couple more 2010 installs under my belt.</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">Here’s the <a href="http://blogs.catapultsystems.com/epm/Media/Catapult_MOPS10_SecurityWorkbook.zip">link to the worksheet</a> that I am using.  Note that this was developed in Excel 2010, and as far as I can tell, data validation and lookup tables get a bit squirrely when moving from Excel 2010 to Excel 2007.</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">***</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">MOPS 2010 security can be broken out into two major chunks: functional requirements and configuration specifications:</p>
<h1 class="ExternalClassCD67015051494D2A867C1E537E3B915D">Functional Security Requirements</h1>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D"> </p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">Functional MOPS 2010 requirements must be broken out into language that the Business users (and approvers) will understand.  Typically, what that means to me is a simple matrix with the resource roles on the left, and then the key elements of the MOPS/SharePoint interface along the top.</p>
<div class="ExternalClassCD67015051494D2A867C1E537E3B915D">
<table border="1" cellspacing="0" cellpadding="2" width="750">
<tbody>
<tr>
<td valign="top" width="110"> </td>
<td valign="top" width="97">
<p align="center"><strong>PWA</strong></p></td>
<td valign="top" width="98">
<p align="center"><strong>Project Center</strong></p></td>
<td valign="top" width="120">
<p align="center"><strong>Resource Center</strong></p></td>
<td valign="top" width="125">
<p align="center"><strong>BI <br>Center</strong></p></td>
<td valign="top" width="10">
<p align="center"><strong>Personal Settings</strong></p></td>
<td valign="top" width="86">
<p align="center"><strong>Server Settings</strong></p></td>
<td valign="top" width="104">
<p align="center"><strong>Project Workspace</strong></p></td></tr>
<tr>
<td valign="top" width="112"><strong>Executive</strong></td>
<td valign="top" width="97">Read Only Access</td>
<td valign="top" width="98">Read all projects across the enterprise.</td>
<td valign="top" width="120">No access</td>
<td valign="top" width="125">Can view all reports.</td>
<td valign="top" width="10">No access</td>
<td valign="top" width="86">No access</td>
<td valign="top" width="104">No access</td></tr>
<tr>
<td valign="top" width="112"><strong>Project Director</strong></td>
<td valign="top" width="97">Read Only Access</td>
<td valign="top" width="98">Read permissions to all projects across the enterprise.</td>
<td valign="top" width="120">View all resources within department.  No edit permissions.</td>
<td valign="top" width="125">Can view all reports.</td>
<td valign="top" width="10">Full access</td>
<td valign="top" width="86">No access</td>
<td valign="top" width="104">Contributor access to all project workspaces in the organization.</td></tr>
<tr>
<td valign="top" width="112"><strong>Project Manager</strong></td>
<td valign="top" width="97">Read Only Access</td>
<td valign="top" width="98">Read all projects within region. <br>Write access to own schedules.</td>
<td valign="top" width="120">View all resources within department.  No edit permissions.</td>
<td valign="top" width="125">Can view specific document libraries.</td>
<td valign="top" width="10">Full access</td>
<td valign="top" width="86">No access</td>
<td valign="top" width="104">Read access to all projects within the organization.  Contributor access to their own projects.</td></tr>
<tr>
<td valign="top" width="112"><strong>Team Member</strong></td>
<td valign="top" width="97">Read Only Access</td>
<td valign="top" width="98">Can see only projects to which they have been assigned.</td>
<td valign="top" width="120">View their own assignments.  No access to other resources.  No edit permissions.</td>
<td valign="top" width="125">No access.</td>
<td valign="top" width="10">Full access</td>
<td valign="top" width="86">No access</td>
<td valign="top" width="104">Contributor access to their own projects.  No access to other projects.</td></tr>
<tr>
<td valign="top" width="112"><strong>Functional Manager</strong></td>
<td valign="top" width="97">Read Only Access</td>
<td valign="top" width="98">Read all projects within region.  No write access.</td>
<td valign="top" width="120">View their own reporting resources.  No edit permissions.</td>
<td valign="top" width="125">Can view specific document libraries.</td>
<td valign="top" width="10">Full access</td>
<td valign="top" width="86">No access</td>
<td valign="top" width="104">Read access to all projects within the department.  No access to other projects.</td></tr>
<tr>
<td valign="top" width="112"><strong>Administrator</strong></td>
<td valign="top" width="97">Full edit permissions</td>
<td valign="top" width="98">Full read/write permissions to all projects</td>
<td valign="top" width="121">Full edit permissions for all resources.</td>
<td valign="top" width="125">Full access.</td>
<td valign="top" width="10">Full access</td>
<td valign="top" width="98">Full access</td>
<td valign="top" width="107">Read/write access to all projects.</td></tr></tbody></table></div>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D"> </p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">Additional detail and elements can be added as needed, but generally speaking this may be sufficient to provide adequate documentation of the functional requirements in a single, easy to review format.</p>
<h1 class="ExternalClassCD67015051494D2A867C1E537E3B915D">Configuration Specifications</h1>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">Configuration specifications require a lot more time and forethought to develop.  Typically, I’ll use a virtual environment to configure, and in the process develop a security workbook in Excel (<a href="http://blogs.catapultsystems.com/epm/Media/Catapult_MOPS10_SecurityWorkbook.zip">see example here</a>).  Once I’ve done that, I’ll use the Playbooks tool to transfer the settings over to the target environment.  (<a href="http://blogs.catapultsystems.com/epm/archive/2009/09/08/migrating-project-server-settings-with-playbooks.aspx">Here’s a post I did a while back on Playbooks in 2007</a>, that I’ll also need to update for 2010.)  That’s a formula that has worked pretty well for me in the past.</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">2010 adds some security details, but doesn’t significantly change the model from 2007.  To me, the most significant security configuration changes reside in managing security delegation, controlling access to the PDP pages, and the BI Center.  I am still working out my best practices for documenting the first two, but have included the BI Center in the revised workbook.</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">Here’re a couple of key principles in managing and documenting Project Server security..</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">1) <strong><u>PWA Settings</u></strong> - To create a workbook for future use, either download the example I have posted, or simply go into the PWA Permissions and right click on the permission list.  You should get an “Export to Excel” option which will allow you to pull all of the security settings into a single Excel worksheet.  Make this your first worksheet in the Security Workbook, and configure appropriately.</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb1_2_2F96E77B.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb1" border="0" alt="image_thumb1" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb1_thumb_2F96E77B.png" width="644" height="309"></a></p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">2) <strong><u>Security Templates</u></strong> - The main challenge with documenting Project Server security is that each Group:Category correlation may have its own security settings.  This quickly becomes very difficult to document.  The easiest way to attack this challenge is to create a series of security templates.  Then, as security is assigned to each Group:Category correlation, the appropriate template can be used to define security.  In essence, that reduces the documentation burden to documenting a single table of all security templates, and then a second table of Group:Category correlations.</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb18_2_2F96E77B.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb18" border="0" alt="image_thumb18" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb18_thumb_2F96E77B.png" width="644" height="297"></a></p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">Note that I used the following abbreviations for security settings:</p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb19_2_2F96E77B.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb19" border="0" alt="image_thumb19" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb19_thumb_2F96E77B.png" width="239" height="135"></a></p>
<p class="ExternalClassCD67015051494D2A867C1E537E3B915D">For those of you not familiar with these terms, here’s the rundown:</p>
<div class="ExternalClassCD67015051494D2A867C1E537E3B915D">
<ol>
<li>Allow – one allow box checked.  No deny box checked. </li>
<li>Hard Deny – deny box is checked.  This overrides the allow box if it is checked as well.  No other category or group may grant this specific permission. </li>
<li>Soft Deny – neither allow or deny box is checked.  This means another category or group may grant this permission. </li>
<li>Not Relevant – the functionality is turned off in the PWA settings, and cannot be used throughout the instance. </li></ol></div>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776"> </p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">By using only security templates as the basis of your security planning, you can avoid much of the difficulty of documenting the Group:Category security settings.  Typically, I will create a number of security templates, document those in a single worksheet, and then create another worksheet to map the Group:Category correlations, and to identify which security template I use to apply security to that correlation.</p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">Here’s an example: </p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb3_2_2F96E77B.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb3" border="0" alt="image_thumb3" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb3_thumb_2F96E77B.png" width="644" height="111"></a></p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">Since some categories are RBS bounded, it helps me to note which correlations are filtered by the RBS. I can refer back to my Category Settings worksheet to identify those categories configured to filter projects or resources by RBS settings.</p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb5_2_2F96E77B.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb5" border="0" alt="image_thumb5" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb5_thumb_2F96E77B.png" width="644" height="228"></a></p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">3) <strong><u>User Groups</u></strong> - As a general rule, I like to create new groups, and not use any of the default groups – which seems to work better, especially when <a href="http://blogs.catapultsystems.com/epm/archive/2009/09/08/migrating-project-server-settings-with-playbooks.aspx">using the Playbooks tool</a>.  If you’re using the RBS, identify to which level each of the groups needs to be set.  That provides a useful reference for you later on when you go create the new resources and wish to validate that you did it correctly.</p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb7_2_5D843A33.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb7" border="0" alt="image_thumb7" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb7_thumb_5D843A33.png" width="644" height="112"></a></p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">4) <strong><u>RBS</u></strong> – If the implementation is using an RBS, I will go ahead and document that in my next worksheet.  Depending on how ambitious I am feeling, when I create the Resource Worksheet, I map it back to this worksheet and create a formulaic check to make sure that each resource, when assigned to a security group, is also assigned to the right RBS level.  This is done by looking up the security group they’re in, and then counting the number of periods in their associated RBS field, to ensure they all match up.  Note that one of the design principles I typically follow is to put each resource into a single security group (if possible).  That may not happen in every implementation, but it makes the administrative burden a lot easier.</p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb9_2_5D843A33.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb9" border="0" alt="image_thumb9" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb9_thumb_5D843A33.png" width="644" height="171"></a></p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">5) <strong><u>Categories</u></strong> - Make a list of all of your Security Categories, and include sufficient description.</p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb11_2_5D843A33.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb11" border="0" alt="image_thumb11" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb11_thumb_5D843A33.png" width="644" height="114"></a></p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">6) <strong><u>Category Settings</u></strong> - Make a table of all of your Category configurations.</p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb13_2_5D843A33.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb13" border="0" alt="image_thumb13" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb13_thumb_5D843A33.png" width="644" height="225"></a></p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">7) <strong><u>Group:Category Mapping</u></strong> – Define the security correlations as discussed in item #2.</p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776"><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb14_2_5D843A33.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb14" border="0" alt="image_thumb14" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb14_thumb_5D843A33.png" width="644" height="111"></a></p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">8) <strong><u>PWA Security </u></strong>- Typically the default PWA security settings <a href="http://www.epmfaq.com/ssanderlin/project-server-2007/adjust-the-default-project-web-access-permission-levels">are way to open for most companies</a>.  I like to ratchet them down.  (Note that I haven’t played with this too much in 2010, but am basing this observation off of 2007 where Project Managers by default had permissions to change the theme of the main PWA page for everybody.)</p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">Note for those new to the Project Server game that the SharePoint security model doesn’t necessarily map to specific user groups in Project Server.  What happens is that SharePoint identifies users based on specific Project Server permissions, and then slots them into specific SharePoint security groups.  So, for instance, anyone with Save Project permissions within Project Server for any project will be slotted into the Project Manager group.</p>
<p class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">SharePoint by default then uses four groups for synchronized Project Server users:</p>
<div class="ExternalClass64A9D8A4D97B4780A9A15DB69064A776">
<ol>
<li>Project Managers </li>
<li>Team Members </li>
<li>Readers </li>
<li>Web Administrators </li></ol></div>
<p> </p>
<p>For more information on how the security is mapped, and what specific permissions drive this mapping, see <a href="http://technet.microsoft.com/en-us/library/cc197668.aspx">this Technet article</a>.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb16_2_5D843A33.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb16" border="0" alt="image_thumb16" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb16_thumb_5D843A33.png" width="644" height="231"></a></p>
<p>9) <strong><u>BI Center</u></strong> – Since the BI Center is a separate site from the main PWA site, it is governed by its own security settings.  Configure those appropriately, and consider adding library or item level security.  That will have to be the subject of another post.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb21_2_0B718CEC.png"><img style="background-image:none;border-bottom:0px;border-left:0px;margin:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb21" border="0" alt="image_thumb21" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb21_thumb_0B718CEC.png" width="644" height="244"></a></p>
<p>The BI Center works much like PWA in the fact that it maps specific Project Server security to SharePoint groups.  More specifically, it maps Project Server Security to PWA SharePoint groups to BI Center SharePoint groups.  For more information on this mapping, please <a href="http://technet.microsoft.com/en-us/library/ee662106.aspx#ConfigureBIAccess">refer to this Technet article</a>.  Note that I do not address SQL permissions in this post, but probably will have to at some point in the future.</p>
<p>10) And that’s about it.  As I develop the security model, I may identify a selection of Administrative Security Procedures which may eventually be required: Phase Gate Review and Baseline Save, Creating New User, Transferring Project Ownership.  Typically, I may drop those into a final worksheet called Administrative Procedures.</p>
<p><a href="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb23_2_0B718CEC.png"><img style="background-image:none;border-bottom:0px;border-left:0px;padding-left:0px;padding-right:0px;display:inline;border-top:0px;border-right:0px;padding-top:0px" title="image_thumb23" border="0" alt="image_thumb23" src="http://blogs.catapultsystems.com/epm/Lists/Posts/Attachments/170/image_thumb23_thumb_0B718CEC.png" width="644" height="107"></a></p>
<p>So, in the end, at a minimum, to fully capture the configuration of MOPS 07 security settings, I have a total of 8-9 worksheets in a single workbook that should include all required data to recreate the security configuration in a brand new environment:</p>
<ol>
<li>PWA Settings </li>
<li>Security Templates </li>
<li>Security Groups </li>
<li>RBS (if used) </li>
<li>Security Categories </li>
<li>Security Category Settings </li>
<li>Group:Category Correlations </li>
<li>PWA Security Settings </li>
<li>BI Center Security Settings </li>
<li>Administrative Procedures (if required) </li></ol>
<p> </p>
<p>Note that this doesn’t include the security configurations on the Project Workspaces, but that may be a topic for another post.</p>
<p>Sample security planning/documentation workbook posted <a href="http://blogs.catapultsystems.com/epm/Media/Catapult_MOPS10_SecurityWorkbook.zip">here</a>.  The document is provided “as is” with no guarantees, warranty, etc.</p></div>]]></description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Andrew Lavinsky</dc:creator><pubDate>Sun, 05 Dec 2010 10:52:00 GMT</pubDate><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Best Practices/default.aspx">Best Practices</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Deployment/default.aspx">Deployment</category><category domain="http://blogs.catapultsystems.com/epm/archive/tags/Project Server 2010/default.aspx">Project Server 2010</category></item></channel></rss>
