Best practice advice on multiple clients, project, epics vs billing by the hour

Dennis Poort October 25, 2015

Hi,

We've been using JIRA for some time now, and find that to achieve certain results we (ab)use some functionalities in ways that might be up for improvement. I would like to layout our process using JIRA and hope for your advice. Thanks for taking the time to read my small novel below. wink

 

Questions:

I'll ask my questions in advance, and provide information later, so you know if you think you'll be able and willing to advise me:

  • Would you recommend using the "Project = Client" approach, or would you advice on setting up a new project for bigger changes, and use f.e. a Maintenance project per client? 
  • Can you think of a better way to tackle filtering billable issues, without manual 1 by 1 checking issues/calculating, and/or losing epic's functionality? 


Background:

We have multiple clients, of which always about 40 active at a certain time. New/bigger projects usually span about 2-6 months. Each client may report bugs, or small-mid changes (half a day work to a week work), up onto starting a bigger 3-6 month projects on average.

We usually assign a dynamic team of a frontend developer, backend developer and project manager to the project. It can vary slightly.

We bill mostly by the hour, manually. Sometimes we have fixed price sales or non-billable bugfixes.

This kind of approach dictated some specific setup;

Current JIRA setup:

At the moment we create a JIRA project per client. Customer communication comes via an external service desk, of which we create JIRA issues. This can be bugs, changes, new features, etc. 

To check which issues need to be invoiced we've setup a filter to check workratio > 100% and for a custom field with a "bill by hour" value. We set the Original Estimate value to hours already billed (and fille remaining estimate with what should be original estimate). This way we have an overview of issues that need invoicings, at the cost of correctly using the Original Estimate field the way it was intended. This is a setup for individual small changes.

Now for bundled changes, or projects, we do not want to bill for each individuel issue, so we create an epic which represents a project/combination of small changes. We create issues inside that epic with a custom field "bill by hour epic", and a numeric value of the hours already billed.

Each projectmanager checks manually each week the sum of logged hours on issues in the epic, to be able to bill the possible extra hours. This is at the cost of proper epic usage (I think), because we can not use multiple epics in a project, and we can not use a filter that shows all epics that need billing. We need to manually check every active epic to calculate hours.

 

 

I would really appreciate your advice and would be happy to provide additional information. Thanks!

3 answers

2 votes
Nic Brough -Adaptavist-
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
November 3, 2015

I'd be tempted to look at Tempo Books for the invoicing - it's pretty much independent of your structure (I'm not sure I'd use it without Timesheets for your case, but as you already use that, you've got the data there already)

Dennis Poort November 4, 2015

Will check that out, thanks. Indeed using Tempo Timesheets and Planner as well, so this seems like a logical step. Will invest some time in trying out if this would work for us and get back to my findings here for future reference.

0 votes
Serkan September 29, 2020

Hi,
We've built a fully JIRA integrated product exactly for that kind of needs. We'll be appreciated if you try and give us your feedback.

https://www.maestrocr.com

BTW, we are collecting the feedback as CR suggestions using MaestroCr widget, too (you'll see it in our website). That setup allows you to get CR suggestions directly within your own products running in your clients already.

 

Best,

Serkan

0 votes
Dennis Poort February 21, 2016

I have already made a few changes in this. I've created a script using Script Runner that checks a custom field containing the hours billed as a float number. It checks the logged hours and shows how many hours are open for billing.

For an epic it accumulates all linked tasks hours of a certain invoice type, so you can bill all at once.

I can filter for epics/issues that have hours to be billed.

 

This way we can use the Original Estimate field the way it was intended, and it removes the step of having to check each epic manually, because we can filter for epics that have hours to be billed.

 

I am still trying out Tempo books, but for now wanted to update this issue to reflect our little bit improved way of working. smile

Suggest an answer

Log in or Sign up to answer