This will be short one covering mostly a complaint I have about some implementations of Agile software development processes. The number 1 thing that people should remember when using these is that Agile is about people and relationships (stolen from the words of Scrum) as opposed to that of the process itself. What all the Agile processes have done is create a framework to start from. Not saying that I have hit where this is the bad case. Every case I have had the opportunity to be a part of focuses in the right directions, but I have seen where the Scrum bible is consulted, or things are rigidly adhered to, with no benefit to the team. A happy team is a productive team.
I guess I can finish this off with a second side rant, that Agile should mean just that. Priorities change and you can flow with them. I have seen this work well enough. The problem is when other teams or other customers come in with requests, most agile methodologies have no way of dealing with these. Or they do, and that is to let the single main customer (aka boss) dictates the priorities. The secondary customers get screwed. This is very intuitive. However when the secondary customer has a very valuable proposition, it might behoove the teams to internalize this sort of work.