Recently there has been lot of buzz around the buzzword agile software development.
Oops..did i just said it's a buzzword.
IMHO it's just old wine in new bottle. The quest to be more efficient and more productive is going on since the day the first company saw falling profits. In traditional companies teamwork was generally how well u get along with your boss and your coworkers. But in software develpment you this line is extended futher. Unlike the manufacturing factories there are no machies or processes to be made efficient, in software development all the team members are part of the machine and unless everybody works in harmony, you will have delayed projects or bad code written.
Wasn't great software made even before someone knew of agile practices?
Ofcourse there was but now as companies get bigger and development teams get larger these practices are just an easy checklist for the 'MBA' project manager.
Scrum and other such overarching agile methodologies are simply ways to enforce standardized positive behaviors upon otherwise mundane workers, or good workers lorded over by second-rate managers who themselves need some kind of framework to tell them how to handle their particular herd of cats. Managed-incompetence, you might say.
And since most software development managers have absolutely no idea how to program or design code so unless the actual team members interact with each other and do reviews and previews themselves ( which is what agile is about as nowhere there is team leader in agile development) there is hardly any chance of getting a robust product out in time.