DDD doesn't imply any "order" in the implementation.
But, it put a lot of effort in understanding the domain and make it the most explicit as you can.
Depending on the project it can take months to have a good understanding of the domain, and I think the software should evolve togheter with the team knowledge of the domain.
So, I think you should start (in a very agile mood) from use cases, write tests, implement/evolve the domain, complete the use case, make the tests pass, be sure everything is ok and go with the next use case.
So that the domain layer in your application is continuously evolving and will be refined with new concepts and understanding of your domain as you gain more knowledge about it.
UPDATE
The hard part of this approach, is maintain fast development of use cases, so having easy refactor of your model. To do this all the clean code, design patterns, and all the tricks discovered to do a "good" code helps.
What can be very hard to refactor can be the persisted data. Having a data structure refactor of persisted data can be very painful, for this the event sourcing technique is a lot associated with DDD.
(In a simplicistic way) It is centered on storing immutable data structure, and your "domain model" is just an in memory projection of these data, so that you can refactor your model without having to refactor the persisted data.