I attended the Agile meetup in Singapore last Friday and a topic I raised there is how to fix a cargo cult cargo team. These are teams that have the shape and size of a true agile team, may have some of the agile practices such as unit testing and daily stand-up, but if you looked deeper you will notice that people are reporting to their project manager in their stand-up meeting and unit testing means firing up Visual Studio to verify data the programmer knows is in the database. Many of these teams also branch their source trees and do not integrate for weeks on ends because merging is so painful.

You can never do agile. You can only be agile, which means collective ownership, craftsmanship and continuous improvement. Code, deploy to prod, review, improve. Rinse and repeat.