Projects are thought to be "containers" of sub-projects and tasks. You want to set up a new project if you have a new group of people collaborating.
Projects are carrying permission information for the tasks below the project.
List of Projects
A complete list of projects is available from http://[YOUR_SERVER]/intranet/projects. Permission settings might prevent users from viewing or editing projects.
Find a Project
The quickest and most convenient way finding a project is probably using the ]po[ Full Text Search. A search box is located on the top right corner of each ]po[ screen. Alternatively you can go to http://[YOUR_SERVER]/intranet/projects and browse or filter by project name.
Creating a new Project
To create a new project please use the Admin link "Add New Project" that can be found on http://[YOUR_SERVER]/intranet/projects. Depending on your configuration you might need to set some project attribute values first by going through a 'wizard' before seeing the main creation page.
A new project can also be created by cloning an existing one. If no clone link is available from a Project Admin Menu, please ask your System Administrator to allow cloning by setting parameter EnableCloneProjectLinkP accordingly.
Adding additional Project Attributes
It is possible to add any number of new dynamic fields (DynFields) to projects. For example, it is possible to add a drop-down field for the project’s Cost Center, or a text field to describe the project risk. For additional information see the DynField Extensible Architecture
Assigning Members to Projects
New members can be assigned by using the "Add member" link in portlet "Project Members".
If users get assigned to subprojects or task, the system adds them automatically to their parent elements. This helps Project Managers of the Parent Projects to get an overview of all employees involved in all subprojects. Please do not reverse this automatic assignment. If you want to limit visibility or time sheet tracking on parent elements, please consider adjusting parameters PermissiveHourLogging and TimesheetTaskVisibilityScope.
Structuring Projects
Projects can be structured by adding Sub-Projects to existing Projects. A link can be found in the sidebar on a Projects Main Page. If this link is not visible, the user might not have the permission to create Sub-Projects or the creation is not allowed in general.
When to create a subproject?
If you want to delegate responsability to a different project manager
If you want to separate access to two different subprojects.
Example:
You don't want to let developers (execution subproject) access the contents of the "acquisition subproject" with contract and sales information.
Delete a Project
In order to delete a project you need to set its status to "Deleted". Projects remain in the system but will be invisible. Deleted projects can be recovered if necessary.
Remove a Project
As an System Administrator you can also dump the project entirely from the system. Please see http://[YOUR_SERVER]//intranet/admin/cleanup-demo/ to get a list of removable items.
Please note that in some cases it might be necessary to resolve constraints to other objects manually to allow removal.
Please note:
Only in few cases you want to remove (nuke) a project entirely because projects might be related to other objects such as logged hours. Removing them would lead to inconsistent data.
You can also use a shortcut to nuke a single projects by requesting (SysAdmin only):
http://[YOUR_SERVER]/intranet/admin/cleanup-demo/cleanup-projects-2.tcl?return_url=/intranet/&project_id=[PROJECT_ID]
Managing Project Tasks
Creating Tasks
Tasks are created within Main Projects or Sub-Projects.
Task Attributes
Time attributes
Tasks are associated with three different measures of time:
Extimated hours:
The PMs estimate how long it will take to complete the task
Billable hours:
How many hours can be billed to a customer.
Logged hours:
The actually spent number of hours logged via the Timesheet module.
Cost Center
The Cost Center field is pre-set with the Cost Center the current user is assigned to.
Materials
Tasks are associated with a single type of service ("material"). Materials are linked with the price list module, so that you can specifiy a price per customer and material.
Gantt Scheduling
Tasks are the base for Gantt scheduling algorithms. Tasks may depend on each other and may have different ways to be started and ended.
Viewing Tasks
Task Home
Comprehensive information about a task are made available on the tasks home screen:
Information about tasks are made available in several locations:
Project Home:
This list contains usually the top 25 Sub-Projects and Tasks of a given Project
Home Task List:
Component contains tasks assigned to the current user
Task Report:
Provided an overview of tasks across al projects
Project Planning & Scheduling
Project Planning using native ]po[ features
a) Define your project by creating project and sub.projects.
b) Assign resources to your main project
c) Create tasks within you project/sub-project and set task attributes such as 'name', 'start/end date', 'Planned Units', 'Billable Units', etc.
Project Planning and scheduling using 3rd party tools MS Project/OpenProj/GanttProject
Projects planned using Microsoft Project Open (MS Project) or other tools can be imported into ]po[. ]po[ also allows you export projects to MS Project, OpenProj and GanttProject.
Advantages of this round trip are:
Project planning using 3rd Party Desktop solutions is usually more user friendly because of teh tools drag/&drop features and other amenities a desktop application can provide best
Project Managers can keep their their tool of choice for Project Management but the organization can benefit at the same time from a central project repository without the need to purchase additional licenses from Microsoft.
Best practice for round trips from and to 3rd party PM Tools:
a) Create a project in ]po[
b) Assign resources to your project ("Add member")
c) Use the "Download GanttProject/OpenProj" link and export the project
d) Use OpenProj/GanttProject and create additional tasks, dependencies and resource assignments comfortably with the "Drag-and-Drop" features provided by the 3rd party applications
e) Import the structure back to ]project-open[ using the link "Upload Gantt OpenProj File"
Find here more information which versions of MS Project/OpenProj/GanttProject are currently supported by ]po[
Project Progress can be entered manually or evaluated automatically based on the "% completed" values of each task.
Setting Project Progress manually
PM enter progress manually. Recommended for smaller projects to keep administrative overhead to a minimum
Automatic calculation
Automatic calculation of "% completed" on a "Project" level requires Parameter "AutomaticProjectAdvanceP" set to true. The value will be calculated when tasks attributes "% completed" and "Planned Hours" are set. Please note that manually adjustments to the "% completed" attribute on a Project level value are overwritten when one of the "%-completed" attributes of a child-tasks changes.
Projects are the base unit for financial controlling. A project should have a quote (external) or a budget attached that define the amount of resources available to spend. On the cost side there are "Provider Bills" (external invoices), "Expenses & Travel Costs" (small external expenses) and timesheet costs (internal costs). For an introduction please see the following PPT.
Creating financial Documents such as Invoices, Provider Bills, etc.
The generation of financial documents (Customer Invoice, Provider Invoice, Quote, Purchase Order) represents a considerable administrative effort in many companies. ]project-open[ provides a number of ways to accelerate this process by taking advantage of already existing information such as customer and provider addresses and already existing quotes or purchase orders.
For an introduction please see this PPT.
Creating Invoice from scratch
Let's assume you are a freelancer and you have just performed 3 days of training for a customer. You now want to write an invoice quickly and your ]project-open[ has been configured to allow such ad-hoc invoicing. You company is called "Tigerpond Inc.", and your customer is called "ABC Consulting".
(Creating a simple ad-hoc invoice with ]project-open[.)
Create an Invoice using the Invoice Wizard
Let's assume that you have agreed to update your customer's web site. During this project, one of your senior Web developers will work on-site at the customer's offices. Neither you nor the customer know how much time will be necessary to work on the Web site, so you have agreed to invoice your Web developer with EUR 80/hour, up to a limit of 100 hours.
In order to capture the time spent, you will need to set up a project where your Web developer will need log his hours:
Go to the "Projects" tab and choose "Add a New Project" in the page's navigation bar.
The screenshot below shows a sample project definition. Please see the Project page for a detailed description of the project fields.
Once the project has been created, please go to the "Project Member" plugin and click on the "Add members" link.
In the next page please select "David Developer" and "add as Full Member" with the "Notify" field enabled to add David as a project member and to allow him to log hours on the project. David will receive an Email saying that he is now a member of the project.
During the next days and weeks, David can log hour on the project by going to the "Timesheet" tab, selecting the day and entering his hours.
Once the work is done, you go to the project, select the "Finance" tab (of the project!) and click on link "New Customer Invoice from Timesheet Tasks"
You will then enter a Wizard that helps you to create an invoice based on five different criterias:
Planned Units
Billable Units
All reported Units
Reported Units in Interval
All unbilled Units
This screencast shows how to create a project and tasks in ]project-open[. Based on the logged hours an invoice will be created by using a wizard that guides the user through the process.
From V4.0 on ]po[ provides support for "Project Programms". "Project Programs" are a set of several related projects that are related to each other.
While the concept of "Parent-" and "Subprojects" always requires having the same client, "Project Programs" can be bundled based on arbitrary criteria.
In order to create a "Programm", a new Project of type "Program" needs to be created. In some distributions this particular Project Type would need to be enabled first.
Also the DynField "Program" of Object Type "Project" needs to be visible and editable for all users that should be capable to create Programs and assign Projects to them.
This feature is part of ]po['s Absence Management and allows you assigning resources to projects for the upcoming months under consideration of current absences.
See this video to learn more about ]po['s Capacity Planing capabilities:
⁞
Filter:
List of employees: By default all inhouse employees are selected. The list can can be minimized by de-selecting users
Month/Year: Planning is done on a month-base, please select the month you do the capacity planning for
Horizontal axis:
The horizontal axis shows for all internal employees the following information:
Workload:
Ratio of number of days the user is assigned to projects and his capacity
Workdays:
Number of workdays that can be assigned to projects.
This value is calculated as follows:
Number of weekdays (Monday-Friday)
- Absences (vacation, training, other)
- Bank Holidays
= Workdays
Capacity
Number days a user not assigned to projects
Vacation:
Vacation days, includes also vacations not yet approved
Training:
Number of days reserved for training
Other Absences:
Sick days, travel
Vertical axis:
The vertical axis shows all projects (independed from their project status) having either start-date or end-date in the period selected.
The days available are calculated as: Number of days planned - Number of days logged for each project and their respective sub-projects.
Workflows
Project Approval Workflow
]project-open[ comes with a pre-configured Project Approval Workflow.
In order to activate this workflow you have to add the string "project_approval_wf" to each "Intranet Project Type" category (String1) this workflow should be triggered for.
(Please note that is not sufficient to set this value for a parent category)