The life and times of a Project ID

What is a Project ID, in a nut shell?

A Project ID (aka Project Code), is a short string used to reference a Volkis project, such as a penetration test.

We use the notation of CCC-YYMMDD-I where:

  • CCC is the 2-3 character client code, in capital letters.
  • YYMMDD is the 2 digit year, 2 digit month and 2 digit day of when the corresponding Pipedrive deal was first created.
  • The final -I is a 1-2 character digit or letter and is optional. It’s used in 2 different scenarios:
    1. If 2 or more opportunities are created for the same client on the same day, the I part starts at 1 and is incremented for every new opportunity.
    2. If an opportunity or project is created as a sub-project of an existing project, the I part is a letter, starting at A and incremented for every new sub-project.

Examples of valid project IDs:

  • AC-260127
  • ACM-260122
  • ACM-260122-3
  • ACM-260122-C

⚠ Remember we use the 2 digit year. Not the 4 digit year. For example, this is wrong: AC-20240711

Why do we need a project ID?

Project IDs help to identify a project across multiple platform and between people who care about the project. It might sometimes be more accurate to ask, “Hey, how’s AC-261203 going” instead of, “How’s the Acme pentest going?” If we pentest Acme frequently, that might get confusing.

Project IDs are also used to correlate a project across different platforms like Pipedrive, Trello, Xero, Slack, email, etc. If information needs to be automatically pulled from one to another, Project IDs are easy to search.

Types of Project IDs

Standard

You’ll see this most of the time, they look like this: AC-240711. This is the same as writing AC-240711-0, but the -0 can be omitted.

Same-day ID

More than 1 project (or opportunity) might be created for the same client on the same day. If that happens, the project ID for the 2nd project looks like this: AC-240711-1. The -1 is an index and will increment for each new project. So, then, if a 3rd project is created, it would have the ID AC-240711-2.

Sub-project ID

It may sometimes makes sense to create a sub-project. Sub-projects are connected to a parent project which may be a time & materials type project, or a long-term project.

Let’s say the parent project was accepted by Acme as time & materials and its ID is AC-260127. At some later day, a scope is agreed upon and a sub-project is created. That sub-project ID would be AC-260127-A. There is still time leftover, and Acme decides to do another penetration test. The next ID would be AC-260127-B.

NUL ID

If a project gets a Project ID that starts with NUL, that signifies an error. If this happens, seek help!

Changing a Project ID

Changing a Project ID is an edge case so most likely you won’t ever need to use this information. But if for some reason, you absolutely need to change it, you must do this in multiple places:

  1. In the Deal in Pipedrive;
  2. In the Project ID field in Trello;
  3. In the Card Name field in Trello;
  4. In the Project Code field in Resource Guru;
  5. In the project folder name within the Volkis Ops Sharepoint;
  6. In the Slack project channel (channel name and topic);
  7. In the invoice created in Xero.

Automation with Project ID

Project IDs are created and copied automatically from place to place during normal operations. The exception at the moment are sub-project IDs. We’ll automate them later.