Tests are what I'm concerned about. I tend to do TDD when I develop code and run test suites in CI. I'd rather like something that can orchestrate in a development environment half way competently.
I find it hard to believe that docker-compose thinks that "start database, wait for port to be available and then start web server, then wait for port 8080 to be available and then kick off tests" is a workflow that ought to require a hacky bash script and a lecture about the importance of resilience. It's a pretty straightforward feature to implement.
I haven't used swarm but I can only imagine how bad that is.