There is no right or wrong way to develop software. This is a controversial, but key concept to grasp.
What matters is that everyone working on developing a single piece of software agrees to use the same methods. They must pull together rather than pulling apart.
No methodology or practice works the best across all products, teams or systems. You need to find what works for you and yours, and then push to maintain that successful process over time.
Many people have written and talked about what worked for them, whether it is Scrum, XP or waterfall for delivering projects, or smaller and more syntactic decisions such as OO programming, functional programming, or even a particular coding style.
Don’t fall into a trap of a one true way. What is true for one person in one situation may not hold true for your team in your situation.
Once you find a method you can make use of, then you must by all means strive to implement the best practices and recommendations of others. There is little point in choosing to do something badly when you can choose to do it well.
Find something that fits, do it as best you possibly can, and good quality software will follow without fail.