To every Myth there is always an equal destructive (Stupid) and opposite counter Myth:
Here are some Examples
You do not need to design up frontCounter Myth
Design is a one time effort which is best done before you startReality
You need to design some of your system up front and some of your system as you go. How much you need atg each stage depends upon your understanding of the problem, you technical skills & your system.
All user stories may be implemented independently from each otherCounter Myth
We must analyze all the dependencies between all features in order to lay out our critical pathReality
There will always be some dependencies between different user stories, however a lot of those can be eliminated with some effort invested during story slicing. Those which are left are usually obvious enough for a reasonable team to deal with.
you don't need architects.Counter Myth
A strong enough architect can design the system in such a way that anyone could implement it.or
The architect doesn’t need to codeReality
Every team needs to have strong design skills, when the projects becomes big enough a dedicated person (aka the architect) to help with the communication of the overall design and helping making sure everyone stays on the same picture is really important. However, the architect in order to be effective, needs to be involved in the day to day programming issues and challenges the team encounters. And at the end it will be the programmers that will do the implementation and they will adapt it according to their understanding so you better have a strong team as well.