We don't need no architecture! We don't need no code control! We are agile, we know better! Architects, leave us Devs alone!
"Wait a second. Aren't you an architect?" - you ask. Hell, yeah! And I'm quite fed up with what is happening in the agile space. It seems like the human nature inherently pushes - if not all, at least some of - us to screw up all sort of good ideas, be it because of laziness, stupidity or ego.
Would you ever want bridges or skyscrapers to be built with only a rough idea of what is being built. Why then we allow the software to be built like this.
By all means, I am not against agile; on the contrary, agile done right is invaluable. The problem is that more & more delivery organisations assume an immature model where agile becomes an excuse for little or no architecture work.
Architecture is there to set the structure, to guarantee that end quality will satisfy required levels. It is like a railway for the train.
I've recently heard from a developer on a team: "We do not need architects." Well, sure you do not need architects, or any other label for that matter, as long as the team can self-regulate itself and impose a structure over the product, but wait, isn't that architecture?
There is a fundamental problem with the responsibility for defining architecture being spread thin all over the team: no one is ultimately responsible for it, and quite often egos overtake - please do not be surprised, we software engineers are well know for our big egos - a result being an accidental architecture. Of course, if the agile lead has a decent background and experience he/she will not let it happen, but then they become an acting architect.
Finally, architecture brings not just the structure, but also reusable approaches to solving common problems. A system built this way is cheaper to maintain. We need not forget, that software is a business and while having fun doing it is great, it is not enough.