Content
Best Practice for Agency Startups with Client Projects
Added by Jason Payne over 4 years ago
I've just started trialling OpenProject yesterday, and wanted an opinion on how best to use it for managing a small company's overall and project costs.
So the company of course has constant costs such as rent, office costs and staff salaries. But we also have client projects which give us revenue (budget) and which staff can log time against, so we can see the profitability of those projects.
When staff are not working on a project (benched, let's say), or working on internal projects, then what's the best way to track this? Should we put this in a sort of "internal" project of its own and log all time not spent on client projects against this internal project? Or some other way?
The end goal is to ensure that the profit from client projects covers all other costs.
Replies (4)
Not sure if there IS any such thing as "Best Practice"? Depends on the company and their particular paradigms?
We initially started using OpenProject (OP) as just a task management (boards) program, but are starting a migration from our existing "timesheet" application to using OP as our "timesheet" system. Since staff members are logging their time in OP for tasks, it did not make sense to "double enter" the tasks, once in OP and also in their "timesheet".
• We have generic categories (i.e. Projects) such as
□ AD (Administration)
□ Marketing / Sales Support
□ New Account Setups
etc.
in addition to any customer/project work based projects (which are typically generic also).
• Underneath each "Project" are the "Work Projects" (Tasks) , to which staff members add (log) their time.
• Under OP "Administration - Enumerations - Time Tracking Activities", we setup categorized "Activities" for when people log their time, i.e.
□ AD (Administrative) - general meetings, other company based tasks, etc.
□ DV (Development)
□ MS (Marketing Support)
□ PW / CS (Project Work / Customer Support)
□ PW / SP (Project Work / Special Projects ) - which means billable work.
That sounds similar to what we need to do - thanks for that.
We use Azure DevOps for managing software development work (such as epics, features and user stories). Obviously, we don't want to duplicate that in OP. So, did you do away with all those work package types, and create your own, namely AD, DV, MS, PW / CS and PW / SP? Or are those categorised activities captured in OP in some other way?
I also note from what you've said you seem to have two ways of tracking project work - i) as projects in OP, and ii) as PW activities under 'Administration.' Or, have I misunderstood?
Yes, we created our own time tracking "activites" and disabled the activities that came default in OP
We typically have "high level" Projects defined with "Sub-Projects" (items behind the "-" mark), i.e.,
AD - Administrative
Applications
- App1
- App2
- App3
Website
- App1 BI
- App2 BI
- App3 BI
PW/CS - Project Work / Customer Support
- Generic work
- Generic Support
PW/SP - Project Work / Special Projects
- Generic work
- [Custom/Special projects that are customer specific]
Under each Project/Sub-Project are the defined "Work Projects" (Tasks)... very few are actually "timelines" for a Gantt chart/true project plan, but I cannot say we do not use it that way either... depends on the project.
Either under the main project or the sub-project, we have generic Work Projects (tasks) with the phrase "(...timesheet)" added to indicate it is a generic task (but specific to a "Project") for time-keeping purposes.
For instance,
Applications -> App1 -> Task 21 "Applications - App1 Development (timesheet)"
vs
Applications -> App1 -> Task 200 " Fix directory display bug in configuration screen"
I haven't used OpenProject for a long time. However, I think it's one of the best software that people have come up with because you can calculate all the costs in the company thanks to one application. As a programmer, I advise you in the future to first Google and read articles about something, or watch videos on YouTube and only then do threads on the use of software or so on, because in fact, sometimes incorrect information can be shared here and you can't check it. For example, I learned about mqtt broker only thanks to articles on the Internet and some YouTube videos. I had never heard of this thing before.