Contrast this with software development: If you use the same tools as people who build skyscrapers, you are locked-in to a largely "waterfall" model of development. That's way out of fashion for good reason. The plan is rigid and subject to misreported completion. Projects die with 80% of every task complete but with few of them actually finished, done, put to bed.
But if you use "swim lane" style tools, the plan's malleability is an invitation to make frequent changes.
The best I have been able to come up with is:
1. Use a traditional resource-loaded CPM chart to find places where the project is resource bound, find milestones that can be used to funnel multiple task completions to a choke point that must be completed before subsequent tasks are started, and get a best-estimate for total project completion. This is for planning only, not tracking.
2. Use a "swim lane" style task manager to run tactical resource allocation and keep decisions about resources fluid enough to not be bound to a rigid waterfall process.
3. Keep a versioned spreadsheet (Google Sheets is ideal for this) that tracks added and (ha!) deleted tasks and their resource and time estimates.
4. Use milestones as gates that must be crossed before earlier parts of the project can be confirmed as completed. If the milestone is not complete, the project is in a state of day-for-day slippage.
This keeps a project nimble, not to say "agile," it provides adequate discipline before you find yourself at the end of the project schedule and are surprised it didn't all come together in the last week, and it gives me the documentation needed to take to a client when change requests add up and a re-estimation is needed.