Page 8 of 16

March 13, 2007

Space Needle


Weather was better than expected and I got a bit of time before dinner to visit the Space Needle, or at least walk around the bottom of it. I'm hoping the good weather will continue!

The foreground is the titanium skin of the Experience Music Project

Cramming for the Microsoft Project 2007 Certification Exam


SAMs and TAMs and CAGRs oh my!

Flying on a plane one is always reminded of the soul-deadening properties of powerpoint. To my left a heavy sheaf of perhaps 67 slides presenting trends in the software and os markets weighs down a consultant and bends the back of a binder clip . 67 pages of tables and percentages and charts ever upward, ever onward. Maybe I'm wrong. Maybe it is 76 pages.

I just wonder how people are going to sit through that. Is there some background music? Will the colors on the charts be enough to prevent somnambulation? And why powerpoint? Surely this is something better compiled into a white paper with enough room to discuss meaning and context as well as methodology. For a presentation, boil it down. You don't put a whole maple tree on your pancakes do you?

NOTE: SAM = Share of Available Market, TAM = Total Available Market, CAGR = Compound Aggregate Growth Rate.

March 12, 2007

Eight Miles High - Microsoft MVP Summit

On my way up to Microsoft for the second week in a row. This week should be a bit less grueling if not less fattening.

It is the time for the almost annual Microsoft MVP summit. This means a few days of executive briefings, meetings with the project groups and breakfast, snacks, lunch, snacks and dinners and snacks. This year Bill Gates will be delivering the key note. The past two were Ballmer with his bombastic Blah bla bla blaaah blaaah blah! so it will be a nice change. And what I hear is that there is more time 1:1 with the product groups which is another welcome development. In several past summits this got scant attention, amounting to a session for a couple of hours. I think there is an entire day scheduled this year. I hope to use the time to figure out when we are going to see the first service release on Project and Project Server 2007.

The best things to come out of this conference though are the conversations with people. My current job is the fruit of a seed planted when a group of us bailed out from the planned activities and had lunch in Seattle instead. A group session with 1800 people + Press + Translators has less importance on a personal level and even on a business level than sharing a meal with a 5 others.

Looking down I just see a blanket of white and the same bright warm sun that was shining when I left home. Where I live it is spring. The air is infused with warm earth and plum blossoms. It is the kind of day that brings out the bees. Seattle weather may not be as kind.

March 1, 2007

Project Management Consulting at Pcubed

I've started working at Pcubed in their San Francisco office. You can now officially put me in the category of Project Management Consultant. With almost a whole two weeks under my belt I'm noticing a few differences between being an internal or "captive" consultant in a staff position and being an external consultant. Very briefly they are:

  • Introductions are more frequent and elaborate.
  • You are surrounded by people who understand the same things you do.
  • The client businesses are diverse, their problems are strangely familiar...
  • I spend more time on the telephone.

So far I'm really enjoying meeting clients and potential clients. They offer an endless stream of things to think about.

If you are in need of any help getting project management practices under control feel free to email me at: jack AT and we will see what can be done.

Time for Pi

It is probably not important, but...

There are roughly pi*10e7 seconds in a year.
Combine this with the fact that light travels 300,000Km/second and it makes it easier to remember that a light year is around 9 trillion kilometers.

February 16, 2007

Microsoft Project 2007 Bugs - Project Server too...

So far there are a few bugs popping up in Project 2007 and Project Server 2007. Most are not showstoppers and wouldn't keep me from using it. If you run across one, Microsoft has set up a site for reporting bugs and issues. Just log in here:
and log your bug. The prize is that if there are enough of them filed we get a service pack sooner than later :-).

February 11, 2007


Rain knocked most of them down, but spring must be here already, or is it a dream?

February 9, 2007

Mmmmmm... Peet's Coffee and search logs

As I fixed myself a big mug of Peet's Sumatra coffee I took a break to check my logs. One of the first things I saw was that someone arrived here via this google search:

Most searches which bring people here are rather mundane and consist of a word or two so I get curious when I see something with more depth than "Free PMBOK" coming across the wires. "Peets Coffee and Tea employee dissatisfaction blog" has some intrigue about it. I wondered if there was something going on behind the bar that I was not aware of, after all Peets has gotten more commercial and bigger in the 20 years since I stood outside their shop on Walnut and Vine. The more you grow the more likely someone in the organization is not happy.

Then I wondered where this search might be coming from. Is it a Peet's employee having a bad day and looking for someone to commiserate with? Well actually no. A quick check on the IP shows:

OrgName: Starbucks Coffee Company
Address: 2401 Utah Avenue South
Address: Mailstop: S-IT7
City: Seattle
StateProv: WA
PostalCode: 98134
Country: US

Hey Starbucks guys, put down that half-caf non-fat toffee-mocha-peppermint-peanutbutter frappuchino and have a cup of Peets. You'll feel better!

February 8, 2007

Down the Tubes - 10 reasons to be concerned about pipes

The Yahoo Pipes site is flush with geeks trying to check it out, and is currently closed "Our Pipes are clogged! We've called the plumbers!" says the site with an oblique reference to the bloglines plumber. however, being closed has never been a barrier to speculation, so here goes.

  1. The capabilities of Pipes (being able to easily grab, filter, sort and generally tie a bunch of stuff together) will boost the importance of RSS. No new site should be built without taking it into consideration
  2. The ability of end-users to work with RSS data in a powerful but fairly simple (I think it is still arcane for a vast majority of computer users) will lead to some interesting and probably valuable services.
  3. The same lowering of the technological bar will create a new generation of SPLOGs (Spam blogs)
  4. The same lowering of the technological bar will create simple mis-uses of other people's content. This will be difficult to sort out. The point here and above isn't that this is something new, but that it will become easier to do and thus more people will do it.
  5. There is nothing better to talk about since the Astronaut jokes have run their course.
  6. Pipes, like Unix pipes, or Grep or any other command line tool are acquired tastes and as such will be the domain of a fairly small percentage of users. They are quite important to developers though.
  7. Publishers (even people like me who are giving their content away) need to be concerned about how their data is being used. This gives rise to the need for a way to track-down what you have published so you know where it is ending up. Without this sort of feedback it is hard to improve. Perhaps some embedded ID that can be passed along with the feed would help with this. Sure sploggers can strip it out, but everyone else should be happy to pass it along as better content is better for everyone.
  8. I forget what 8 was for.
  9. Trusting the source may get harder. When things are mashed, it is harder to tell what is giving off the bad smell. The embedded ID would be a method to help determine TRUST.
  10. Like I said, EVERYONE is talking about it:
Please add your name to the top of the list and forward to 10 of your friends or another kitten will die. :-)

February 6, 2007

Microsoft Project 2007 Import Problems

There are a couple of problems importing data into Microsoft Project 2007.

The first one is that importing an Excel 2007 file (in the new .xlsx format) does not work. The import appears to get hung up on some of the header information and from there you are stuck. The work-around for this is simple. Save from Excel into Excel 2000-2003 format and open that file in Project.

The second relates to importing .MPX files from other applications. At least a couple versions back, Microsoft started walking away from the .mpx format in favor of using xml as a standard exchange format. However, there are still other tools using it to exchange data and Project 2007 can open but not write .mpx files. If there are some records specifying correct calendars in the file then it will crash. For an explanation of what is happening and how to fix it, the best source is the ever helpful Adrian Jenkins who writes:

What I've found that if the file you're importing doesn't have a record type 20 and if at least one of the record type 20's calendar name doesn't match what's in record type 30, then the crash happens. Here's an example of what you may find in your MPX file:

MPX,Integration Tool Name,4.0
30,Project Name,,,,,,,1/17/2007

Importing an MPX file where record type 20 is missing and where the project's calendar name isn't identified in record 30 will cause the crash.

With record type 20 added, it'll look like this:

MPX,Integration Tool Name,4.0
30,Project Name,,,,,,,1/17/2007

In addition to record type 20, record type 30 also needs to specify the project's base calendar name and it should match the name in at least one of the type 20 records. Therefore, the MPX with the addtional information in record type 30 will look like this:

MPX,Integration Tool Name,4.0
30,Project Name,,,Standard,,,,1/17/2007

If you add this information to your MPX file, it should stop the crash from happening. You *may* see an additional import error, but you can click No to prevent the error(s) from appearing and the file should open.

February 5, 2007

VB / C# robotic car

A new article on making your own robotic car using Microsoft Robitics Studio was posted here
Bill Gates has been quoted as saying robots are the next frontier (or something like that).

VBA Writing to a text file (MS Project, Excel)

One common question is how do I write from an office app like Excel or Project to a text file. I have the code embedded in a few samples here, but this short sample shows it most clearly. There are just a couple of steps. Use FreeFile to get the file number of the next file. Open the file for Output, then write or print into it. Finally close the file. Here is the commented code to do this:

Sub WriteToATextFile
'first set a string which contains the path to the file you want to create.
'this example creates one and stores it in the root directory
MyFile = "c:\" & "whateveryouwant.txt"
'set and open file for output
fnum = FreeFile()
Open MyFile For Output As fnum
'write project info and then a blank line. Note the comma is required
Write #fnum, "I wrote this"
Write #fnum,
'use Print when you want the string without quotation marks
Print #fnum, "I printed this"
Close #fnum
End Sub

There are a few other pieces of the puzzle to clarify. Open for has a number of mode parameters. You can open for input (read only), output (write only), append (write at end - good for logs), binary and random (read/write default). You can also control this by an optional access keyword (read, write, read write) but why bother if you have the mode set. Freefile is used to get the filenumber of the next free file.

Taking the PMP Exam - Appendix B - Contract Types

Understanding the type of contract you are working under or to use on your project is one of the more important elements of Project Management. After all, the contract sets the scope and compensation and what could be more essential than that? However, different circumstances require different types of contracts. The different types of contracts allow more or less flexibility, and allocate different amounts of risk to the contractor and owner.

There is usually a cost associated with assuming risk, so contracts where the contractor bears most of the risk typically cost more. However, in some cases the contractor may be better able to mitigate the risk than the owner so having the contractor assume that risk may be more economical. It all depends on what the goals of both parties are. So here are some of the most common types of contracts and a brief definition of the contract type.

Fixed Price (FP or FFP - "firm fixed price") also called "Lump Sum"

The simplest type of contract. The owner specifies the work and the contractor gives a price. In this case the contractor assumes almost all of the risk and as a result reaps whatever profit there is. Fixed price contracts are often used in governmental contracting as they give an easy way to compare competitive bids and to budget for the work as all the uncertainty in actual price becomes the responsibility of the contractor. On the other hand, this may not be the cheapest way to get the work done. A side effect of the fixed price contract is the Change Order which modifies the initial contract for unforeseen conditions and changes. Some contractors are highly skilled at generating change orders which can boost profits on the job. In some cases change orders can equal the size of the original contract. Litigation is often more expensive than construction, so arbitration and settlement are typical in these cases.

Time and Materials (T&M)

Simple billing at pre-negotiated rates for labor and materials on a project. Some Fixed Price contracts specify this as a method for determining costs of change orders. Labor rates include a certain percentage markup for overhead. In this arrangement all risk goes to the owner.

Cost Plus Fixed Fee (CPFF or sometimes just Cost Plus)

Also fairly simple. This type of contract shifts most of the risk to the owner, but also allows the owner a high degree of flexibility. The contractor under this form of contract has profit at risk and will seek to minimize cost/duration to return a higher proportional profit margin. This type of contract is more common on projects which have high amounts of risk and uncertainty which would scare contractors into giving impossibly high bids, or where the owner just needs resources to work on a project.

The "fixed fee" is typically a percentage of estimated costs and the contractor is reimbursed for other allowable costs. The difference between CPFF and CPPC is that for fixed fee, the total amount of the fee is decided in advance based on estimates.

Cost Plus Percentage of Costs (CPPC)

This is very similar to the cost plus fixed fee contract except that the contractor bears even less risk. Their fee is calculated based on a percentage of actual costs. It is generally believed that having a fee at risk is a motivating factor for contractors, so this approach is not allowed for federal government contracts (though there may be loopholes...?) It is very similar to T&M. Good work if you can get it.

Cost Plus Incentive Fee (CPIF)

This type of contract uses an incentive fee for motivating better performance than you would get with percentage or fixed fee. In addition to a fee, an incentive is paid for beating a schedule or cost target. Like having the fee at risk, is intended to motivate the contractor to minimize costs and duration. Determining the appropriate incentive is one difficulty, another is that once the target has been missed, the incentive is no longer a motivating factor. Often the incentive fee is calculated as a percentage of savings and is shared by the owner and the contractor. The flip-side of incentive fees are liquidated damages.

Liquidated Damages

While not really a contract type, Liquidated Damages are often part of Fixed Price contracts. They are the opposite of an incentive payment and are payments made by the contractor to the owner for failing to perform to a target date. The name liquidated damages comes from the practice of determining a pre-agreed monetary (thus liquidated) cost for damages to the owner's operations. For example, late completion of a new production facility may cost the owner additional costs to keep an aging and inefficient facility running, or the presence of the contractor may impair the owner's profitable use of a facility. Rather than determining these costs at the end of the contract, the costs are negotiated at the beginning and are usually quite large. This serves to motivate the contractor and gives the contractor the cost information needed to accurately determine the best course of action. It is intended to reduce the costs of litigation. Liquidated damages may apply to the contract as a whole or to smaller elements of it. For example, on a contract where a road is being resurfaced during nighttime hours, failing to have it back in operation by a certain time each day may be cause for liquidated damages.

Fixed Price Incentive Fee (FPIF)

Similar to Fixed Price but with an incentive fee. Motivation to perform is the reason.

So those are the most common contract types. Of course a contract can take any form that two parties can agree too (and which is not prohibited by law) so hybrids of these forms are possible. For the PMP Exam knowing the common types is probably the most important thing. Contract evolution beyond Time and Materials is all about how risk is allocated to the different parties and how to motivate one party or the other to act in a certain manner. For the most part you do get what you pay for... or conversely, you don't get what you don't pay for.

February 2, 2007

MS Project VBA - Trim Function

Solving a recent custom field formula problem required reaching into the toolbox and pulling out the trim() string function. Trim is one of the simplest string functions. It does one thing and does it well. It just strips any leading or trailing spaces from a text string. So if you have a string like this:

myString = " There is space in front and in back "

you can use:


to return "There is space in front and in back"

The problem was that converting a Microsoft Project Unique ID to a string adds a leading space to the string (why? I don't know, but it does) so you can use trim to obtain just the characters you want.

Trim is not just a VBA function, you can use it in Excel formulas, MS Project custom field formulas and just about any programming language I've seen. I've used it extensively with spreadsheets that contain data pasted in from other sources.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16


Creative Commons License
This weblog is licensed under a Creative Commons License.
Powered by
Movable Type 3.34