Access to add and change pages is restricted. See: https://cwiki.apache.org/confluence/display/OFBIZ/Wiki+access

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 16 Next »

Project manager application

The project manager is currently under development and not all features below are implemented. If somebody would like to help, please read the description below first. On the other hand if you have suggestions for this text please add a Jira issue to the ProjectMgr component or add a comment. It is modeled after the PMW (Project Manager Workbench and other project manager packages.

The main purpose of the project manager application is the administration of projects, phases, tasks and resources and tracking of estimated time against actual time which is entered via timesheets on project tasks only. This time registration is then used to generate invoices which can be send to the 'client' party of the project.

Some principles.

  • A project consists out of one or more phases of which each phase can have one or more tasks.
  • A task always has a parentPhase.
  • Time registration is only done on a task level.
  • Estimated and actual dates are only maintained at the task level. For reporting they can be calculated to the higher levels. Project views are created to support this.
  • The workAssoc entity is used to identify relationships in the order the tasks should be executed, a facility needs to be added to calculated the estimated start/end dates of every task according these relationships.
  • In the option 'myTime" time can only be reported on tasks which belong to a project of which the loggedon person is member of.
  • All timestamps in the timesheets have a time set to '00:00:00.0"
  • A timesheet is only for one week and one week only and can have many time entries, one for each task and one day within the fromDate and Thrudate of the timesheet. A timentry is always referring to a task(Workeffort)
  • A timesheet only has related time entries where the partyId is null meaning that these entries are from the partyId on the timesheet. The thrudate is not used on the TimeEntry, only the fromdate. The timeEntry only registers hours for the specific fromDate date only.
  • Time can only be registered on tasks of Projects the loginUser is a member of.
  • In a project the following (security) roles are recognized:
    Administrator: has full access over all projects
    Client Manager, Client Analyst: has full read access over the project. and can report time.
    Client Billing: who will receive the invoices.
    Provider Manager: has full access to the project he is member of.
    Provider Accounting: who can create invoices and sen these to the Client Billing,or if not present to the Client manager.

System Setup.

The system is divided into 2 parts:

  • The 'my' options such as 'my tasks' and 'my time'.The logged user has the possibility to add and modify tasks assigned to him and link new tasks to projectphases of projects where he is a member of. A task can be standalone and not part of a project for personal use.

My Tasks are tasks which were entered by me, or on which i have entered time

  • The more general options for the project administrator to setup projects and phases.

CURRENT DATA MODEL

  • Project (WE)
    • SubProject
    • Notes
    • ProjectTeamMember (party)
    • Phase (WE)
      • Task (WE)
        • Resource (partyId or fixedAsset(later))
        • Skill Standards (kind of skill and number of FTE's required)
        • Notes
        • time entry
        • Association with other tasks in which order they should be executed.
        • Customer Request
  • Time Sheet
    • Resource
    • Time Entry
      • Task (we)
      • InvoiceItem

HIGH LEVEL DATA MODEL

Project Tree:

  • Project (WE)
    • Sub Project (WE)
      • Task (WE)
        • Sub-Task (WE)
    • Task (WE) - These are not assigned to any sub-project
  • Task (WE) - These are not assigned to any project
  • Request (CR)
    • RequestItem? (CRI)
      Product General versus Iteration:
  • Project Root
    • Project Topical Structure
      • Project Area A
        • Task A-1
        • Task A-2
      • Project Area B
        • Task B-1
        • Task B-2
    • Project Iteration Structure
      • Iteration 1
        • Task A-1 (not copy, pointer to task from the Project Topical Structure)
        • Task B-2
      • Iteration 2
        • Task B-1
        • Task A-2

  • Projects, Sub-projects and Tasks all are WorkEfforts? of a respective type.
  • Request is a CustRequest? and can have many Request Items which are CustRequestItem? .
  • Time Entry can be done from any level or type of WE
  • RequestItem? and WorkEffort? has a many-to-many relationship through CustRequestItemWorkEffort?

GENERAL REPORTS LIST

NOTE: these are the report definitions; the use of the reports can be seen in the process outlines.

Actual Reports (in HTML initially to keep it simple, make it all more interactive)

  1. Task Reports
    1. Task by priority (Iteration planning / The Planning Game)
    2. Task over time estimate or past schedule
    3. Tasks not assigned, drop-down/pop-up assign to Party X
    4. Tasks not scheduled (Product Backlog in SCRUM parlance)
    5. Tasks assigned to me
  2. Project summary (By Supervisor / By Client)
    1. Tasks by priority (including their status)
    2. All Tasks and Subtasks expanded (in order to see detail)
    3. Hours / Billing View - so they can see how much each person has worked during the period. Do we include what their pay rate is somewhere?
    4. TODO - Add more here.
  3. Gantt for Project
  4. Tasks completed, times task was reopened, Avg. time taken to fix a task , Avg. number of tasks fixed per day
  5. WE estimate versus actual
  6. Estimated schedule/workload for party X (or me without permission) (based on hours worked per day, days per week, etc)

UI ELEMENTS LIST


General Screen Requirements

1. Per-project permission required with WE role limited permission, not required for general permission (WorkEffortRole?in certain roles, direct or to parent/ancestor) 2. Permission for task maintenance - allow certain status changes for own tasks, to complete/approve require manager role (both client and provider people will have variations of these, see processes for details)

New Interactive Screens

1. TODO

Email Notifications


  1. Tasks assigned to me (daily)
  2. Weekly (or daily) project summary (to client and provider managers; include burn rate summary, tasks done/in progress/etc)


  • No labels