Scrum and Productivity
The application of Scrum was found to increase the productivity of the project team. There may be several explanations, but we feel that the single most important reason is that Scrum allows developers to focus on delivering usable functionality to the client, rather than delivering artifacts of questionable value. Analysis and design deliverables were produced when necessary during the projectwhen it was felt that they added value. However, when there was no need to produce written deliverables, the project team comfortably ignored them. Because both Scrum and XP rely on emergence, the combination allowed the business to understand how to leverage engineering resources.
It's important to note that this mode of operation is only sustainable when the project team is small. In the case of Project X, the project team consisted of only 14 individuals, with varying degrees of experience and expertise. In larger projects, some initial system and product architecture artifacts would probably be required to help coordinate the teams. However, we successfully delivered more functionality within the first few Sprints than the previous team did in nine months.
Scrum also insists that the client prioritize the required functionality (that is, products) in the product backlog. This practice allows the project team to deliver the functionality that the client wants the most. A beneficial side effect is that the client is genuinely excited by any functionality demonstrated at the Sprint reviews. This excitement is often transferred to the project team, boosting team morale.