原帖地址:http://www.codeproject.com/Articles/704720/SCRUM-explained?display=Print
Introduction
Scrum is a framework (not a process) which is to be used for product development. Although it has become quite famous for software development, it can be applied to any product being developed, which requires intellectual work. Mass production elements do not require Scrum. This article, however, will focus on Scrum and its appliances to software development.As stated in the previous paragraph, Scrum is a framework, which means the following: Scrum tells you what to do, but not how to do it. Here is the strength and the weakness, at the same time, of this framework. You will notice that the framework is very easy to understand, really, it is straightforward. The caveat lays on how to implement it correctly. Whenever a team tries to implement Scrum, they notice how hard it is to follow it to the letter, basically due to two factors: firstly, intense people interaction and discussion is essential, and this is something that usually is not trivial, especially among software developers; secondly: Scrum throws in your face the problems you are facing, not giving you a clue how to solve it.
Waterfall processes, such as CMM, are based strongly on documentation; the idea is to leave the development process as independent as possible from the people involved. Therefore, such processes were much easier to follow because you, the Team, is told exactly what to do. Scrum, takes the opposite approach: it focuses on people - they are the pillar of the development process. This is a great mindset change, in my point of view, because one of the core problems of CMM-like processes is that they completely ignore the people involved, which leads to enormous problems, such as: not enough documentation no matter how much you wrote it, lots of contradictions in what was written and what was coded, and so on.