I am working as a software project manager for autonomous driving.
Recently I had to plan a project with external dependencies.
I needed to check if the available ressources were sufficient, so after the scope I started defining the work packages.
The problem was scheduling the activities because I didn't knew when to stop breaking down into smaller packages and it became complicated to have a clear schedule with this amount of dependencies.
I didn't want either to miss the dead line nor commit with something impossible.
In the end I spent a lot of hours doing the schedule and I couldn't magade the complexity well.
I red there are people with schedules with 1000 activities in it.
How do they do that?
Perhaps in developing sw is not that easy?
There is a rule of thumb that comes from phychology as it is used a lot in software/IT and it has been extended to other fields. The rule said that you have to split something 7+-2 levels. It means a range between 5 and 9 levels. I have tested it lot of times and it works. Saving Changes...
Additionally, a task ideally would not be broken down to be less than 8 hours. Conversely, a task more than 80 hours, would signify it should be broken down further. Leveraging a WBS will help identify opportunities of decomposition.
If possible, create phases in the project and create schedules for small phases.
It would be easy to create/maintain and your can track easily.
You need to keep a close eye on such project implementation. Saving Changes...
My advise is to break it down in activities that are quantifiable in terms of effort (manhours, cost) and, if possible, linked to a deliverable. In addition, ensure to avoid using the schedule as a check list. Saving Changes...
Breaking the complexity down (I.e. using phases)
Rule of thumb 7+/- 2 levels
Task effort between 8 and 80h
20% effort for planning
But how do you deal with a schedule with a lot of dependencies.
Do you simply ovious some of then and focus on the few important ones to simplify the schedule?
If the schedule gets to complex it doesn't help a lot when managing the project.
One thing to note, is all tasks should have a dependency. For one, if a task is completed either early or late, all following tasks will adjust accordingly. Otherwise, you are edited every single task manually.
Think of building a house, starting is dependent on permits, framing is dependent on foundation, plumbing and electrical can run in parallel, but must finish prior to dry walling, so forth and so on.
As far as managing the scheduling, aside from trying to break into smaller chunks or phases, there are grouping, filtering, and highlighting options in MS Project to help manipulate the data for easier consumption. Additionally, MS Project 2013,16 has nice reporting features to aide in tracking upcoming, late, or critical tasks.
Remember, as the author and maintainer of the schedule, no one will know it better than you. And it will take experience to determine the best way (for you) to manage it. But you'll get there.
When the dependencies are from External source (& those are controlled by external source), create a set of Interface Milestones in your Schedule for those External dependencies. Start Monitoring those Interface Milestones, when needed (slippages on those Milestones) drill down further. Saving Changes...
All those above given my fellow PM's are great advice. In terms of getting to large amount of dependencies, in MS Project, we have done the following for large projects
1. The milestones and dependencies are listed right on the top of the project plan.(even if it has to repeat), so the PM goes in there, verifies what are pending etc by date, daily or weekly depending when they are due, so we don't miss.
2. I have also seen some PM's use something called an integrated plan- for example, you have a high summary level plan and then you integrate smaller plans by phases and then the navigation and references are easier.
Also for point#1, use a different color, style, text, font etc. whatever makes it stand out. I like #1 above as I found that very beneficial for my large programs. One other suggestion could be using sharepoint or Outlook for reminding the upcoming dependencies or milestones so you are tracking closely. Saving Changes...