Project based enterprises are often service based industries where flexibility and organizational change are key features. Examples are consultancy or construction companies, or small manufacturing or software companies.
In these enterprises, employees are assigned to work on single projects for a given period of time. For example, an engineer working on a large scale construction project might be assigned to the project for a period of six months. All their work and costs are associated with this one project. When this is complete the employee moves on to perform a similar role on another project. In this example you would expect the employee to have a single assignment, with 100% of the assignment costs allocated to a single project. The employee assignment might also contain project specific information, such as location or group information.
In a different situation, an employee might be assigned to a number of projects at the same time. For example, consider an Applications Consultant working for Oracle. This person is employed as a consultant by a specific organization within Oracle but the project work is undertaken outside Oracle. The consultant performs similar tasks in different implementation projects, and costs are allocated on the basis of actual time spent working on each project. In this example you would expect the consultant to have a single assignment in Oracle HRMS and the project allocation and costs to be entered as timecard information.
In both of these examples, employees perform specific roles, but they work on different tasks or projects at different times. Project based enterprises normally have a fluid organization structure with regularly changing reporting and management lines. This fluidity provides the flexibility required to compete in rapidly changing markets.
Organizations can be formed or transformed at short notice as different projects or management groups are formed. Employees can be assigned and reassigned to these organizations, also at short notice, although they normally retain their basic role, or job.
To represent both single and multiple projects, you need the ability to define and change organization structures quickly and easily. You must also be able to move employees between organizations while keeping the same job. For both of these reasons, you would probably use organizations and jobs to show how people are assigned and managed.
Jobs are independent of organizations. In the Assignment window, you can change the assignment organization or job independently.

Typically, you would not define Positions to show this type of working. Positions require additional definition and maintenance, and do not reflect the sort of flexible working environment found in this type of enterprise.
Working with organizations and jobs as the basis of the employee assignment, you can also consider how you would reflect the assignment of the employee to individual projects. There are a number of possible options to consider.
Use organizations to show actual projects, and assign employees to projects.
Useful for single projects. For multiple project assignments you would need to use multiple assignments.
Use a People Group flexfield segment to hold the project code.
An alternative for single projects, where you want to use the organization to show internal management structures. However, for multiple project assignments you would still need to use multiple assignments.
Use a Cost Allocation flexfield segment to hold the project code.
Useful for both single and multiple project assignments. You can collect project cost information at the work assignment or the timecard entry level.
You should define organizations down to the level of individual managers, and use the manager flag on the Assignment window to identify the manager of each organization. Also, define your primary organization hierarchy to show the detailed management reporting lines among organizations and managers. In this way you can show that employees assigned to an organization are managed by the organization's manager.
Attention: It is best not to use the Supervisor field of the assignment window to identify managers for individual employees. This field is used to identify a personal supervisor for an employee and is not updated if the supervisor moves to another job or organization.
In this type of environment, jobs show the specific roles employees perform. Therefore, you are likely to have multi-segment job names to distinguish different types and different levels of jobs in the enterprise. For example, you might define a three segment job name with Department, Title, and Job Level. An actual job combination might then be 'Applications.Consultant.Senior'.
With this type of implementation, you would probably use the assignment to identify management type reporting. You would identify project-working using a segment of the Cost Allocation flexfield to show Project Code for each assignment.
If you set the qualifier Assignment to Yes for this segment, you could enter percentage costs for the assignment to different project codes. If you set the qualifier Element Entry to Yes, you could use a timecard element to record and cost the actual hours worked on each project.
See: Data Costed at the Organization and Assignment Levels
When you consider this environment there are other areas your decisions may affect:
Remuneration Policies: Individual compensation and benefits are often based on personal negotiation, or performance reviews. Therefore you will probably have fewer rules to determine policy and more consideration of the actual values entered for an employee.
Grades and Jobs: Typically grades and jobs are very closely linked. For example, the name Senior Consultant may identify both the role of an employee and his or her relative status and eligibility for compensation and benefits.
You may decide to set up the same structures for both the job and the grade. This will be true if you want to set up rates of pay with minimum and maximum values associated with your grades.
Budgets: Headcount budgets are usually allocated at the level of the organization, or the combination of organization and job.
You can calculate your salary budgets from the definition of organization and job headcount budgets, combined with valid grades and grade rate information.
Actual salary costs in an HR environment can be calculated from the actual salaries of assigned employees.
Actual salary costs in an environment including Oracle Payroll can be calculated directly from payroll results.
See: People Budgets and Costing Overview
Vacancies and Recruitment: Vacancies are not created by default whenever an employee leaves. Managers often have the freedom to decide if they want to replace an employee, or to recruit to a different role.
The recruitment process is often informal and allows for recruitment by resume (or CV). Individual managers are usually responsible for interviewing and selecting candidates. This may be on a one-to-one basis.
Career Planning and Development The need for individual career planning and development is matched by the need to identify skilled employees for specific projects, jobs, and positions.
Using a competence-based approach, you can identify, and measure the competencies held by your employees and match them to work opportunities. Depending on the structure of your enterprise, you can model career and succession plans using either career paths or position hierarchies. This enables you to both continue to develop your employees, whilst ensuring that you have potential successors for all your positions.