Deployment Practices: Required Fields
Few things are more frustrating then using a system and being presented with a field you MUST fill in to continue at a time when you don’t know which value is appropriate for that field. Project Server is no exception.
You can make any enterprise custom field in Project Server a required field. At the project level this means that a project cannot be saved until each of these fields contains a value. This is great if you know for sure that the project manager will always know which value to pick from the list at the time they first save their project. But if they don’t you have a couple of things that are going to happen and you need to be prepared for them and decide if they are your intended consequences.
- The project manager will NOT save their project until they find the answer (remember that the answer COULD be several days away.) Do you really want the PM to NOT save the project because they don’t have the answer to this one field? Where will they start their planning in the mean time? Where will their data go?
- The project manager will pick one of the values from the list just so they can save the project even if that value is not right. Remember that they may not remember to come back and fix it when they have the right information!
- The project manager will curse you (the administrator) and pray to their God that you be injured in some way very soon.
Number 3 is going to happen for sure, count on it. What you have to decide is if you want number 1 or number 2 to be happening while your curse\injury takes place. The easy way to avoid all three is to either NOT make fields required unless you 100% sure that the project manager will know which value pertains to their project OR provide them a “Not Yet Known” value in the lookup table.
I tend to prefer the “NOT YET KNOWN” option. It allows your views and reports to show which projects have complete field profiles and which projects are in need of more complete data. Just make sure that the people you have creating reports and views know to allow for this value in their filters. This means that if you want to show all projects where a field equals “X” or “Y” that it should also contain projects where it equals “Not Yet Known” because those projects MIGHT be "X” or “Y”, we just don’t know yet. :-)
July 7, 2008 in Consulting, Deployment Practices, Project Server, Project Server 2007 | Permalink
| Comments (0)
Deployment Practices: Why Resource Max Units Should Never Be 100%
Reason number one is that in all but the most extraordinary situations it is modeling a situation that is just not possible.
But first some background on what Max Units really is. Max Units defines the percentage of a resource’s full calendar working “period” that they can be assigned to work on tasks before Project sees them as being over-allocated.
Example:
A resource’s calendar says they come in at 8am and work until 5pm and take a 1 hour lunch. They do this Monday – Friday. That is an 8 hour work day\40 hour work week. So if the Max Units is 100% then if the resource is assigned to work 9 hours in one day they will be seen as over-allocated. Same for if they are assigned to work on 2, 1 hour tasks during the same hour. This goes down to the minute level too so if two 1 hour tasks overlap by 1 minute then for that 1 minute they are over-allocated.
This helps the PM create models of assignments and get an idea of how many hours each team member is being assigned to tasks and how that falls across time, other assignments, etc.
So now you might be seeing what is wrong with 100% Max Units. It says that if I work an 8 hour day, I am available to work 8 hours on tasks. On it’s face this sounds logical but dive a little deeper and it becomes obvious that this is just not possible. Nobody ever arrived at work at 8am, took a 1 hour lunch, and then left promptly at 5pm AND got 8 hours of work done on tasks. EVER.
OK wait, I take it back. It is possible that someone did this on your project: IF your project schedule has tasks for things like: going to the bathroom, answering non-project related emails, going to a company meeting, being tapped on the shoulder by your cube-neighbor and being asked for “just a quick 5 mins. of help” (that turned into 30 mins), the list goes on and on. So if your project contains a task for every possible distraction from YOUR project and you expect your resources to track all of that then never mind. You can set your Max Units to 100%. (just count on a lot of churn on your team.)
But for most of us it is not possible to work 8 full hours on PROJECT WORK in an 8 hour day. Doing so means that you were present for more than 8 hours so that all the other things had time in your day along side your real work. The best way to help our models (because that what project schedules really are: models of what we want our project work to look like) be more accurate is to lower Max Units to something more like 85%. That would be the highest I would ever go on any project I was managing. I have seen it set as low as 75% at some sites but generally I see 80-85%.
What this means is that if you have a 1 day duration task and you assign a resource that has an 85% Max Units value, Project will calculate the Work for that task to be 6.8 hours. This means that you are modeling that on average this resource spends 1.2 hours of their 8 hour day doing something OTHER THAN working on your project. A Max Units value of 75% means that 2 hours is spent doing other things. Of course some will get more than 6.8 done in a day and some will get less done. It depends on the nature of their job, their relationship with other projects, other teams, etc. So the value you set will never be perfectly accurate but it WILL certainly be MORE accurate than 100% which is nearly always wrong. The point here is to make your model as accurate as you can.
____________________________________________________________
I’m hoping to start a small series of Deployment Practices posts here covering things I have found to be useful ideas, practices or methods for deploying Project Server. Please email me if you have suggestions or questions.
June 27, 2008 in Deployment Practices, Project 2007, Project Management, Project Server, Project Server 2007, Resource Management | Permalink
| Comments (5)
On the RADAR…
OK it has been a while. <insert clever wisecrack about not being dead here>
I have been doing a bunch of the normal consulting thing these past few months. Helping customers better understand how to configure their Project Server environments around their business processes (and often helping them understand how their business processes might be changed to take better advantage of features.) I have also been doing some side-work projects.
- Working again on putting more meat on the bones for a framework for iterative design\build loops for early rollout\proof of concept phases in Project Server deployments.
- The early stages of an addin for Project Server that would allow administrators to control which projects a security category allowed access to based on some defined set of project level criteria.
1 is something that has been kicking around for a long time and I hope to get moving on soon.
2 is much more recent and I think also more exciting (which means it will likely get done first.) It would allow you to have a category that would give permissions to projects based on the value in a project level custom field rather than just on relationships to the project.
Email me your thoughts on either of these if you care to share them.
I will be better about updating. :-)
June 18, 2008 in Cool Stuff, Project Server 2007 | Permalink
| Comments (2)
Cool Sample PSI Apps and OLAP Info
Chris Boyd and Brian Smith do it again.
Check here for two cool sample applications, one for showing how to create, read and update custom fields via the PSI and another used for reading custom field data and then publishing projects, again via the PSI.
Check here for good info about OLAP cubes, Data Analysis (timeouts, plan guides and the tempdb)
February 28, 2008 in Project Server 2007 | Permalink
| Comments (0)
Project and Project Server SP1 Are Here!
The haters should note the date please. :-)
This TechNet article covers the how to (Read it before you update):
Here is WSS SP1:
http://www.microsoft.com/downloads/details.aspx?FamilyId=4191A531-A2E9-45E4-B71E-5B0B17108BD2&displaylang=en
Here is Office Servers SP1 (which includes Project Server and Office SharePoint Server):
http://www.microsoft.com/downloads/details.aspx?FamilyID=ad59175c-ad6a-4027-8c2f-db25322f791b&DisplayLang=en
Here is Project 2007 SP1:
http://www.microsoft.com/downloads/details.aspx?FamilyID=CEC3E1E2-D802-4A03-BC78-05C48472559B&displayLang=en
Here is the Project Server MUI SP1:
http://www.microsoft.com/downloads/details.aspx?FamilyId=D322BA67-B199-4503-8AFF-6813B320D708&displaylang=en
Here is the Office Server MUI SP1:
http://www.microsoft.com/downloads/details.aspx?FamilyId=3A6C26FD-0BEB-40D5-8CBA-15164FAAB150&displaylang=en
And for Good Measure here is the Office 2007 SP1 download:
http://www.microsoft.com/downloads/details.aspx?FamilyId=9EC51594-992C-4165-A997-25DA01F388F5&displaylang=en
December 11, 2007 in Office 2007, Project 2007, Project Server, Project Server 2007 | Permalink
| Comments (0)
Programmatic Access to Enterprise Custom Fields in Project Server 2007
If you have poked around VBA in Project Professional 2007 you may have noticed that there is not what I would call "direct" object model access to the enterprise custom fields you create in Project Server 2007. For one thing these fields are not like they were in Project Server 2003. In 2003 you got 30 Outline Code fields and you renamed them but via VBA you still accessed the field as OutlineCodeXX. In 2007 you create enterprise fields 'from scratch.' They are not just renamed fields. They are new fields. The object model is not dynamic in a way that allows it to add new members as they are created. This means that you cant just get to a field by the old method: Activeproject.Tasks(1).OutlineCode1.
To access an Enterprise Task field called "Task Alignment" you would use the following code:
Activeproject.Tasks(1).GetField(FieldID:=Application.FieldNameToFieldConstant(FieldName:="INSERT FIELD NAME),FieldType:=pjTask)
You use the GetField method. This method requires the FieldID. To get the FieldID (since it is unlikely you know it) you use the FieldNametoFieldConstant method.
October 22, 2007 in Project Server 2007 | Permalink
| Comments (2)
Default Assignment Owner
There are situations where the team members that are doing the actual work on tasks do not have ready access to a computer. This makes their use of Project Server Web Access to report status on their task assignments impossible or at least highly unlikely. In the past situations like this would require assigning the tasks to a supervisor and then having the supervisor submit status for the resources. But this was not a great solution as it obscured the usage levels of the actual resources and was confusing for the supervisor to keep track of who was assigned to any given task. Project Server 2007 adds a feature that makes this kind of situation much easier to handle.
Every Assignment on a project in Project Server has a property called "Assignment Owner" that contains the name of the Project Server user that will be entering status updates for that assignment. If the Assignment Owner for an assignment is "Brian Kennemer" then it will show up on my "My Tasks" page in PWA. Every resource in Project Server has a property called "Default Assignment Owner." This property defines the default name that is put into the Assignment Owner field when that resource is assigned to a task. By default it is the name of the resource but you can put any active user into the field for a resource. So in our situation above the solution would be to put the name of the supervisor into the Default Assignment Owner field for each of their team members. Then whenever a task is assigned to one of the team members that assignment will show up on the My Tasks page of the supervisor.
With this solution the tasks are assigned to actual team members so their usage and availability can be accurately tracked and the assignments show up on the supervisors My Tasks page for easy status updates (the name of the assigned resource shows up in the view to help the supervisor keep track.)
If you have this situation in your deployment look into this feature. If you need a hand drop me an email.
October 21, 2007 in Project Server 2007 | Permalink
| Comments (1)
Project Blog Search
Treb is a genius. He poked around with creating macros within the Microsoft Live search engine to create a special Live search page that searches just the blogs and other community sites that revolve around Project and Project Server. You can find it here.
February 23, 2007 in Microsoft Project, Project 2007, Project Server, Project Server 2007 | Permalink
| Comments (3)
And Circle Gets the Square!
Wow it has been a long time since I have posted. I would love to say that I have not had a free minute as an excuse but sadly I have had free minutes, not many but I have and I used them on my family instead of writing blog entries. Sue me. :-)
Some highlights since I last posted:
- Microsoft Office Project 2007 and Microsoft Office Project Server 2007 have shipped (along with the slightly less important to me personally: Office 2007 and a little product called Vista)
- I have been doing the technical editing\reviewing for several of the new books that will be coming out about Project 2007 and they are looking good. I’m doing one on SharePoint now and will have at least one more about Project and then one about Project Server that I will be working on later. I will let you know when they ship
- I have been working on some cool projects internal to Microsoft in the RPM space and on deploying Project Server to a few internal groups. Very fun stuff.
The biggest deal for me is that I submitted a paper to the Bill Gates ThinkWeek process and it was not only accepted but also read and commented on by Bill himself! There are over a 1000 submitted and only a handful are selected to be read by the broader ThinkWeek working group and an even smaller number are read by Bill and an even smaller number actually get feedback from Bill. So needless to say I was pretty excited. While I cannot comment publically about the exact subject of the paper suffice to say that it is about Project Server and it was well received. :-) It got the right group of people talking about the right subjects and it increased visibility of the product and it’s role. Exactly what I hoped it would do!
For those that do not know what ThinkWeek is:
What is "think week"? It is a week that BillG sets aside roughly every six months to think deeply about a range of topics impacting our company and the industry. Microsoft full time employees are encouraged to submit papers for think week - topics for the papers are broad ranging: new product ideas, promising research, trends that will affect Microsoft or the software industry, explanations of new technologies, suggestions for improving product development, etc.
It has been a very productive couple of months, just not in terms of the “blog posts per week” metric I used to use! :-)
February 5, 2007 in Portfolio Management, Project 2007, Project Server 2007 | Permalink
| Comments (1)
UPDATED TIME for BETA 2 TR Install WebCast!!
The time has been updated for the webcast tomorrow. Please note that it is now happening at 10am PDT instead of 9am!!
Webcast Title: How to install Project Server 2007 Beta 2 Technical Refresh (Beta 2 TR) – Repeat session Main Objective: To give an overview of how to install Project Server 2007 Beta2 TR and answer any questions you may have. Detailed instructions on the install are already available at:
http://technet2.microsoft.com/Office/en-us/library/2ff528e5-bd0d-41f9-832c-5ee386aa73b71033.mspx?mfr=true – you can go through this and have your questions ready !
Who will present: Microsoft Project Group members from Redmond, USA
When ?: Sep 15th, Friday, 10 AM to 11 AM PDT (Pacific Daylight Time). Click here to see what time this is where you live
Webcast Link: https://www.livemeeting.com/cc/microsoft/join?id=2Q2N7P&role=attend&pw=rg%2BSJG5DX If the meeting link does not work, please do the following: 1) Browse to: https://www.placeware.com/rm/microsoft/attend 2) Type your name 3) Type the Meeting ID as: 2Q2N7P 4) Type the Meeting Key as: rg+SJG5DX
Audio information: Toll free: +1 (800) 779-2592. Toll: +1 (210) 234-0027. Participant Passcode: 7749118.
Meeting format: "Internet Audio Broadcasting" will be enabled in the webcast – so you can listen to the audio via speakers in your computer (no need to join the conference call). There will be a person answering your questions other than the person presenting. There will be some polls that need your input.
Recording: The session will be recorded, we will send you the details of the recording after the webcast.
September 14, 2006 in Project 2007, Project Server 2007 | Permalink
| Comments (0)