<rant>I’ve been doing a lot of reading lately and much of it has been by people bashing Agile in Scrum in some fashion. One article I read really made me angry. The author complained that Scrum would always fail because there was no way to create a good cross-functional team of people who all knew everything about everything. Grrrrrrr!!!! That is NOT what we mean by a cross-functional team! A cross-functional team has all of the skills necessary to create a “done” increment of work from the product backlog. Not every member of the team has those skills, the team as a whole has those skills! For example, we don’t need every person to know how to do database work, GUI, and everything in between. We need someone on the team (or someones) that knows database and someone (or someones) that knows GUI, etc. All the skills needed will be at the team level, not the individual level.