While agile is the best starting point I know of, it alone will not ensure your project or product is successful. I have failed many times using agile with smart, motivated teams despite being deeply involved in agile approaches (I helped create DSDM in 1994, have used agile for 20+ years and served on the board of the Agile Alliance). I have however, also been fortunate to work on many successful projects and with some award-winning teams and have come to realize they all use agile alongside other strategies and approaches; sometimes at the forefront, often times in the background.
This is obvious once you see it, but rarely is it discussed or supported by models or literature. Successful teams use a savvy combination of agile, leadership, domain-specific skills and traditional approaches where they make sense. I believe the future of agile software development will include tools to help navigate this mix of approaches and choose the best combination for the endeavor at hand. Knowledge is weightless whereas processes and ceremonies come with a burden of execution, so we need to choose wisely the approaches we adopt and continue learning from a diverse spectrum of knowledge.