Well, in general, yes, it's a good idea to make tasks in a Job dependent on previous tasks, unless there's a good reason not to.



If you make a task dependent on a previous one, the second task won't appear until the previous task has been completed.  This can make users' task lists much less cluttered.  In fact, the task doesn't get assigned until the previous task has been completed.  It just sits in the background, and no-one will be notified of it (until it's going overdue, that is).  


If you don't make tasks dependent, then all the tasks will be assigned at exactly the same moment.  This can mean that users suddenly get a lot of tasks appearing at the same time.  If Jobs are starting frequently, this could result in a long task list that's more difficult to work with.  


Sometimes, tasks naturally have a dependency.  Consider these: 


1) Get some information from client

2) Do something with that information

3) Notify the client of the result


These tasks seem to have a natural sequence.  There's no point in trying to do something with the information until you have actually got the information!  Likewise, you can't notify the client of the result until you've done the "something" in this case. Any tasks that are listed as dependent will display a "blocked" status, until the task it is dependent on has been completed, see below: 


Sometimes, however, there isn't this obvious completion order.  Client take-on Jobs, say, might have lots of tasks that need to be done... but in any order: 


1) Send welcome email

2) Send terms of business

3) Capture certain client information

4) Set up invoicing



Here, the order in which these tasks are done is less important.  You therefore have two choices: 


You could choose to set up these in the Job without dependencies.  When the Job starts, all four tasks would be assigned at the same time.  

You could set up the tasks with dependencies and then the tasks would be assigned one at a time when the previous step is completed.