Home » Resources

Blog

Delivery Task and Project Management

“All our projects require the same delivery tasks each time they are created. We would like them to have predefined start and due dates based on when the project starts. We may sell new products in the future, so this solution needs to accommodate that.”

 

Project and Task Management

The basics

We approached the solution in the following way: the first things we need are a custom object  Project__c and a custom object Delivery_Task__c with a lookup to Project__c,. This provides our basic architecture on the front end. 

Next we need to store the information about the tasks we are going to create. For this we will use custom metadata types. Our custom metadata object will hold information about the type of project the task should be created for, how many hours should be assigned to this task, as well as where in the project lifecycle the task falls. 

The Automation

Creating the Delivery Tasks

Our first piece of automation will be triggered on creation of the project record itself. A flow will get our metadata records and use them to create the delivery tasks.

  • 1. Get projectDeliveryTaskMDT: Get a collection of all the metadata records Project_Delivery_Task__mdt where Type__c = Project__r.Type__c.
  • 2. Delivery Tasks found?: If no tasks are found in step 1 we will exit the flow.
  • 3. Loop Tasks: We will loop all the tasks we found in step 1.
  • 4. Assign Task Values: We will assign all values from the Project_Delivery_Task__mdt record to a sobject variable representing the Delivery Task

  • 5. Add Task to Collection: The sobject variable will be added to to an sobject variable collection.

  • 6. Create deliveryTaskInsertList: This will create all the Delivery_Task__c records.

 

Setting the Start Date

Great, our project now has all of its delivery tasks. The next part of the process is to determine when these tasks are scheduled to be carried out.

Our second flow will be triggered when the field Start_Date__c is populated on the Project record. We have a validation in place to ensure that all projects start on a Monday.

  • 1. getdeliveryTasks: We will get all the delivery tasks related to the project.
  • 2. For each delivery task, we will calculate and assign:
    • Start Date: ({!thisProject.Start_Date__c}+(({!Loop_deliveryTasks.Starting_Week__c}-1)*7)) If the value of Starting Week on the task = 1, the Start Date will be the same as that of the Project. If Starting Week = 2, it will start the Monday after the Project Start Date.
    • Due Date: {!Loop_deliveryTasks.Start_Date__c}+(({!Loop_deliveryTasks.Weeks_to_Complete__c}*7)-3) If the value of Weeks to Complete = 1, the Due Date of the Delivery Task will be the Friday of the same week in which the task Start Date is. If the value of Weeks to Complete = 2, the Due Date of the Delivery Task will be the Friday of the week after the Task Start Date.
  • 3. Add to Group: The task is added to an insert sobject collection variable.
  • 4. tasksToUpdate: checks to see whether there are any tasks to update.
  • 5. Update Tasks: All the tasks in the sobject collection variable are updated.
  • 6. getLastTask: The task with the greatest (furthest out) Due Date is found.
  • 7. Assign Project End Date: This date is assigned as the End Date of the Project.
  • 8. Update Project: The Project record is updated.

 

Considerations and Enhancements

  • Further sub categorisation of projects/tasks: A Subtype field can be added to increase the flexibility of the Task Creation process. 
Back to all resources
Top Get in touch

Find out how ThirdEye can help your company to succeed

Communication:

Sign up to receive marketing updates and news from ThirdEye Consulting:
We’d like to keep in touch with you with news and updates about ThirdEye Consulting and the innovative work we are doing.
We will never sell your data and we promise to keep your details safe and secure.
You can change your mind at any time by emailing contact@thirdeyeconsulting.co.uk.

Follow us:

Interested in being part of the ThirdEye's team?

Communication:

Sign up to receive marketing updates and news from ThirdEye Consulting:
We’d like to keep in touch with you with news and updates about ThirdEye Consulting and the innovative work we are doing.
We will never sell your data and we promise to keep your details safe and secure.
You can change your mind at any time by emailing contact@thirdeyeconsulting.co.uk.

Follow us:

By clicking "Accept All Cookies", you agree to the storing of cookies on your device to enhance site navigation, analyse site usage, assist in our marketing efforts, and for personalised advertising.

More Information Accept All Cookies