I love DDD, not domain driven design but instead double diamond design. In fact, I even mentioned it in my colleague.readme. Double diamond design solves many of the problems that I see most startups deal with. Engineers try to write code immediately and end up solving problems that no one has. What's a PM to do?