The Project Management Plan – Cost Management

Planning

Depending on the organization you work for and the project you are working on, the Project Manager may or may not be managing the project budget and costs. If you are tasked to do this, include Cost Management as part of your Project Management Plan.

The Cost Management Plan addresses the following:

• Defines what resources (human, hardware, software, services, facilities) will be considered part of the project costs and when it will be base-lined

• Defines how costs will be reported and who will approve invoices and internal costs

• Defines the magnitude of cost changes that will be subject to formal change management

• Includes a plan for change management: How change is requested, authorized, and documented

• Reference the Project Charter for the priority of Cost in the triple constraints

If cost is the highest priority in your project triple constraints, Cost Management becomes a critical activity. You want to not only record and track costs that have already been incurred, but you also must do new cost projections on a regular basis. As more is known about a project, cost projections will become more accurate.

A former manager of mine once told me that if your costs incurred + future projected costs exactly equals your budget, then you are not doing accurate cost projections. This is based purely on the laws of probability. The probability of your actual and projected costs EXACTLY matching a budget created before the project began is very low.

The Project Management Plan – Schedule Management

Planning

Before I dive into Schedule Management I want to note the difference between the schedule and what many refer to as “the project plan”. You will often hear the Microsoft Project artifact referred to as “the project plan”. In reality, it is only the project schedule. The Project Plan is the combination of the Project Management Plan (being discussed in this series of posts),  the Project Activity Plan (or Work Breakdown), which will be discussed in future posts, and the Project Schedule. I encourage you to use this terminology correctly.

The Schedule Management Plan addresses the following:

• Indicates how the project schedule will be created (who will be the sources of start/end dates and effort), when it will be base lined and lists any scheduling constraints

• Describes the implementation approach (phased, iterative, pilot, etc)

• Defines what level of the schedule will be subject to change management (typically these are the high level milestones and major phase start/end; all other changes can be informally negotiated)

• Defines how schedule performance is monitored and reported (e.g., variance analysis)

• Defines the project schedule software to be used

• Includes a plan for change management: How a schedule change is requested, authorized, and documented

• Reference the Project Charter for the priority of Schedule in the triple constraints

Schedule Management is a critical part of project management and communication. In future posts I will show how to construct the schedule and monitor performance.

The Project Management Plan – Scope Management

Planning

The Project Management Plan defines how the project is executed, monitored, controlled and closed. The first component of the Project Management Plan is the Scope Management Plan.

The Scope Management Plan addresses the following:

• Defines how the Scope of Work will be created. This includes a roles/responsibilities matrix (who will create the scope, who will contribute to the scope, who will approve the scope)

• Defines what the Scope of Work will contain (Scope exclusions, process and physical scope, organizational scope, application scope, deliverables, Work Breakdown Structure aka WBS)

• Defines what constitutes the baseline Scope for change management purposes. This is not the actual Scope, it is the sources of Scope (e.g. “The deliverables as listed in section x of document z and the approved WBS”)

• Includes a plan for change management: How change is requested, authorized, and documented

• Describes the process for getting approval for completed deliverables

• Reference the Project Charter for the priority of Scope in the triple constraints

The Project Management Plan – Overview

Planning

There are two main types of high level planning for a project: (1) The Project Management Plan; (2) The Project Activity Plan (aka The Project Plan). The Project Management Plan describes the approach and processes for managing the project. The Project Activity Plan describes the work to be done to achieve the project objectives. This series of posts address the Project Management Plan.

The Project Management Plan defines how the project is executed, monitored, controlled and closed. It addresses the management of scope, schedule, cost, quality, staffing, communications, risk, and procurement. Whenever matters of project procedure are in question, this document shall be the first source consulted.

This is a dynamic document and reflects the current thinking regarding the project approach based on what is known at this time. It is expected to be updated with new information as the project unfolds. Original and revised versions should be distributed to the entire project team.

The components of the Project Management Plan are:

  • Scope Management
  • Schedule Management
  • Budget Management
  • Staff Management
  • Communications Management
  • Risk Management
  • Procurement Management
  • Project Close Definition
  • Post-Project Audit Plan

In subsequent posts I will elaborate on each of these sections.

For large projects I highly recommend creating a Project Management Plan and sharing it with your sponsor and key stakeholders. This plan describes the “rules of engagement” for the project and will minimize assumptions and misunderstandings regarding project process. I have also found this to be very helpful if you are new to an organization. It is a way to document your understanding of the project management practices of that organization.

There is a good reason the Project Management Institute (PMI) includes these plans in their best practices. Once I obtained my Project Management Professional (PMP) certification, I included a formal Project Management Plan on all of my large projects.

Requirements Elicitation Techniques Part 5 – Data Modeling

Planning

Data modeling is a complex topic. Becoming a professional data modeler takes months or years of education plus practical experience. It is not my intent to teach data modeling in this brief post, but to show how it related to requirements elicitation.

I introduced some of the concepts of data modeling in Part 4 of this series, “Business Rules Analysis”. The relationships between entities are the business rules and they are fixed in the structure of the data. Examples of these rules are “A Customer lives at one or more Addresses” and “An Address may contain one or more Customers”.

Entities can be found in the nouns in your requirements. They are people, places and things about which the organization wishes to store data. In the example above, “Customer” and “Address” are entities and are therefore capitalized in the rules statements.

Attributes are the elemental pieces of data that are associated with each Entity. In the logical data model, each attribute must be stored with one and only one Entity. The logical data model represents the business Entities, Attributes and Relationships without regard to physical implementation.

The physical data model represents how the logical data model will be implemented in a relational database. Here are two examples of the differences between the logical and physical data models:

  • In the logical model, you can have “many to many” relationships as in the Customer / Address example above. In the physical model you cannot implement many-to-many relationships, so there would need to be an additional table to store each Customer / Address combination.
  • In the logical model,  Attributes belong to one and only one entity. In the physical model, attributes can be included in multiple entities due to inclusion on table keys or for performance reasons.

The data is an important part of requirements gathering. It is an important tool in Event Discovery, as you will ask data related questions such as “What does having this data allow you to do?” and “If I took this data away, what would it prevent you from doing?” Other Event Discovery questions are “What events cause this attribute to be added (or changed, or deleted)?”

I would recommend all Project Managers at least be able to read and understand an Entity-Relationship diagram.

Requirements Elicitation Techniques Part 3 – Benchmarking

Planning

The technique of “Benchmarking” is sometimes used in the Requirements gathering process. You compare your company’s processes and performance metrics to industry best practices from other companies. The knowledge uncovered in these investigations can be used in process improvement initiatives or to solve thorny problems you encounter on your project. I have managed many projects where a typical question in a meeting is “What does Company X do in this case?”. “Company X” is typically the main competition for your company and is usually recognized as an industry leader in the area under study. You may or may not get “Company X” to speak with you on a particular topic, depending on the relationship and the level of competition.

Benchmarking can save a lot of time on a project by avoiding the “let’s reinvent the wheel” syndrome. If someone else has figured it out, why waste your own time? Now you may find their solution cannot be completely adapted to your specific situation but there are usually as least some pieces that can be used and be very valuable.

Benchmarking is a supplementary requirements technique. It will never be the only technique you use but can add important additional information to the requirements process. On every project you should at least ask yourself if Benchmarking can add value to the requirements process.

Requirements Elicitation Techniques Part 2 – Acceptance Criteria

Planning

If you search the Internet for “Acceptance Criteria” you will see definitions like this: “Acceptance Criteria are the conditions that a software product must satisfy to be accepted by a user, customer or external system.” There are no shades of grey, the condition either satisfies the criteria or not. There are no “90% satisfies”.

Acceptance Criteria should be established before development begins. The reason for this is that the criteria needs to guide the development. If you write them during or after the development, you will just be verifying what was built and not the customer intent.

Like all good business requirements, the criteria should be “what” not “how”. For example, you might state “Upon submission of the completed application a notification is sent to the Director”. You don’t want to state “Upon clicking ‘Submit’ an email is sent to the Director”. Avoiding implementation specifics opens up new possibilities for a design solution.

In many ways, the “Event/Response method” (see my prior posts on this topic) and “Acceptance Criteria” are very similar. With Event/Response, we document a triggering event, the data sent and who sends it, what we do with it, the outputs and who receives them. With Acceptance Criteria, many use the format “Given some precondition, when I do some action, I expect some result”. These are essentially the same things although Acceptance Criteria can be at a lower level (the Use Case and Functional Requirements level).

You do not approach your user or customer and ask “What are your acceptance criteria?”. This will mostly elicit blank stares. You will want to use other elicitation methods such as Event/Response and Use Cases, and the derive the Acceptance Criteria from there. You can do this by prioritizing your requirements (e.g. “priority 1 = must have or cannot go live, priority 2 = can go live without it but must have within 1 month of go live, priority 3 = nice to have if it fits within the budget and schedule”). In this case, priority 1 requirements are the acceptance criteria for go live and priority 2 requirements are the acceptance criteria for project completion.

Some examples of Acceptance Criteria:

  • If I am a System Administrator, I can add, update or delete accounts.
  • I can search for users by last name and can enter a partial string and receive the results of all that qualify
  • I can filter my staff by availability for a given shift