Ticket #49 (assigned enhancement)

Opened 14 months ago

Last modified 12 months ago

Gantt & Earned Value Performance Charts

Reported by: ryan.hatch@… Owned by: florian
Priority: major Milestone: 0.5
Component: charts Version: 0.3
Keywords: gantt earned value performance Cc:

Description

Hi There,

I'm deciding on a Project Management platform for my small software company. Your software is one of the best I've seen. I love the Relationship diagrams, Timesheets, and great looking graphs.

However - I need Gantt chart view! I need to get an 30,000 ft. view of where are we versus where are we supposed to be.

Please advise! Thank you,

Ryan D. Hatch

Attachments

Change History

Changed 14 months ago by florian

  • status changed from new to assigned

Hi Ryan,

Thanks for your kind words.

phpaga had a simple Gantt chart (projects) view, but I removed it when migrating to the eZ Components' graph class. Currently eZ Components do not support Gantt charts, and I thought the chart wasn't very meaningful the way I had implemented it.

What data would you like to see in a Gantt chart? Would a rough projects overwiev (estimated total time versus sum of tracked time per project) for all projects within a selectable time frame be helpful?

Regards, Florian

Changed 14 months ago by ryan.hatch@…

  • keywords earned value performance added
  • summary changed from Gantt Chart! to Gantt & Earned Value Performance Charts

Florian, Thanks for the prompt reply! That's very encouraging.

We want to make sure we are using a Project Management package that is actively being developed.

Important Note on Measuring Success: We don't want to measure task completion by hours. Hours are deceiving. Just because we have a task that should take 10 hours... and Joe Schmoe works on it for 10 hours - does NOT mean it's 100% complete! Instead, we need to measure a task's success by its Percent Complete. In other words - Percent Complete must not be calculated automatically - it must be a value that is entered by employees (and then approved by me). This is called "Earned Value."

We want to use this for is a solid, internal Project Management solution where I can:

  • input projects & tasks (with unlimited depth)
  • assign $ value (aka budget) for each project / task (what this task is worth to my company)
    • if I don't have a $ amount... it should provide me a calculator. Where I can enter the Estimated Number of Hours a task should take to complete, select the Skillset required to complete the project/task - and it should multiply Hours * the Bill rate for that Skillset - Which will give me a $ value for that project/task.
  • assign deadlines for each project / task
  • assign these projects & tasks to people
  • assign dependent tasks
    • projects/tasks that cannot begin until this task if completed
  • allow my employees to enter: (only for their assigned projects/tasks)
    • Time they've spent on it
    • Percent Complete the task is
  • allow my employees to view their own progress (as well as the progress of other employees). However - I don't want employees to see any bill rates (not even their own). Only I should see this.
  • run weekly reports to see:
    • Hours by Employee
      • I want to see all my employees side-by-side and how much time they have been putting in compared to the other employees
    • Performance by Employee
      • I want to Compare my Employee's Performance side-by-side
      • Expected Spending = % Complete * $ Budget
      • Performance = (Expected Spending - Actual Spending) [do some additional math here to figure out how much over/under performance they have for this task. (ie. -2x Performance would mean they are spending twice as much money as we have budgeted for the task, or 3x Performance would mean they are completing the task 3x cheaper than we estimated).
      • 0 = Expected Performance, Negative = Low Performance, Positive = High Performance
      • Looks Something like this: www.rbt.treasury.gov.au/submissions/PlatformForConsultation/html/images/Image3021.gif
    • Gantt Chart
      • Time when Project / Task is to occur
      • Percent Completion of each project & task.
    • Earned Value Performance
      • Graph from: www.earnedvaluemanagement.com

I hope this helps you understand our needs. Your tool could be a great asset to mine, and other companies, if it were to do the above. Please let me know what your plans are so I can make a decision on what we will use.

I welcome your comments. Thank you very much!

Ryan D. Hatch

Changed 14 months ago by florian

Ryan,

The features you describe are quite interesting, and can certainly be a positive enhancement to phpaga.

Currently phpaga's focus is on tracking the time spent on various projects - what is called tasks in phpaga should probably be called tracked tasks or tracked time.

I have been thinking about adding planned tasks on and off in the past, but have never gotten to really code them. Your requirements go farther than that, and they make the whole module much more interesting to implement.

In all honesty, you should keep in mind that phpaga is a spare time project. I work as a freelance software designer and developer for the industry, and phpaga is my way of tracking my time and managing invoices. I am always interested in adding new modules to phpaga if they fit well into the general picture, but jobs that bring food on my family's table have precedence.

I am telling you this to help you with your decision - if you need an application right now to manage projects the way you describe, I'm afraid phpaga won't be the right tool.

If you are willing to start with phpaga as it is now (0.4 should be released this month), and you have a little time to test the new features as I implement them, I can write the necessary code.

Regards,

Florian

Changed 14 months ago by ryan.hatch@…

Florian,

Sounds good. Again, thanks for your prompt reply.

I am certainly willing to test these and other PHPAGA features as you develop them. Please keep me updated as you progress, so I can be of assistance!

Thank you very much. Hope to hear from you soon,

Ryan D. Hatch

Changed 13 months ago by florian

  • milestone changed from 0.4 to 0.5

Changed 12 months ago by florian

I have now started to work on this ticket and am currently implementing scheduled or planned tasks. In order to make testing easier, I will write a 3rd party XML file import. This import should also be useful for regular phpaga use - a project manager can create a detailed project plan and then import it into phpaga.

The import should work with various plugins; for the moment support for MS Project (XML export) and the Gnome Planner is planned.

Tasks will be imported and added to an existing project. This operation should only be done once for each project - a new import will add all tasks again. (This is because - as far as I know - I cannot make sure the task order (and hence the task ID) has not changed between imports.)

In order to make sure the import is robust I would appreciate if anbody could email me one or more (relatively large) project files to florian at phpaga dot net. Both MS Project (XML export - I do not have any MS product at hand and cannot therefore convert the original format) and Gnome Planner files are welcome.

Florian

Changed 12 months ago by anonymous

Hi Florian,

Sounds excellent. Looking forward to this.

My first thought would be to find someone who already has a parser for Microsoft Project / Gnome Planner. Here are some first thoughts: www.osalt.com/project

Otherwise, here are some Microsoft Project samples (which I believe include XML schema reference):

Project 2003: www.microsoft.com/downloads/details.aspx?familyid=4d2abc8c-8bca-4db9-8753-178c0d3099c5&displaylang=en Project 2007: www.microsoft.com/downloads/details.aspx?familyid=2672f6f9-7028-4b30-99a2-18cb1eed1abe&displaylang=en

Again - Looking forward to this. Please let me know if I can assist you in any way.

Thank you!

Ryan D. Hatch

Changed 12 months ago by florian

Hi Ryan,

it is not difficult to implement a parser with the help of PHP's simplexml. I had a quick prototype up and running within 15 minutes.

I do not have MS Windows, therefore I can't have a look at the samples on the links you provided (they are enclosed in .exe files). I'll see if I can get a few project files from one of my customers - I'd just like to have a few different test cases to see whether data is imported correctly, and how this data looks like in phpaga (without having to enter a lot of tasks manually).

I will also try to implement a Gantt chart class that outputs graphics in SVG format, and the test data is very handy for that.

Although there would be a large number of fields to import from 3rd party projects, I try to focus on the ones that are important for phpaga. The current data structure for a scheduled task looks like this (in PostgreSQL):

       "stask_id" bigint DEFAULT nextval('schedtasks_stask_id_seq'::text) NOT NULL,
       "stask_stask_id" bigint,
       "stask_type" int,
       "stask_number" int,
       "stask_priority" int,
       "prj_id" bigint,
       "opcat_id" bigint,
       "stask_status" int DEFAULT 0,
       "stask_desc" text NOT NULL,
       "stask_planned_manhours" int,
       "stask_planned_cost_manhours" numeric(12,2),
       "stask_billabletype" int default 0,
       "stask_pricetocustomer" numeric(12,2),
       "stask_percent_complete" int,
       "stask_start" timestamp without time zone,
       "stask_end" timestamp without time zone,
       "stask_deadline" timestamp without time zone

In addition to this data, one or more users/persons can be assigned to each task.

Does this cover everything wee need, or is something missing?

Regards,

Florian

Add/Change #49 (Gantt & Earned Value Performance Charts)

Author



Change Properties
<Author field>
Action
as assigned
as The resolution will be set. Next status will be 'closed'
to The owner will change. Next status will be 'new'
 
Note: See TracTickets for help on using tickets.