There are a lot materials about agile software development. Tons of books how quick software development can be. But how it really looks inside? How does it look from the developers perspective?
In most cases it looks as like that:
Agile teams are mostly working with Scrum, because it's really easy to implement it, and it's really easy to work with. But to be honest neither do I or any of my developer fellows know a single company that is really implementing it fully. Of course everybody has a daily meetings, but sometimes there are exceptions to this rule, everybody knows that we need to do retrospective, but not every time, etc. It's really a fact, that most companies have customized version of Scrum. There's even a name for it: ScrumBut (http://www.scrum.org/ScrumBut). It's really funny that laziness of some managers and developers has gained its own name.
Scrum isn't the only methodology that is being badly customized. It is a really common way of doing software. I think that there are some explanations for this strange fact. Firstly we do have two worlds meeting here - managers and IT. Developers have their own language and they really don't see the need of managing them - people don't like to be controlled and monitored all the time (daily meetings may have this discomfort of impossibility to hide that we've done nothing productive today) and from the other perspective we have some strange dressed guys that have been doing something all day long, and we even can't tell what was it exactly...
Finding a solution for this problem isn't very easy. Mostly there are communication problems - managers have zero knowledge about IT, and developers have zero knowledge about project management. Both sides are very different and both sides need to cooperate together. It would be great when both sides can think about the other camp and how to make life of both sides easier.