Benjamin's profileApplepark LtdPhotosBlogLists Tools Help

Blog


    June 29

    SQL Server Native Client – 64 bit - Failed to build the OLAP cubes

    <dry – watching Wimbledon>

    Just a quick reminder that if you’re struggling with getting Analysis Services to build successfully one of the errors you might see is ….

    Failed to build the OLAP cubes. Error: Analysis Services session failed with the following error: Failed to connect to the Analysis Services server BenHowardSQL08. Error: Cannot connect to the repository. Analysis server: BenHowardSQL08 Error: Provider cannot be found. It may not be properly installed.

    This is basically letting you know that you don’t have the correct SQL Native Client installed.

    This occurred for me on a Windows 2008 box, using SQL2008 on another server.  All software was 64 bit.

    I used the following technet article as reference for the installation to get the cube bits loaded… (I had arrived onsite and the customer hadn’t done any cube configuration) http://technet.microsoft.com/en-us/library/dd285466.aspx and as per the article I downloaded and installed the Microsoft SQL Server 2005 Native Client from the Feature Pack for Microsoft SQL Server 2005 - December 2008 (http://go.microsoft.com/fwlink/?LinkId=142288).  This has a timestamp of Nov 2008 (and is called sqlncli_x64.msi)

    Knowing that everything wasn’t right, I hunted around again and installed the Microsoft SQL Server 2008 Native Client from the Microsoft SQL Server 2008 Feature Pack, October 2008  http://www.microsoft.com/downloads/details.aspx?FamilyID=228de03f-3b5a-428a-923f-58a033d316e1&DisplayLang=en.  This has a timestamp of July 2008 (and is called sqlcli.msi)

    This resolved the problem and everything works sweetly.

    Thanks to Brian Smith’s blog (and of course Brian for writing it) which pointed me in the right direction.  http://blogs.msdn.com/brismith 

    Cheers,   Ben.

    April 07

    Task Alerts and Reminders

    The following blog details the settings and email formats behind the task alerts and reminders page.  I originally wrote this in word using lots of tables and it hasn’t transferred very well to the web, apologies for that!

    Setting Up Task Alerts

    Each resource is able to configure the frequency of email alerts and reminders for upcoming and overdue tasks; additionally, Project Managers can also configure their resources’ email reminders. If a Project Manager configures email alerts and reminders for their resources, the Project Manager’s settings override those set by the resource.

    Task Alerts are sent immediately. Task reminders are sent daily, at a time set by the administrator (Server Settings | Alerts and Reminders)

    Manage My Alerts and Reminders

    To configure email alerts, click on Personal Settings | Manage My Alerts and Reminders. Note that this guide deals with Task alerts and Reminders only and not Status Reports.

    clip_image002

    Figure 12 - My Task Alerts

    The options on the screen are split into two sections, Task Alerts and Task Reminders. The following table shows the email format for each option.

    Setting

    Email format

    clip_image003

    Subject: Assignments have been updated on Project <Project Name>

    Project: <Project Name>

    Below are the latest schedule changes. Contact your project manager if there are any problems with the changes.

    You have been assigned to the following assignments.

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image004

    Subject: Assignments have been updated on Project <Project Name>

    Project: <project name>

    Below are the latest schedule changes. Contact your project manager if there are any problems with the changes.

    Your work assignments below have changed.

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image005

    The following tasks are scheduled to start soon.

    Project: <project name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image006

    The following tasks are scheduled to finish soon.

    Project: <project name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image007

    The following tasks are scheduled to finish soon.

    Project: <project name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image008

    The following tasks are incomplete.

    Project: <project name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image009

    The following tasks are currently overdue.

    Project: <project name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image010

    The following tasks could be overdue and incomplete.

    Project: <project name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    Configure My Resources Task Alerts

    It is possible for a Project Manager to configure email reminders for their Team Members. These settings override any Task Alert settings that a resource makes. Note that for task alerts, the Team Member refers to anyone assigned to tasks within a project that you own.

    clip_image012

    Figure 13 - My Resources Alerts

    The options on the screen are split into two sections, Task Alerts and Task Reminders. The following table shows the email format for each option.

    Setting

    Email format

    clip_image014

    Subject: SUBMITTED: New task request on Project <Project Name> by <Resource Name>

    <Resource Name> has submitted the following tasks.

    Project Name: <Project Name>

    Manager Name: <Resource Manager>

    Task Name: <task name> Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image016

    Subject: SUBMITTED: <Resource Name> has requested to reassign work on Project <Project Name>

    <Resource Name> has reassigned the following task.

    Project:<Project Name>

    Manager Name: <Project Manager>

    Task Name: <task name> Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    The task has been reassigned to the following resources.

    <New Resource Name>

    clip_image018

    Subject: Resources have submitted assignment updates

    The following assignments have been updated by resources.

    Reported to: <Project Manager>

    Project Name:<Project Name>

    Task Name: <Task Name>

    Assigned to: <Resource Name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    Comment:

    Note. Managers can set up Task Reminders for resources that can be sent to either the manager, resource or both. These are set up by checking the relevant radio button (Send e-mail to me only, send e-mail to team members only, or send e-mail to me and to team members). Reminders sent to the Project Manager are known as Manager Subscribed Reminders, and those sent to the resource are known as Manager Derived Subscribed Reminders. Each type of reminder contains the same specific task information, but has a slightly different header. The Manager Subscribed Reminders (those sent to the Project Manager) have the words Assigned to: associated with each task, and the Manager Derived Subscribed Reminders have the words Manager Name: associated with each task.

    Setting

    Email format – for Manager Derived Subscribed Reminders (send e-mail to my team members)

    clip_image019

    Subject: Task reminders - Microsoft Office Project Server 2007 notification service.

    Manager reminder: The following tasks are scheduled to finish soon.

    Project: <project name>

    Manager name: <manager name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image020

    Subject: Task reminders - Microsoft Office Project Server 2007 notification service.

    Manager reminder: The following tasks are currently overdue.

    Project: <project name>

    Manager name: <manager name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image021

    Subject: Task reminders - Microsoft Office Project Server 2007 notification service.

    Manager reminder: The following tasks could be overdue and incomplete.

    Project: <project name>

    Manager name: <manager name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image022

    Subject: Task reminders - Microsoft Office Project Server 2007 notification service.

    Manager reminder: The following tasks require updates.

    Project: <project name>

    Manager name: <manager name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    Setting

    Email format – for Manager Subscribed Reminders (send e-mail to me only)

    clip_image019[1]

    Subject: Task reminders - Microsoft Office Project Server 2007 notification service.

    The following tasks for your resources are scheduled to finish soon.

    Project: <project name>

    Assigned to: <resource name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image020[1]

    Subject: Task reminders - Microsoft Office Project Server 2007 notification service.

    The following tasks for your resources are currently overdue.

    Project: <project name>

    Assigned to: <resource name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image021[1]

    Subject: Task reminders - Microsoft Office Project Server 2007 notification service.Task reminders - Microsoft Office Project Server 2007 notification service.

    The following tasks for your resources could be overdue and incomplete.

    Project: <project name>

    Assigned to: <resource name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    clip_image022[1]

    Subject: Task reminders - Microsoft Office Project Server 2007 notification service.

    The following tasks for your resources require updates.

    Assigned to: <resource name>

    Manager name: <manager name>

    Task Name: <task name>

    Start: <start date> Finish: <finish date> Work: <work> Remaining Work: <remaining work> % Completion: <% complete>

    Enjoy,  Ben.

    MPUG events

    Just to let you know there are two MPUG events happening in the  UK.  The first is in London, and the second Manchester.  Details are below…

     

    Tuesday 28th April MPUG London Presents: Networking and Best Practice Presentation

    Members and non members are welcome at this event!!

    3:00PM: Welcome and Networking

    3:30PM: “Best Practices”

    5:30PM: Close and Prize Drawing

    We will have experts from Microsoft and the industry available to answer your questions and share best practices. This will be a great opportunity for attendees to learn tips in using project and project server and meet other project managers in London. We will have raffle prizes and appetizers for attendees.

    - from 3.00pm to 6.00pm at Microsoft London (Cardinal Place). 

    For more information and to register please visit MPUG at:

    http://www.mpug.com/Lists/Event%20Calendar/DispForm.aspx?ID=146

    We look forward to seeing you at the event! 

    The MPUG London team 

     

    30, April 2009 MPUG Manchester Presents: Reporting Using Microsoft Project and Project Server
    Members and non members are welcome at this event!!

    Presented by:
    Bob Walker, Technical Solutions Professional EPM, Microsoft Corporation. 

    Schedule:
    6:30 Registration, Appetizers and Networking
    7:00 Speaker and Q&A 
    8:00 Wrap up and drawing
    Presentation Overview:

    Reporting in Project 2007 and Project Server 2007, how to leverage the investment you have made:

    • What you can do out the box?
    • What you can do with a bit of SharePoint?
    • What you can do with a bit of BI (Business Intelligence)?

    Bob is one of the best project experts, so come to get some great information and bring your burning questions about Project.  We'll have free T shirts for anyone that can stump Bob with a good question.
    For more information and to register please visit MPUG at: http://www.mpug.com/Lists/Event%20Calendar/DispForm.aspx?ID=151 We look forward to seeing you at the event! 
    Best,

    The MPUG Manchester team 

     

    Full MPUG details can be found at http://www.mpug.com 

    I’ll see you at the Manchester event.

    Regards,  Ben.

    February 23

    Milestones - done or not?

    <Wolf Blass & Baileys!>
     
    Every now and then something nice happens in EPM, something that makes life simpler!  This happened to me before Christmas (where did the last 8 weeks go to?) so figured I'd blog this now..., however,  to get this to work I have to break one of my golden rules of not assigning resources to milestones - maybe it wasn't so golden after all.
     
    For this scenario to work you need to set the collaboration options for the project to % of work complete.
     
     
    Then assign resources to milestones (arghhh!) and publish the project (M1 and M2 below)
     
     
     
    and open the tasks in My Tasks.  You'll find that for statusing for the milestone tasks you now have a choice of Not Done or Done (instead of % complete).  Kinda neat and a very simple way to track milestones.
     
     
    Beware though, there are still issues (IMHO) regarding assigning resources to milestones (I'll blog some later), but for now, this is a great way to tracking milestone items.
     
    Good luck with project serve, sometimes it's surprising!
     
     
    November 11

    Cannot overwrite an OLAP database created outside of Project Server or by another Project Server Site.

    <coffee>

    Generally I don’t blog technical issues as there are lots of good technical blogs out there, but as no-one else seemed to have blogged this I thought I would.

    One on my customers has been up and running with Project Server on Analysis Services on SQL2005 SP2 for a few months now, and everything was progressing smoothly until earlier this week until the cube failed to build with the above error.  In truth we had seen this before on the test instance ages ago but had got around it by renaming the OLAP cube that we build – not really a sustainable option in the live environment.

    The issue relates to the Analysis Services Repository loosing track of which instance built which cube.  This might happen if two cube builds are running at the same time from two instances (eg a Live and a Test instance).  The site-id in the top level row for the cube can get blanked out and then it thinks the cube is it trying to build was created by a different instance. 

    The fix is easy – you just need to blank out the row in the repository (easy if the repository is SQL – harder for mdbs).  I re-built the repository from the script in the TechNet article, and then made sure that both my live and test instances of PWA were building cubes at different times.

    Just for completeness I’ve copied in the build text from the cube build process and the queue error.

    ===== Initiating cube build process =====
    [07/11/2008 10:52] Cube build request message has been added to the Project Server queue
    ===== Verifying and running pre-build server event handler =====
    [07/11/2008 10:52] Verifying and running pre-build server event handler
    ===== Determining database and cube structure =====
    [07/11/2008 10:52] Cube build initialization started
    [07/11/2008 10:52] OLAP database and cube structure was determined successfully
    ===== Building database and cubes =====
    [07/11/2008 10:52] Cube build session started
    [07/11/2008 10:52] Analysis Services session started
    [07/11/2008 10:52] Analysis Services session failed with the following error: Cannot overwrite an Olap database created outside of Project Server or by another Project Server Site.
    ===== Process Completed =====
    [07/11/2008 10:52] Failed to build the OLAP cubes. Error: Analysis Services session failed with the following error: Cannot overwrite an Olap database created outside of Project Server or by another Project Server Site.

    Error summary/areas:
    CBS message processor failed
    CBSAttemptToOverwrite
    Queue
    GeneralQueueJobFailed
    Error details:

    <?xml version="1.0" encoding="utf-16"?>
    <errinfo>
      <general>
        <class name="CBS message processor failed">
          <error id="17013" name="CBSAttemptToOverwrite" uid="575a7c3f-4fa8-4f51-83d2-42ff6694954b" CBSRequest="Setting UID=00007829-4392-48b3-b533-5a5a4797e3c9 ASServerName=projserv ASDBName=live ASExtraNetAddress=projserv RangeChoice=0 PastNum=1 PastUnit=0 NextNum=1 NextUnit=0 FromDate=11/06/2008 14:06:05 ToDate=11/06/2008 14:06:05 HighPriority=True" />
        </class>
        <class name="Queue">
          <error id="26000" name="GeneralQueueJobFailed" uid="09f63d97-9a07-48b7-a453-9873fcff415c" JobUID="c6e277d9-b898-40a5-83ea-07cbe5ca0bed" ComputerName="projserv" GroupType="CBSRequest" MessageType="CBSQueueMessage" MessageId="2" Stage="" />
        </class>
      </general>
    </errinfo>

    Many thanks to Brian Smith who was instrumental in resolving the issue.

    Enjoy….   Ben.

    August 05

    Microsoft Project Server 2007 Training

    <Brakspear Oxford Gold>

    If you've been looking out for training for Project Server or Portfolio Server training, there are now a few options...

    1.  Enterprise Project Management University - This has been running since Project Server 2003, and since that time has evolved from being a set of slide ware (though with lots of screen shots) to a full interactive course run in a virtual environment.  There are now four courses to choose from...

    IT Professional - Technical Implementation and Configuration of Office Project Server 2007

    Admin Professional - Functional Implementation and Configuration of Office Project Server 2007

    Office Project Server 2007 Developer Training

    Deploying Office Project Portfolio Server 2007

    Full details can be found at http://www.msepmu.com/courses.htm.

    The courses are delivered by trusted Microsoft Partners, and Applepark are pleased to say that they are delivering the IT Pro and the Admin Pro courses in the EMEA region.  We also delivered the 2003EPMU courses in EMEA, and an earlier classroom based version of the 2007EPMU courses in EMEA too (using a virtual PC in a classroom environment), so we've already had a lot of experience in delivering these courses.

    2.  Microsoft Official Curriculum courses for Microsoft Certified Technical Specialists

    MCTS - Enterprise Project Management with Microsoft Office Project Server 2007 - course 5928

    MCTS - Managing Projects with Microsoft Project 2007 - course 5927

    MCTS - Microsoft Office Project Server 2007 - Configuration

    MCITP - Enterprise Project Management with Microsoft Office Project Server 2007 - course 5929

    These courses are run by Microsoft Partner Learning Specialists (CPLS).  Xpertise training are running these courses in the UK.

    June 12

    Problems with Status Reports

    <dry again>

    Status reports have been around since Project Server 2003 (or even in 2002? - I can't remember), but I do know that I've had various problems with them in 2007, but haven't been able to specifically reproduce them in order to get a bug raised with Microsoft.

    My specific scenario was that when Status Reports where deleted users were still getting reminders to send the reports; in addition other Status Reports were successfully sent but actually never received by the Project Manager!  Both of these issues started after a few false starts with Status Reports, we'd created quite a few for testing purposes and then deleted them. 

    As part of the troubleshooting process I started delving into the published database and discovered that deleted status reports are not deleted, but marked as disabled.  In order to clean up the Status Reports I decided to clean up the database using some SQL scripts. 

    Here's the caveat - I'm no SQL guy, so though this worked for me there are no guarantees it'll work for you.  Also it's a semi manual task involving two separate steps; someone smarter than me can probably create a single script that does the same job - if you can - I'd like a copy.

    The 1st stage finds all of the records that need deleting; the 2nd stage deletes them.

    1st stage

    The 1st thing to do is to select the published database and then get the UID for the Status Reports that are set to False (i.e., deleted ones) - my DB is called project_live_published

    -- define the database ** yours will be different**
    use project_live_published

    -- get the SR_UID from SR_Reports that have been deleted
    select SR_UID from dbo.MSP_SR_REPORTS where SR_IS_ENABLED = 'False' 

    Use this output to as part of the next select statement to find all of the Response UIDs (SR_RESP_UID) from the SR_RESPONSES database.

    -- get the SR_RESP_UID for the "deleted" reports
    select SR_UID, SR_RESP_UID from dbo.MSP_SR_RESPONSES where SR_UID in
    ('EEBF89E1-6E74-4B88-9CE6-3B7F93EEAC62' ,
    '379BA18E-E98E-4FD8-AC83-5D8BF8ABF04A' ,
    '87BF5F35-843E-43FC-9EF6-9BB542E8677A' ,
    '7332150B-69AD-446A-A946-C08DFC57D3D9') order by SR_UID, SR_RESP_UID

    The output from both select statements is then used to select the rows that need deleting in the database.

    2nd stage

    The following tables are effected;

    SR_DISTRIBUTION; SR_SECTIONS; SR_RESPONSES; SR_REQUESTS; SR_REQUENCIES; SR_REPORTS

    My SQL script looked like this.

    -- define the database
    use project_live_published

    -- delete the records from SR_DISTRIBUTION
    delete from dbo.MSP_SR_DISTRIBUTION where SR_RESP_UID in
    ('225E71BD-C639-441B-8FD8-1983DBBD15D7',
    '086D6E61-EF43-40A8-AF4F-47982373FB88',
    'A6EC490C-55EA-4145-9508-59D6749CE29F',
    'D5CEEBF8-17DD-4D58-9E58-5B3587269620',
    '8D77214C-CA97-4FB1-9251-5BFFDD25B775',
    '17F9C2DA-69B5-45AD-9338-66624E6A79E8',
    'D2138BA6-3808-434F-A3EA-7BE1BF5AE028',
    '43185E36-0459-4BC6-93D1-88FF9E2E2D7D',
    '77BD3939-A2D1-4F2D-97DE-9CC99D69C0CA',
    '87437EA6-6576-4AF7-8EAC-A9009DD8F217',
    '5082CCDE-4683-4356-BE5C-DE4F87A5DAB1',
    '25061369-DD4F-4C22-A8F3-DFA4F5FAEA50',
    'AF777558-241C-488B-B951-E8A3C1D04FC1',
    'C1186BED-CD1B-4F4E-BD75-EE349BCBF0CE',
    '1656301F-2463-4900-994D-F3621C051754',
    'D82E51E9-A89A-41AF-86E1-0C0071A06647',
    'B625269B-A1D6-4353-99FB-11D499AA80CB',
    'AAB7359A-92DC-4416-9048-350C48BCFBC2',
    '3138136B-1427-41BE-A052-3AAD97C273AD',
    '49BB243C-0D97-40F0-AF54-545813FC5CC2',
    '3CB7EE4D-3A94-4090-A809-74317AC42A29',
    '3F61FB9E-FAE8-418C-BF22-779ACD71CE1E',
    'DC628EC6-01D4-4039-A1C1-AAE4737E27FD',
    '220CF8EF-6D55-4F6F-869E-AFAE68CF067D',
    'F9A3CDF0-A532-44C1-AA30-B10354890A9F',
    '39238C2C-F9FA-49F6-BA1C-CB1F8B1EB998',
    '65BD1BC4-B386-4E1E-AE39-DF81FDA61397',
    'F04C0A57-C166-43B9-BA00-EB7251074764',
    '99B8B405-9153-4C36-8A16-AE35C216A224'
    )

    -- delete the records from SR_SECTIONS
    delete from dbo.MSP_SR_SECTIONS where SR_RESP_UID in
    ('225E71BD-C639-441B-8FD8-1983DBBD15D7',
    '086D6E61-EF43-40A8-AF4F-47982373FB88',
    'A6EC490C-55EA-4145-9508-59D6749CE29F',
    'D5CEEBF8-17DD-4D58-9E58-5B3587269620',
    '8D77214C-CA97-4FB1-9251-5BFFDD25B775',
    '17F9C2DA-69B5-45AD-9338-66624E6A79E8',
    'D2138BA6-3808-434F-A3EA-7BE1BF5AE028',
    '43185E36-0459-4BC6-93D1-88FF9E2E2D7D',
    '77BD3939-A2D1-4F2D-97DE-9CC99D69C0CA',
    '87437EA6-6576-4AF7-8EAC-A9009DD8F217',
    '5082CCDE-4683-4356-BE5C-DE4F87A5DAB1',
    '25061369-DD4F-4C22-A8F3-DFA4F5FAEA50',
    'AF777558-241C-488B-B951-E8A3C1D04FC1',
    'C1186BED-CD1B-4F4E-BD75-EE349BCBF0CE',
    '1656301F-2463-4900-994D-F3621C051754',
    'D82E51E9-A89A-41AF-86E1-0C0071A06647',
    'B625269B-A1D6-4353-99FB-11D499AA80CB',
    'AAB7359A-92DC-4416-9048-350C48BCFBC2',
    '3138136B-1427-41BE-A052-3AAD97C273AD',
    '49BB243C-0D97-40F0-AF54-545813FC5CC2',
    '3CB7EE4D-3A94-4090-A809-74317AC42A29',
    '3F61FB9E-FAE8-418C-BF22-779ACD71CE1E',
    'DC628EC6-01D4-4039-A1C1-AAE4737E27FD',
    '220CF8EF-6D55-4F6F-869E-AFAE68CF067D',
    'F9A3CDF0-A532-44C1-AA30-B10354890A9F',
    '39238C2C-F9FA-49F6-BA1C-CB1F8B1EB998',
    '65BD1BC4-B386-4E1E-AE39-DF81FDA61397',
    'F04C0A57-C166-43B9-BA00-EB7251074764',
    '99B8B405-9153-4C36-8A16-AE35C216A224'
    )

    --delete the records from SR_RESPONSES
    delete from dbo.MSP_SR_RESPONSES where SR_UID in
    ('EEBF89E1-6E74-4B88-9CE6-3B7F93EEAC62' ,
    '379BA18E-E98E-4FD8-AC83-5D8BF8ABF04A' ,
    '87BF5F35-843E-43FC-9EF6-9BB542E8677A' ,
    '7332150B-69AD-446A-A946-C08DFC57D3D9')

    --delete the records from SR_REQUESTS
    delete from dbo.MSP_SR_REQUESTS where SR_UID in
    ('EEBF89E1-6E74-4B88-9CE6-3B7F93EEAC62' ,
    '379BA18E-E98E-4FD8-AC83-5D8BF8ABF04A' ,
    '87BF5F35-843E-43FC-9EF6-9BB542E8677A' ,
    '7332150B-69AD-446A-A946-C08DFC57D3D9')

    --delete the records from SR_FREQUENCIES
    delete from dbo.MSP_SR_FREQUENCIES where SR_UID in
    ('EEBF89E1-6E74-4B88-9CE6-3B7F93EEAC62' ,
    '379BA18E-E98E-4FD8-AC83-5D8BF8ABF04A' ,
    '87BF5F35-843E-43FC-9EF6-9BB542E8677A' ,
    '7332150B-69AD-446A-A946-C08DFC57D3D9')

    --delete the records from SR_REPORTS
    delete from dbo.MSP_SR_REPORTS where SR_UID in
    ('EEBF89E1-6E74-4B88-9CE6-3B7F93EEAC62' ,
    '379BA18E-E98E-4FD8-AC83-5D8BF8ABF04A' ,
    '87BF5F35-843E-43FC-9EF6-9BB542E8677A' ,
    '7332150B-69AD-446A-A946-C08DFC57D3D9')

    That worked nicely for me; however, we've just had a change of project managers so we might have to go through the whole process again!

    Good luck!

    May 01

    How to set up permissions so that Project Managers can Save their own projects, and open all others in Read Only mode

     

    This question comes up again and again, and I can't remember where I found this information from all those years ago (it applied to Project 2003), but I wrote it down and seem to use it for most clients.  It's easily adaptable for Project Server 2007 - one day I'll write it properly and update it for 2007!

    Project Server Security (P2003)

    Overview

    Project Server Security is complex. There are two types of permissions, five places to set them, and three conditions for each permission (allow/deny/soft deny). Appendix C & D of the Project Server Administrators Guide should be used for further reference.

    Permissions

    There are two types of permissions, data permissions (what data the user can see) and use permissions (what features the user can use). Each permission is not readily identified as to its type. Microsoft use the terms global for use permissions and category for data permissions. Additionally, they use the term Organisational Permissions, which are a set of permissions set for the whole organisation, and encompasses all of the use (global) permissions plus the 14 data (category) permissions.

    The Roles of Security Templates, Groups & Categories

    A security template is a predefined list of all the permissions (data & use). This list is ordered by permission area (admin, collaboration etc). Templates should ideally be named the same as groups.

    A Group is a collection of users. A single user can belong to multiple groups. The use permissions are determined at the group level, and therefore group membership is the primary factor is determining the functionality that a user has within the system.

    A Category is used to define the data permissions (hence Microsoft’s term, Category Permissions), i.e. what data can a user see, what actions can they perform on that data, and which views can they use to see the data. Categories are applied to groups, a single group can have multiple categories applied to it, and a category can be applied to multiple groups.

    The permissions applied to each user is therefore a combination of the categories and the group membership.

    Alloy/Deny

    Three permissions are allowed for any permission. They are ALLOW, DENY, and soft deny. Soft deny (blank) is implicit if neither allow nor deny are selected. If a permission is set to deny in one place the system, then that becomes an absolute deny everywhere in the system, even if the permission has been set to allow elsewhere. If the permission is blank then the decision as to whether to allow or deny the permission is made elsewhere in the system.

    Server Configuration Features

    This is available in the PWA Admin tab, under server configuration, in the Select the Features That You Want to make Available to Users in Project Web Access section. Either set these use permissions to ALLOW or DENY. It is inappropriate to have blank here. The permissions lists here are the use permissions.

    Templates

    Use the templates to define a set of permissions for a particular role. The templates contain data and use permissions. Only change a use permission here to DENY if you want to deny a permission for a particular group, that has been globally allowed (via the Server Configuration Features) above. This is the 1st opportunity to set permissions, so these should be set here to allow/deny as appropriate.

    Categories

    Categories define data permissions, and are further enhanced by data restrictors. Categories are assigned to groups, and a group may have more than one categories assigned to it.

    Groups

    The use permissions are set by the group. Assign the use permissions by applying the relevant template.

    Users

    Users are placed in groups. Never assign permissions to a user, troubleshooting the security will become too complex.

    Recommendations

    Security should be established in the following order

    • Set universal allow/deny in server configuration
    • Define the roles within the organisation, and create a security template for each role
    • Define groups and assign data permissions using the template
    • Define the categories, and assign them to the groups
    • Assign resources to groups

    See figure1. below for a graphical view of this.

    clip_image002

    Initial setup for Acme PLC

    The following was set up on the live system for Acme PLC and used as a basis for security.   What I've done here is create categories called GROUP_NAME - See Everything.  Within the category set up you need to select the button that says - See all future Projects/Resources in the Database.

     

    Templates

    Resource managers - see everything

    Execs - see everything

    Portfolio managers - mod all (no admin)

    Project managers - see everything

    Team members - see everything except money

    Categories

    Resource managers - see everything

    Execs - see everything

    Portfolio managers - mod all (no admin)

    Project managers - see everything

    Team members - see everything except money

    Groups

    Resource managers -> CATEGORY = Resource managers - see everything

    Executives -> CATEGORY = Executives - see everything -

    Portfolio managers -> CATEGORY = Portfolio managers - mod all (no admin)

    Project managers -> CATEGORY = Project managers - see everything - *When you make this assignment for the  category you need to enable the category permission to open all projects in the database, but not to save them*

    -> CATEGORY = Project managers

    Team members -> CATEGORY = Team members - see everything except money

    April 24

    Changing the Project Manager

     

    During the lifetime of a project it is sometimes necessary to change the Project Manager (due to a leave of absence).  The process to do this has changed between 2003 and 2007. 

    There are three areas to be concerned with

    1.  Changing the Project Manager; Changing the status manager; replacing any PM resources.

    Before you start on any of the above, make sure any updates to the project have been accepted, and that any changes have been fully published.  This results in lots of emails too, so worth making team members aware of what is happening.

    1.  Change the Project Manager

    This is done in PWA.  Select the project and Edit the Project Properties, and change the Owner to reflect the new Project Manager.

    image

    2.  If necessary, change the Status Manager.

    As the new project manager, open the project in Project Professional.  Insert the Status Manager Column, and change the status manager for each task to be the new project manager. 

    image

    Note that it is not possible to change all the tasks at once, but it is possible to use CTRL-D to copy the changed status manager field down.

    image

    3.  If the old PM has assignments on the task, then these need to be changed too.  There are 3 scenarios for the task

    a.  The task is completed and has zero remaining work - these tasks will not be effected.

    b.  The task is partially completed, therefore has Actual Work and Remaining work values associated with it. 

    c.  The task is not yet started.

    image

    The approach to replacing resources for all three scenarios is the same, and this should be done by using the Replace function within the Build Team from Enterprise Tool.

    image

    Here we are going to replace Ralls Kim with Allen Tony, by highlighting them both and clicking on the Replace button.  If Ralls Kim already has actual work associated with a task, then the following information box appears.

    image

    If a task is 100% complete, Project asks if you want to move the work to the new resource.  Note it doesn't tell you which task, and the correct answer is Cancel.

     

    image

    For Task 1 which already had actual work on it, Project assigns the remaining work to the new resource.  This is shown in the split lower split window for the Task 1.  (in our system here Allen Tony has limited availability so the task has been been split and automatically rescheduled).  The actual work completed by Ralls Kim has remained in place.

    image

    Finally, Save and Publish the project to make Team Members aware of their new responsibilities.

    February 01

    How to move a sub Project Workspace to another programme site.

    Introduction

    This blog details how to move the WSS workspace between sub-sites. This may occur if a project is moved between programmes (setting up a programme is discussed in this  blog here http://appleparkltd.spaces.live.com/blog/cns!EB0688A7A6F04E1D!307.entry 

    Process Overview

    By default, Microsoft Office Project Professional 2007 creates a project workspace site on Windows SharePoint Services 3.0 when it publishes a project. When a sub-project creates a workspace, the user has the option of also creating the project workspace as a sub-site of the programme. This creates a hierarchy of sites as shown in Figure 1, where Programme1 has two sub projects (A & B), and Programme2 has two sub projects (C & D).

    clip_image002

    Figure 1 - Programme and PRoject Workspace relationships

    If Project C is moved between programmes (due to reorganisation or setup issues) then the WSS site by default  not moved. The following steps show how to move the WSS site. The example will show Project C moving to be part of Programme1 (Figure 2).

    clip_image005

    Figure 2 - Project C has become part of Programme1

    In order to move the Project C sub-site to sit beside Projects A & B it is necessary to perform the following steps.

    1. Export the original site to a file

    2. Create a new site as a placeholder for the migrated site

    3. Import the original site to the new placeholder site

    4. Change the site address to reflect the new site in the Manage SharePoint Sites page

    5. Delete the original site

    Export the original site to a file

    On the Project server, open a command window and navigate to the following location

    C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN

    Type in the following command

    stsadm –o export –url <url> -filename <filename>

    The <url> is the url of the site that you wish to export and the filename is the output file.

    When the command has finished there should be a file called <filename>.cmp in the directory.

    Create a new site as a placeholder

    Navigate to the programme workspace where the new project is to be located, and create a new sub-site from the site actions tab. The site that you create must be a Project Workspace, and for ease, the URL name should match the original URL. Finally check the radio button so that the site is not displayed in the quick launch area.

    clip_image008

    Figure 3 - Create the new placeholder site

    Verify that the new site has been successfully created by accessing it.

    clip_image011

    Figure 4 - Verify The new site is created – Note the Breadcrumb showing Programme1

    clip_image014

    Figure 5 - The three subsites now show under the Programme1 workspace

    Import the original site into the new site

    Once the new site has been created, it is time to import the exported data from the original site. This is a similar process to the original export.

    On the Project server open a command window and navigate to the following location

    C:\Program Files\Common Files\Microsoft Shared\web server extensions\12\BIN

    Type in the following command

    stsadm –o import –url <url> -filename <filename>

    The <url> is the url of the site that you wish to import and the filename is the input file.

    When the command has finished, refresh the new project workspace site and check that the new content exists.

    clip_image018

    Figure 6 - Note the imported content on the new site

    Change the site address to reflect the new site in the Manage SharePoint Sites page

    In order to link the new site to the project, it is necessary to change the site address. In PWA, navigate to Server Settings | Project Workspaces. Select the relevant workspace and click on Edit Site Address. Modify the address so that it points to the new Project Workspace within the correct programme.

    clip_image020

    Figure 7 - Modify the site address to reflect the new site

    Once the site address has been modified, click on Synchronise to update the permissions on the new site.

    Delete the original site

    The original site still exists and so it needs to be deleted in order to remove it from the original programme. Navigate to the site, and within Site Actions | Site Settings and then Delete this site. Caution, ensure that you are deleting the right sub-site, and not the programme site.

    December 27

    Creating the Perfect Plan

    Introduction

    Okay, so there is no such thing as the perfect schedule, but there are good and bad practices for creating a schedule using Microsoft Project. Some other tools don’t allow some of these bad practices, but Project just goes ahead and lets you do it – this allows lots of flexibility but if you’re not exactly sure what you are doing then it can lead to some “interesting” results. So here’s my list of best practices for using Project, and this might get you a little closer to the perfect schedule. There are a couple of tools which will help with some integrity checking of project plans, either for Project Server or for the client, post a comment or email me if you want further details and prices.

    Learn the formula that Project uses to schedule

    Project uses the following formula for calculating the schedule; Work = duration * units. Learn it, understand it, do the algebra and enjoy it! Without this understanding you will always be frustrated with Project.

    Set the Project Start or Finish date

    Instead of placing a constraint date on the 1st task in a project to define when the project starts, set the Project Start date or Finish Date as required.

    clip_image002

    Figure 1 - Set the Start or Finish date of the project

    All tasks should be linked

    Following on not linking summary tasks, every task such have both a successor and predecessor, except of course the last task and first task. Thinking about these relationships help you identify the relationships between the tasks.

    Minimise the use of constraint dates

    Using constraint dates stops Project from dynamically scheduling the project schedule. Instead, learn to use the different task types and scheduling options, including FS, SS, FF and SF types, plus lags times (in terms of days, % of the task durations and –ve / +ve lags). Sometimes it really is necessary to use constraint dates, (e.g. Must Start On), but learn how and when to use them, and read and understand the scheduling messages that Project gives you.

    Note that if you manually type in a Start date, or drag a task on the Gantt Chart, then a constraint type of Start No Earlier Than is applied to the task.

    clip_image004

    Figure 2 - Define the Task Dependency and lag

    Instead use deadline dates

    Deadlines are very useful, but not often used – so instead of setting a constraint, set a deadline instead, and project will warn you if you’re going to miss the deadline.

    clip_image006

    Figure 3 - Set the deadline and project will tell you if it won't meet it!

    Learn about task types

    There are three task types, fixed effort (the default), fixed work and fixed duration. If you don’t understand what they mean, then I suspect you don’t understand the scheduling formula of Work = duration * units either.

    Milestones tasks should not have resources assigned to them

    Again, I see this with customers and it really is bad form. Milestones should identify a point in a project (often a deliverable, e.g. “code complete”), and hence don’t need resources assigned to them.

    Don’t assign resources to summary tasks

    In fact, don’t assign anything (costs, resources, % complete etc) to summary tasks. Summary tasks are just that, summaries of the tasks below, so if you manually change any of the values then the values of the summary tasks won’t make sense, so don’t change them!

    Don’t link summary tasks

    How many times do I see customer’s doing this? It won’t cause corruption if you do, it’s just that really you should only link actual tasks, rather than summary tasks. So instead of linking summary tasks (which are often phases in a project) consider creating a milestone exit task and a start task for each phase.

    Project Auditing tools

    There are various commercial auditing tools available. The following screen shots give you an idea of their potential.

    clip_image008

    Figure 4 - Server based auditing tool

    October 13

    Fun with Analysis Services!

    <dry - again!>

    Gee'd on by too many nights in hotels, I started briefly messing around with Analysis Services, and I started thinking that there must be so much you can do with this tool than the basics that you get out of the box. 

    My main reason for this was that I wanted to get a view of availability in terms of days (rather than the default hours) for specific resources, and in particular, I was interested in people who are over allocated, i.e., have a negative availability.  So I'll show you how to build this type of view, though once you get into it, you'll learn a whole lot more, just as I have.

    So, start off with a blank view using the MSP_Portfolio_Analyzer cube.

    Then, making sure you have the tool bar showing, select the Calculation button and create a new calculated field.

    image

    The following formula calculates availability (you can put this as a calculated field in the cube too) and then divides it by 7 (the number of hours in each day as defined in our Enterprise calendars)  

    ([measures].[capacity] - [measures].[work])/7

    image

    Click Change and the value will appear in the data section of the Pivot Table.

    image

    To clear up the decimal points, click on the format tab and type in #,# in the Number field, this rounds the days to the nearest whole day.

    image

    and puts in the separator for the thousands...

    image

    Now, add the resources as row fields.  Obviously you may want to apply a filter, probably by RBS, or, if you've set one up, OBS or similar.

    Adding a time dimension is required so that we can view over allocations over the coming weeks/months.

    image

    To highlight the resources with negative capacity, we can format the cells and also group them by sorting them in either ascending or descending order.

    image

    image

    All over allocated resources are grouped on the pivot table (and consequently any pivot chart).

    Further more, we can drill into the month and get weekly details, which can be graphed too, so we begin to see by how many days each resource is over allocated in each week.

    image

    image

    Enjoy,  Ben.

    August 31

    Master Projects

    <red plonk>

    I have to admit, I do like Master Projects, Microsoft appear to have got these right in this edition of Project Server and overcome the limitations of double resourcing that existing in 2003. 

    History

    Master Projects have been around for ages, and have generally been used to get a programme type view of all the work across multiple projects.  This was great for a single user, but broke in the 2003 server module.  Master Projects are created by inserting (Insert | Project) existing projects into a new project plan, and thus allow the viewing of multiple projects at once, and hence brings the power of the project client to bear on a programme (filters, views etc).

    image

     

    PS2007

    With EPM2007, Microsoft still use the Master Project concept, no-where do they call them programmes and hence Microsoft don't have a separate concept for a Programme Manager.  However, Master Projects can be used for programme management, but as with all things EPM, the programme needs to be set up correctly in the 1st instance.  I'll run you through that setup for a fictional piece of work.

    Set up the Programme Outline...

    The "programme manager" is basically a project manager, they have the same permissions etc.  You might want to create a separate Programme Manager group within PS2007 to identify the programme managers, but this is not necessary.  So, in order to create the programme, the programme manager creates the programme (or master project) and then inserts the projects into the programme and creates the necessary WSS sites. 

    Create the Programme.

    I would start by defining the programme tasks.  For this fictional programme (called Heathrow Programme), I've created a single fixed duration task called Programme Management which has the programme manager allocated 100%.  I've then created a weekly meeting which has the other resources (project managers in this case assigned to it).  The screen shot below shows this.

    image

    The next task is to Save and then Publish the programme.  Publishing the programme and then the projects in the right order is paramount so that the project WSS sites can be created as WSS subsites.  Note at this stage I've not yet set up any sub projects, but that's okay.

    image

    If you use WSS, then create the WSS site when you publish the programme.

    Once the programme is published, it's time to create the projects.  Do so within Project by clicking on CTRL-N for a new project.  Create the project tasks in the usual way.  Here's one of the projects that will be part of the programme.

    image

    Then save and publish the project.  When it's published, be sure to select to provision the workspace as a sub workspace of the Heathrow Programme.

    image

    Repeat this for any other projects that are part of the programme.

    Once all the projects are published, close them and return to the master project.

    In the master project, click Insert | Project, and select the projects to insert, one at a time. 

    image

    Once the projects are inserted, they can be expanded and viewed as below.

    image

    The next part of the process is to save and publish the Master Project again.

    That's the set up of the master project completed.

    WSS sites

    When we published the sub projects, the WSS site was provisioned as a sub set of the Heathrow Programme.  These can be viewed as sub sites within the Heathrow programme.  This allows for all information in the programme to be kept in a single place.

    image

    Project Centre Views

    Within the Project Centre, it is possible to view the master project.  Drilling into the Heathrow Programme allows us to see both the tasks for the programme and the tasks within each sub project. 

    image 

    There is also the option to show or hide the inserted projects from within the project centre view.

    image

    OLAP cube details.

    When the OLAP cube is built, the Programme is handled correctly as can been seen from the following screen shot.  The Heathrow Programme expands to show the work in the sub projects for each resource.

    image

    Deliverables.

    As discussed in a previous article, deliverables and dependencies can be created between projects.  This links nicely into the programme concept.

    Summary

    If you plan and take time to set up master projects correctly, they'll provide another level to your project management capabilities.  As usual with Project and EPM, a little bit of planning and forethought will go a long way.

    Enjoy,   Ben.

    July 31

    Deliverables

    <budvar>

    Moving back to the scenarios, I wanted to give a rounded overview of Deliverables.

    Historical implementation of deliverables.

    A deliverable is a tangible and measurable result, outcome, or item that must be produced to complete a project or part of a project. Typically, the project team and project stakeholders agree on project deliverables before the project begins  Examples of deliverables would be

    • A set of training materials
    • A prototype product
    • An agreed statement of work

    Quite often, a deliverable or set of deliverables are tied into specific project phases, and logically that is a sensible thing to do; however, there is no technical requirement for this.

    Historically, we could always define deliverables within our project plan, we'd just call them milestones.  So for example, I could create a project plan to produce trainining materials, the last task of which is Training material Produced, which is a miletone.  Effectively this is our deliverable. 

    Project Plan to create training materials

    There are at least three limitations to the above (historical) method of defining outputs. 

    1. It is not very easy to see just the deliverables.  You need to create a custom task field and then create a filtered view. 
    2. You need to have access to the project plan in order to view deliverables, so sharing the goals and status of the deliverables with team members, stakeholders etc isn't that easy. 
    3. If you are trying to manage inter-project dependencies based upon deliverables, then a change in the schedule of one project plan will cause a scheduling shifts in other project plans - this is confusing to many project managers and it is time consuming to investigate.

    Microsoft's implementation of deliverables.

    Now, lets consider Microsoft's implementation of deliverables.   Microsoft have utilised the WSS 3.0 infrastructure to hold the deliverables, and as such deliverables are published as a SharePoint list of committed dates.  So, you cannot create deliverables until the project is published, because it's at the publishing stage that the option to create the WSS site appears. 

    If we look at the three limitations defined above, we can see if they've managed to solve the historical limitations

    1. A deliverable name field (and various other fields) are available in the table section of Project, so it's very easy to create a view that shows any deliverables.  Also, though Microsoft don't ship a pre-configured filter, it is very easy to create a filter called Tasks with deliverables that just shows those tasks that have a deliverable attached to them (I'll show you how to do this later)
    2. Deliverables are published as a SharePoint list of committed dates, so anyone with access to the Project Workspace can see the deliverables and dates.  They are displayed in the SharePoint Gantt view, so they appear in a familiar format
    3. Other project managers can create a link to your deliverable, thereby modelling the inter-project dependencies, without causing any scheduling shifts between the project plans

    So, given the above, deliverables appear to be a very useful little peice of functionality.

    Creating a deliverable from within Project Professional

    There are two ways to create a deliverable for a project, the first is to do this from within Project itself, the second is from the Project Workspace.  I'll concentrate on doing this from Project.

    Once a project is published click on the Collaborate | Manage Deliverables menu.  This opens a new Deliverables task bar...

    From here, it is straight forward to create the deliverables for your project. 

    If you link a deliverable to a task, then the deliverable inherits the task name, start and finish dates.  You can change these dates to reflect the committed deliverable dates (as opposed to the task dates).  This allows you to build some "slack" between your published deliverable dates and your internal scheduled dates for doing the work.  The deliverable is shown on the Gantt chart view, and an icon is displayed in the indicators column.

    In the above screen shot, a deliverable has been created called Deliver training material to customer, with a deliverable start and finish date of 10/25/07.  The deliverable has been linked to the milestone task of Training material Produced.  Note that if the schedule slips, then the deliverable dates will not be effected.

    From within the Project Workspace, the deliverables are displayed as a Gannt chart.  This view of the project deliverables would be the view that stakeholders, team members and other interested parties would see.  Note that in the screen shot below, the Deliver training material to customer deliverable is shown as a milestone, as it starts and finishes on the same day.

     

     

    Creating and amending deliverables from within the PWA browser

    As previously mentioned, it is possible to create a deliverable from within PWA.  This is useful if you have a role such as a client manager, or programme manager who is responsible to determining the deliverables that the project has to deliver, and wants to detail these on a Gantt type interface.  The project manager is then able to synchronise these deliverables with the project plan.  It's an easy way for the programme manager to collect and detail the deliverables, but I think from a process perspective I wouldn't want to rely soley on this.

    To create a new deliverable, click on the New button and fill in the relevent information.  Within this UI the you can add a fuller description and, more importantly, attach a file to the deliverable.  The file could be an artifact such as a customer sign off or similiar.  Once created, deliverables can be amended using same UI. 

    All the deliverables are displayed in the Gantt type view, but note, this is not a dynamic schedule, the Gantt view just happens to be one of the views available within WSS3.0, so EPM takes full advantage of it.

    Red exclamation mark...

    Deliverables are held both in WSS and in the project plan.  Project Professional checks for discrepencies between the project plan and WSS, and if it finds any, it flags these up, and begins to guide the user as to what to do. 

     

    Essentially, it makes sense to have both the WSS and project plan deliverables synchronised, so after reviewing the differences between the WSS site and the project plan and making relevant adjustments, the project manager can select to accept all server changes.

    Once this has been done, the deliverable is held within the project plan, but it is not linked to any tasks, and is not graphically displayed within the Gantt chart.  Editing the deliverable allows it to be linked to a task,  and once this is done, it is displayed in the Gantt chart. 

    Deliverable fields & Filters

    Each deliverable has the following fields associated with it, and they can be displayed in the table section of Project Professional.

    • Deliverable Finish
    • Deliverable GUID
    • Deliverable Name
    • Deliverable Start
    • Deliverable Type - indicates whether a task is a deliverable (1), is a dependency on a deliverable task (2), or is neither (0).

    The Deliverable Type field is useful because you can create filters and groups on the deliverable type.   To create a filter to see what deliverables the project is going to deliver, create a filter with the following values.

    Applying the filter quickly shows us the tasks that had deliverables associated with them.

    We can modify the filter to quickly identify those tasks that are due to finish after the deliverable is due to start, ie we are going to fail to deliver these committed deliverables.  Create a filter as per below.

    Assuming our project plan changed, and re-working the CBT content took 3 weeks, the relevant area of the project plan would look as per below (note task

    If we apply the "Tasks with late deliverables" filter, only task 10 (plus the summary task 1) will show.  This gives us the opportunity to focus quickly on those tasks that we have committed deliverables to but that we are going to be late on.

     

    Dependencies on deliverables

    So far we have concentrated on pure deliverables, but we can extend this, but creating a dependency on a deliverable, in short, this is a way to manage cross project links, and therefore to manage programmes.  A dependency creates a link from one project, to a deliverable to another project.  In our above example, I've got a project that registers delegates for our CBT, however, I cannot register them until I have uploaded the course material for our delegates perusal.  So, I create another project plan called Register candidates, and then create a dependency from that plan to the deliverable Training Material uploaded to website.   After I have saved the plan, I can select the option to Manage Dependencies on Deliverables

     

    And then Add a new dependency

    And link it to the relevant task

    This External dependency is a type 2 dependency (see dependency type above), and is represented in the Gantt chart as differently to the internal (type 1) dependency.  The default colour is yellow as shown below.

    Again, we could create a filter that shows which dependencies are going to cause us issues within the project plan.

    Reporting

    Deliverables are available within the OLAP cube, so for each Project/Programme etc you can see the number of deliverables.  It is all relatively easy to see so I'm not going to attach any screen shots from the OLAP cube.   This is good from an analytical point of view, but it's not much good if you actually want to see a description of the dependency etc.  Unfortunately, there is nothing out of the box that gives this descriptive information, so SQL Reporting Services becomes your friend here.  Fortunatley, the Project Server SRS Reporting Pack gives a solid example of deliverables reporting (project give and get) so it is worth downloading it from http://blogs.msdn.com/project/archive/2007/01/30/sql-server-reporting-services-report-pack-for-project-server-2007.aspx.  Again, it's relatively simple once the reports are up and running, so I'm not going to attach any screen shots here (they are available as part of the Reporting Pack anyway).

     

    Limitations

    There are pobably a few more limitations in addition to the ones below, if you can think of any, let me know.

    • If you link deliverables to a task (and I think this is a good idea), then you are limited to one deliverable per task
    • Deliverables are stored as a WSS3.0 list and therefore can only be created once a project is published
    • You cannot create dependencies on a deliverable between tasks within a master project, so in order to use dependencies on a deliverable within a programme, open the individual project file, rather than trying to do it within a master project.

    Links

    Chris Boyd's Project Programmability blog on deliverables - http://blogs.msdn.com/project_programmability/archive/2007/02/19/working-with-deliverables.aspx

    Credits

    Trebb Gate & Chris Boyd; plus others I will have forgotten so please accept my apologies.

    Thanks -

    any enjoy....  Ben.

    June 25

    Migrating from MSDE to SQL2005

    <black sheep>

    This blog is a move away from the scenario based blogs on PS2007 that I've been writing, instead it's an overview of a situation that I think will become more common as organisations upgrade their project server databases (and WSS2.0) to SQL2005 (either from SQL2000, or in some cases there is a requirment to do it from MSDE).  Normally this is done by the IT guys, but of course it's not as straight forward as they first think.

    This blog comes about from direct customer experience, and I don't necessarily have all the answers to hand, but it describes the approach I took and the pitfalls along the way.  Also, most of it is written from memory so use this as a guide only!

    Existing environment - the customer had a single server installation of PS2003 SP2a which had been running for about a year.  The installation used MSDE and WMSDE on the production box, both installed by during the initial installation.  MSDE is used for the Project Server databases, and WMSDE is used by WSS2.0 (the main differences between the two databases is that WMSDE removes the 4GB size restriction)

    Desired environment - a two server installation, leaving the existing application server alone, but moving the databases to a dedicated SQL2005 database server.

    Installation steps

    Step 1 - install SQL on the database server

    The first job was to install SQL2005 SP1 on the new server.  This was just a quesiton of following the instructions.  The SQL2005 setup is  different from SQL2000 so if you are not used to it then try it first.  SP2 had just been released, but we decided it was too risky to include this in the equation, so we stuck with SP1.   The SQL2005 install includes Analysis Services, so everything is nicely tied up in one installation and one SP install.  There aren't any instructions for installing SQL2005 for use with ProjectServer 2003, so I've given you a few screen shots to help.

     

    At the end of setup UI, SQL is ready to install and it gives a brief summary.

    Once the database is installed, it needs to be managed.  You need to install the workstation components in order to install the SQL Server Management Studio.

    Once everything is installed, it's time to install SP1.

    Step 2 - create a new PS database.

    My customer wanted a test environment creating in addition to the live environment, so I created a new DB and then ran the setupdb.cmd command to create the PS tables etc.  This has the added advantage of create the correct roles for ProjectServer.  The standard websps.sql script that setupdb calls need to be modified as the SQL statements between 2000 and 2005 are different, and websps.sql needs to be modified as below. 

      • Line 8781: select WASSN_ID from MSP_WEB_ASSIGNMENTS WAT2 WITH (index...
      • Line 19456: select WASSN_ID from MSP_WEB_ASSIGNMENTS WA WITH (index ...
      • Line 26315: select WASSN_ID from MSP_WEB_ASSIGNMENTS WAT2 WITH (index...

    The full details of these modifications can be found in the references section

    Once the database is created, you'll need to upgrade it to SP2a.  Again, you'll need to modify websps.sql in the SP2a installation directory as above.

    This should give a configured database, and allows us to test the connectivity from our application server to the db server.

    If your existing system isn't on SP2a, then I would perform an SP2a upgrade prior to moving any databases.

    Step 3 - restore the existing MSDE database

    Take the existing database from MSDE and restore it onto the db server.  For this I simply stopped the MSDE service, copied over the database files, and attached them an empty database on the db server.  Very simple indeed.  I've seen posts that say that the database needs to be run in SQL2000 compatibility mode, but this wasn't an issue for me.

    Step 4 - use Editsite to configure the ProjectServer database info.

    I restarted MSDE on the app server, and then ran editsite.  Just to be sure, I always run editsite to check everything is okay.  It's also a good way to verify database names and role names etc.  I made sure using Editsite and SQL Management Studio that the roles were correct etc, and then edited the existing ProjectServer instance in Editsite to reflect the new db server.  This part of the installation involved lots of checking and tweaking of the roles etc before getting it working.

    Step 5 - migration of WSS databases

    This should have been simple, as there are various KB articles (referenced) on how to move WSS2.0 databases.  However, I was unsuccesful in being able to move the databases and retain the integrity of the system, I think in part because when you do a WSS2.0 install onto WMSDE lots of decisons are taken for you, and I couldn't access the configuration database once I'd moved it.  So the upshot was to export the WSS data, run wsswiz to remove the ProjectServer templates (I'm not sure if this is exactly necessary but I did it anyway) then remove WSS2.0 from the app server, remove WMSDE, reinstall WSS2.0 and point the installation to the new db server, run wsswiz to reconfigure WSS and PS to talk to each other, install the WSS SP2a upgrade (from ProjectServer SP2a), run PSCOMplus to set the identity for WSS, link PS to the new WSS instance (via the ProjectServer Admin page), and import the WSS data (sites, docus etc) and then link the WSS sites back to the projects.  All in all there is a lot to remember here, and not too much is documented.   How I love WSS!

    This gives us a system that is now does exactly what we had before, but on a new database server.

    Step 6 - Analysis Services

    ProjectServer 2003 needs the following hotfix applied before it will connect to analysis services - KB 905386.  Note the scripts detailed will need to be run on each projectserver database.  There is much to download and update here, so expect it to take a while.  Plus MS can take 4+ hours to get the hotfix to you, so get it a few days beforehand.

    Step 7 - Test environment

    Using editsite, a test environment was created that used the original database I created using the setupdb.cmd command.  Remember that this database needs updating to SP2a, plus have the analysis services hotfix scripts run against it.  I had big issues here, the existing migrated database would connect, but not the new one, and I kept getting the following error "Cannot connect to <database> on <server> server" .  It came down to resetting the passwords for the SQL users (MSProjectServerRole etc).  Once this was fixed everything worked okay, but it stumped me for a while as I checked and rechecked everything.  Plus the error came back immediatley, and I didn't at first think it was a permissions problem. 

    References

    SQL statement modifications - http://blogs.lv0.net/mpatest/archive/2005/11/18/182.aspx

    Moving WSS databases - http://www.microsoft.com/technet/windowsserver/sharepoint/v2/movewsdb.mspx; KB 905386 

    Analysis Services hotfix - KB 905386; http://support.microsoft.com/default.aspx/kb/921116/

    SQL2005 and ProjectServer 2003 issue - kb917401

    Credits - thanks to Brian Smith, Bill Raymond and Kate Simpson and my customer - they are all unwitting collaborators.

    The end

    As is usual, 5% of the work above took 90% of the effort, it's always just one or two snags that take the time!

    enjoy....  Ben.

    May 21

    Timesheets - What are they, what do they do?

    <Oyster Bay Merlot, NZ>

    Introduction

    Timesheets are a completely new area for PS2007.  Okay, so PS2002/3 had a button labelled "Timehseets", but the main function was task statusing, rather than a true timesheet system.  So, Microsoft have invested a whole lot of time in this functionality, but the Timesheet functionality is therefore a v1.0 release, so expect lots of learning, some issues and some features that are lacking.  There's a lot to timesheets that could fill a book, so I'm just going to try and give an overview here.  Also, lets just be realistic about timesheets, the technical peice is the easy bit, embedding a timesheet process into any organisation is more difficult.

    Timesheets vs Tasks

    The 1st thing to understand is that Timesheets are a completely separate process to task updates.  Task updates (or task statusing) updates the task assignment with the relevant details as per the tracking method defined for the project or on the server (% complete, work done and work remaining or hours of work done per period).  Timesheets information is collected so that line managers can verify the hours worked per period, and can include both project work and non project (unverified) work.

    Timesheet process

    Nobody really likes completing a timesheet (having to complete a timesheet was a contributing factor for me leaving an employer once, long long ago...) so one of the design goals of timesheets is to have the ability to create a timesheet and prepopluate it with a single click.  Imagine it's Friday afternoon, and you have already completed your task updates (as these have been the drivers for your work during the week), then creating a timesheet pre-populates it with the tasks that you have have either actual work or planned work on this week.

    Prerequisites

    There are several things that need to be set up before you implement timesheets.  These are all available under Server Settings | Time & Task Management.

    Timesheet Periods

    Timesheet periods require defining before timesheets can be created - these are created in Server Settings | Time & Task Management | Timesheet Periods.  It's easy to create a bulk set of periods, but remember to use a prefix or suffix in order to make the timesheet period unique, eg TSCY07 for timesheets in calendar year 07.  Once the timesheet periods are defined then you are able to create timesheets.

    It is possible to set timesheet periods to closed, when this is done users can no longer enter time for that period.

    Administrative Time

    Non-working time or adminstrative tasks (holidays, training, admin time etc) are now part of the timesheet function, administrative projects (as existed in PS2003) no longer exist (unless they are imported as part of a migration).  Administrative time is entered as part of the timesheet, and can be set up to require approval from the line manger as required (eg vacation).  Administrative time, when created, can have a category of working or non working.  If the work type of the administrative time category is non working, then a calendar execption is created for the resource, thereby affecting the capacity of the resource.  This is a very neat feature which doesn't appear to be documented anywhere! (no doubt someone will point me to some documentation on the web somewhere).

    Creating a timesheet

    To create a timesheet, select the correct timesheet period (this will normally be the current period).  Clicking on Create Timesheet will create the timesheet with the default settings.  This setting is within the server settings and is either one of the one of

    • Create with default settings - the timesheet will display the Administrative Time categories marked with Always Display and the option selected for Default Timesheet Creation Mode.
    • Create with tasks - the timesheet will display the resource's current assignments. 
    • Create with projects - the timesheet will display the projects on which the resource has assignments.  No tasks are displayed.
    • Do not autopopulate - the timesheet is blank.

    Clicking directly on the Create Timesheet link with create it with the default settings, but it is also possible to select a drop down list to select one of the four options abolve.

    I suspect most organisations will set the default setting to be Create with Tasks, and once created the user will be able to modify it to reflect the work they did during the week.  The beauty with Create with Tasks is that it will take the task assignments that you and bring in the actual work, or planned work, and place that work in the relevant day in your timesheet.  Thus, for the majority of cases, a user should only have to add in non-project work (eg administrative time) or unscheduled (or unverified line items) in order to complete the timesheet.

    When you have created the timesheet, the user begins to complete the information as required.  Again, organisation processes will determine exactly what is needed.  The important thing to remember here is that users are looking to account for their time in the working week, so we're looking here to fill in 40 hours (or whatever your standard is).

    Here is the a standard timesheet created for Kim Ralls (one of the users in Microsoft's sample EPM system).  The important thing to note here is that Kim's planned time from her task assignments has been brought directly into the timesheet.   The example above actually shows that the resource manager in Kim's organisation (Litware) isn't really doing their job very well, as Kim has 24 hours of planned work each day.  Kim would obvioulsy modify the timesheet to reflect the actual work that she did.

    Kim can also administrative (or non-project) time as described above.

    Options

    There are various options for filling in a timesheet, they can be found under the Actions menu and whilst completing a timesheet line.  Generally, these all have to be enabled by an administrator within the Server Settings

    • Creating unverified timesheet items - these can be used to enter time into the timesheet that is neither project time or adminstratrive time.
    • Identifying billable/non billable time
    • Identifying overtime/non-overtime time
    • Identifying additional categories of time - e.g., this could be used to categorise External customer time vs Internal custer time

    Obviously, these settings have to be set appropriately by the adminstrator and will require maintaining.

    Submitting the timesheets

    Timesheets are submitted to your timesheet manager, and this field is defined, not by the RBS, but by a specific Timesheet Manager field held against each resource and editable via the resource centre.  If a resource is set as their own timesheet manager, then the system autogenerates the timesheet approval, otherwise the timesheet is submitted to the defined timesheet manager and they have the opportunity to either approve or reject the timesheet.  If they don't have the perrmissions to approve the timesheet, then the timesheet is marked as acceptable and is routed to the next approver as defined as the timesheet manager of the 1st approver.  If the timesheet manager blank then you will be prompted to enter a user to approve your timesheets; any administrative time will be auto approved. 

    Reporting

    There are no out of the box reports for timesheets.  There are two options, one is to use Analysis services and create a report that meets your needs, and the other is to develop a report using a tool such as SRS.

    Finally, if you don't want to use timesheets at all, then you need to do two things to make them disappear.

    • Make sure the timehseet manager is blank/null for all resources, this stops the system calculating how many timesheets you need to fill in on the homepage
    • Remove the link to the timesheet from the site map.

    I hope this has given you an insight to timesheets, there are various options and features that I haven't covered in this blog.  Maybe another time....

    Enjoy,  Ben.

    March 01

    Team Assignments

    <London Pride>

    One of the really neat features that will solve lots of business issues is the new team assignment feature.  Team assignments are a very easy concept to get your head around, but not particularly intuitive to set up.  Once set up though they really work well, just follow a few basic principles and you'll never look back.

    The usage scenario goes like this..., the project manager assigns the task to a team resource.  A nominated team leader can then view the team assignments, and divvy them up between the team members (I can imagine this happening during a Monday morning planning meeting).  Members of that team can then self assign themselves to the tasks, thereby changing the task assignment to the individual team member. 

    The 1st thing we need to do is to think about what teams we have.  In our scenario we'll mimick a customer that I've just been working with, they had four teams, and so we'll name the teams in the following manner

    LonLib.TIC.Networking

    LonLib.TIC.Infrastructure

    LonLib.TIC.PMO

    LonLib.TIC.Procurement

    Now, those of you who are astute will see the heirarchical nature of our teams is formatted in such as way as to sugget that they should be set up as Enterprise Codes, and of course, you'd be right :)

    So, having decided upon the name of the teams, we need to set this structure up in the Enterprise Codes.  Microsoft have done some of this for us, by definining an Enterprise Resource Code called Team.  However, we still need to set up a look up table to be associated with the code, so create a look up table called Team (or something similar).  Populate this lookup table with the team structure defined above, and then associate the Team Enterprise Code with the Team Lookup table. 

    Figure 1 - Create the lookup table to define the team structure

    That's the 1st bit of the set up done.

    The next peice of work is to set up our resources so that they are members of the correct teams.  This is dead easy, especially if you already have some way of grouping resources by team (perhaps these codes came over from a PS2003 migration, or you have set up the RBS).  If you can use a group by field to view the resources by team, then you can use the bulk edit faciltiy in Resource Center to apply the correct team to the resources, if not, select all the resources, click edit, navigate down the page to the Team Member section and select the correct resource to edit. 

    If you edit the resources individually, DO NOT click the check box for Team Assignment Pool.

    Figure 2 - Assocoiate the correct team name with the resources via Bulk Edit

    That's the 2nd bit of the set up done.

    Now, ideally we also want a resource which will represent the team.  I would suggest creating a resource with the team name, so in this example, I would have four additional resources and name them  Networking, Infrastructure, PMO and Procurement.

    So, back to resource center, and create the team resources.  This time, do click the check box for Team Assignment Pool, and also of course, select one of the teams from the drop down list.

    Figure 3 - Create the Team resource

    So, to recap, I've not got a Networking team resource that is called TEAM_Networking, it will have the Team Assignment Pool checkbox selected, and it will have the LonLib.TIC.Networking value selected from the Team Name: drop down list.

    That's the 3rd and final bit of the set up done.

    So, in order test this, create an assignment for the TEAM_Networking resource. 

    Figure 4 - Create a resource assignment for our Team resource

    Once this is saved and published, we can check the assignments for the TEAM_Networking

    Figure 5 - The TEAM_Networking assignment shows in the availability view

    Note that capacity does not calculate for the team, hence the availibity showns -8hr for the TEAM_Networking resource.

    So, now the team manager/lead would divvy up the tasks between members of his team, and the team members would self assign themselves to the team.  Log on as a user in the TEAM_Networking team and in the My Tasks view, click on the Self-Assign Team Tasks button, and select the tasks you want to do.

    Figure 6 - Self assign the team tasks

    The project manager (or assignment owner) will be notified of the update to the task, however they don't need to accept the update before the resource can perform work on the task, the resource can start work right away. 

    If however the newly assigned resource performs some work and then wants to reassign the task to another team member, then the project manager must accept the original assignment before the the reassignment can happen. 

    Figure 7 - Project manager accepting the task assignment.  Clicking on the task name shows the detail of the reassignment

    Enjoy - Ben.  www.applepark.co.uk

    Credits - Brian Smith, plus others...

    February 17

    Resource Plans - How to use them with a rolling project plan

    <dry>

    As discussed in my previous post EPM2007 allows for some new scenarios regarding resource management. This blog discusses using a resource plan in conjunction with a full blown project plan (termed an Enterprise Project), which enables us to perform rolling plan management. For the purposes of this blog I have defined an Enterprise Project as one which is edited in Project Professional 2007. Also, you need to read the previous blog in order to understand this one.

    1st, a couple of definitions:-

    Rolling Project Plan – one that never finishes, e.g. maintenance plans on a plant, painting the Forth Rail Bridge etc.

    Planning horizon - the number of weeks or months that an organisation creates detailed plans for. Beyond the planning horizon plans need further refinement.

    Horizon Date – the end date of the planning horizon.

    Let’s assume our planning horizon is 6 weeks, and we re plan on a weekly basis. We’ll start with a new Enterprise Project, which is as good a way as any, though of course, you could have started with a proposal or activity and then converted it to an Enterprise Project.

    Step 1 is to create our project plan and assign resources from the Enterprise Resource pool in the normal way.

    Figure 1 – Tasks 1-10 are well defined with estimates and assignments. I have not yet defined Phases 3-6 as they are beyond my 6 week planning horizon.

    I’ve planned for the next 6 weeks, with assignments, but I haven’t planned in detail beyond that, except to place some placeholders in the project for Phases 3-6, which I expect to take 3 weeks each. Note also I’ve not placed any dependencies on these phases, this is just personal preference and if I was to do so I would need to remove them at a later date as they will become summary tasks.

    If we have a look at the resource availability for our resource for the next 8 full weeks starting from this week we see the following screen shot. This nicely shows the demand for the 6 weeks we have planned in detail.

    Figure 2 - the assignments from the Enterprise Project are nicely shown.

    Now, we know that we’ll need some more of Brian Johnson’s time for Phases 3-6, but because I haven’t planned those tasks in detail yet I’ve haven’t got anywhere to place the assignments. I could of course (and this is how I would have had to do this in MSP2003), create some “holding” tasks and create assignments against them. However, if I wanted to have multiple resources assigned to a task, and have some of them allocated at less than 100%, then in order to reserve their time correctly, I’d have to create one task for each assignment and then change task the resource units in order to show the time properly. In addition, these tasks would be automatically scheduled… – argh, way too much trouble!

    So, step 2 is to create a Resource Plan to create the demand for the resources for the period beyond our planning horizon, currently for the period after 3/31/07.

    Within the Project Center, select the project plan. Mine is called Rolling Plan

    Figure 3 – Highlight the required plan and click on Resource Plan to create or edit the resource plan for the project

    Click on Build Team to select the resources for the resource plan.

    Figure 4 – Click on build team to assign enterprise resources to the Resource Plan

    I still want Brian Johnson to work on the plan, but I’m slowly going to decrease his work over the next 4 phases and replace him with David Ahs, who will have a corresponding increase in work. So I select both resources in the team builder menu….

    Figure 5 – Select the resources and add them to the team

    and add both resources to the Resource Plan. Next, I change the date range to suit so I can plan for so many weeks ahead. The key field here is the Calculate resource utilization from: and here you need to select Project plan until: and then in the calendar field, type in the horizon date. What we are now telling the system is this; Use the assignments from the project plan until the horizon date, and there after, use the resource plan.

    Figure 6 – The current planning horizon date is 3/31/2007 and the resource requirement changes throughout the period.

    You can see that I’ve started to decrease Brian Johnson’s requirement, to the point where in the final 3 weeks of my resource plan he is at 0, whilst David Ahs’ requirement slowly increases. I can’t show all the planning periods on the screen but it will become obvious when we view the resource availability.

    Save and Publish the resource plan, and then open up the resource center again to view the availability for the resources. We can see that our resource plan kicks in after the planning horizon date (3/31/2007), and we have resource demand even though we have no assignments on the project. The decreased requirement for Brian Johnson and increased requirement for David Ahs is very apparent.

    Figure 7 – Here we can see the result of the resource requirements from both the project plan and the resource plan. The project plan cuts of at 3/31/2007 and the resource plan kicks in after that.

    So that’s it. When you are testing this, make sure you work this through with correct dates etc, especially the date ranges in the resource plan, making sure they correspond to the chosen intervals. If you don’t you’ll get some data that is correct, but looks funny :)

    Enjoy – www.applepark.co.uk

    Credit to Trebb Gatte (again)

    February 09

    How to plan and track operational resources and time

    Resource Scenarios – How to plan and track operational resources and time

    (café latte)

    EPM2007 allows for some new scenarios regarding resource management, specifically regarding assigning resources to operational plans (and of course activity plans).  Microsoft have a specific type of project plan called an Activity Plan which can easily be is used for operational work.  An additional scenario exists for rolling project plans, but I’ll cover this in a later blog.  Example screen shots are attached.

    So, let’s deal with operational work.  In many organisations a significant proportion of budget is taken up performing non-project work, i.e. maintaining existing systems (I saw one quote recently that said that 75% of IT budgets are spent on maintaining existing systems, which suggests to me that IT organisations spend too much time just maintaining the status quo).  In order to model this operational time, we need to set up an activity plan that we can then assign a nominal 75% of our resource capacity to.  This then leaves 25% to be used for project work.  Holidays, sickness, training and other non productive work (we can argue whether training is classed as productive or not at a later date!) are excluded at this stage.  All we are simply saying is that, in this organisation, our time is split 75% to 25% between operational and project work.

    To set this up, Create a new Activity from within the Proposals and Activities view within PWA and begin to fill in the summary information. 

    The minimum information we should type in is the Name, Description and Start Date.  By default the Start Date is today’s date, in our example we have changed the date to match the start of our calendar year, March 5th 2007.  The plan owner defaults to the currently logged in user.  Any Enterprise Custom Fields will need to be selected as required.

    We now have the choice of specifying tasks in the Work Details view; however this is optional; it depends on the level of detail required for your reporting.

    So, we can click on  to save the plan, ignoring the work details screen, and then we can either Save the plan or Save and Publish the plan.  If we Save the plan without publishing it then it just remains in the draft database.  Draft plans have a different icon in the Proposals and Activities view.  In our case we will publish the plan later.

    So, all we have now is basically a project header with no tasks (because we ignored the work details screen) and no resource assignments.  In order to create a resource demand or usage against the project, it is necessary to create a resource plan.  Back in the proposals and activities view, we need to make sure the row containing our activity plan is highlighted, and click on Resource Plan.  Follow the rather obvious instructions in red by clicking on Build Team and select the desired operational resources to work on the activity plan.  Now we have resources allocated to the activity plan, but we don’t yet have any “assignments” or “demand”.

    We will place the demand on the system by assigning a work load by period (days, weeks, months or years) and by type (hours, days or FTE).

    We want to plan our work for the next calendar year (March 5th 2007 to March 4th 2008), and we want to reserve 75% of our two resources’ time for operational work.  (If we were planning this at this stage to just place a demand for a skill set, we could use generic resources instead).  The simplest way to do this is to click on Settings| View Options to expose further options to allow us to easily reserve this time.  In the Date range selection, we choose our calendar year (using the From: and To: dates), and select the Column Interval to Years.  Selecting Calculate resource utilization from: Resource Plan will mean that this resource plan will affect the resource availability in the enterprise resource pool.  Selecting Full-time equivalent for the Work Units: field will allow us to input .75 against both resources to represent our 75% operational work.  Click Apply to change the view so we can input the required utilisation.

    Type in .75 in the resource rows and columns.  Note that there are two columns, split over the calendar year.

    Click on Save and then Close.

    Because we did not publish the activity plan previously, our resource plan cannot be published and is therefore a draft plan.  We are able to review and modify our plans before publishing them for the rest of the organisation to see.

    Once we have finalised both our activity plan and associated resource plan, we can publish them.  Open the desired Activity plan and click Save and Publish followed by Close.  Open the resource plan and do the same.

    Checking the Resource Availability from the Resource Center shows that from March 5th 2007 75% of the resources’ time (6 out of 8 hours) is allocated to the activity plan.  The screen shot also shows the previous week for comparison purposes.

    So we have now successfully reserved 75% of our specified resources’ time for operational work.

    What we do next really depends on our specific business processes.  It may be that we need to monitor the 75% / 25% split of work.  One way to do this would be to monitor this monthly by collecting data from the timesheet function, and comparing the time booked against the system maintenance project verses other projects.  Note that in order to do this we have to use the build team function to assign the resources onto the project – we can do this easily using the Synchronise to Resource Plan function.

    Back to the Proposals and Activities view, select the Activity plan, and click Build Team, then click on Synchronise to Resource Plan and and Save and Publish to publish the operational plan with the assigned resources from the resource plan

    Within the timesheet, we can now see the operational plan and book our time accordingly.

    --Enjoy, Ben.  www.applepark.co.uk

     Credits - Trebb Gatte who originally blogged this type of usage of resource plans.

    January 19

    Oh no, not another project server blog...

    (Leffe Brune...)
    Oh no, not another project server blog... or maybe, yippee, perhaps this blog will provide some answers?  It depends on where you are coming from and what you are looking for, but if, like me, you are thinking that the whole MS EPM 2007 solution is now very big compared with 2003 and that you're now looking at months of reading and trying to work out 1), how do I get all this "technical" stuff working together and 2) what are the real value adds for my customers/organisation?, then this blog is for you.  Why am I so confident of this?  Well, that is exactly the place that I'm in currently, therefore, I'm proposing to use this blog to provide the following sort of information.
    1. Technical snippets of how to get things working*
    2. Scenarios for using MS EPM to provide business value to organisations
    3. Other useful snippets that every MS EPM consultant should have in their back pocket

    The content for this blog will come from real user experience (i.e., mine and my associates), probably based on what I've been up to in the previous month.  I'm planning on one article a month, it might be more, it shouldn't be less.

    I should mention that discussions on general project management practice will be out of scope, just google PMI/PRINCE2 for info on that topic.  Also, I'm not a polititian, therefore I will make mistakes, and if you let me know, I'll own up to them.  Life isn't perfect and neither am I.

    Potential future topics that I think would be useful...

    • PPS2007 overview
    • SRS2005 & reporting in general
    • Custom fields
    • MOSS integration
    • VBA
    • Analysis services
    • Migration
    • Forms Authentication
    • WSS admin - what do we MS EPM folks need to know

    So, that'll keep me going for most of 2007!  For those of you who are now linking to this site, it's only a test, IF I decide to make this official, I'll post the the new URL in a new blog/link etc.

    Cheers,   Ben.

    *Caveat - I'm not really a technical person, therefore I'll be linking (and crediting) the people who find the answers.  TIA to all those who will help :)