#1 Software project is not a religious ceremony. Don’t make it one.
Forget strict methodologies and their rules, the comedy. They are not necessarily bad nor good, marketing gimmicks they are. Food for authors and consultants.
Pick the best things from a set of methodoligies, create the combination that you and your team are comfortable with and which works well for your project.
#2 Your project is not so unique.
Even though most projects may have many unique aspects, try to use existing modules and products where ever you can. Evolution is safer than revolution. Copy shamelessly. Build on top of what others have done before. Don’t go walking under the desert sun without a reliable map.
#3 Bigger your project, more prone it is to delays and failures.
Make it smaller. Slice it. Slices are good.
#4 Yet there will be delays.
Expect delays as you will certainly meet the men with a hammer. “In budget and in time” is a rare breed in IT, because people actively forget the unexpected.
Put slack into your plan.
#5 Beware superhero developers.
Superheros are fast in writing code that is impossible to an average colleague to understand. That kind of code is a nightmare. Superheros don’t want to do boring stuff like software maintenance so others need to. But if they (the colleagues) don’t understand the code, then what?
#6 Work smart and hard, then it will be alright.
Big results need hard work. There are no shortcuts. You personally have to get excited about your project. If you’re not involved then why would others?
#7 Don’t trust on numbers, progress must be visible and concrete.
80% ready. What does it tell to anybody? Nothing, nothing at all. Believe and trust progress only if you can see it as a prototype, demo, POC, UI that works as expected, UI that looks good, data stored in the database, whatever. But it needs to be visible. You need visible proofs.
#8 Keep the scope, dont let the bloat grow.
Minimum viable product, no bloat. Then go forward from that, in slices. Slices are good.