There are only three Scrum roles: the Product Owner, the Team, and the ScrumMaster. All management responsibilities in a project are divided among these three roles. The Product Owner is responsible for representing the interests of everyone with a stake in the project and its resulting system. The Product Owner achieves initial and ongoing funding for the project by creating the project’s initial overall requirements, return on investment (ROI) objectives, and release plans. The list of requirements is called the Product Backlog. The Product Owner is responsible for using the Product Backlog to ensure that the most valuable functionality is produced first and built upon; this is achieved by frequently prioritizing the Product Backlog to queue up the most valuable requirements for the next iteration. The Team is responsible for developing functionality. Teams are self-managing, self-organizing, and cross-functional, and they are responsible for figuring out how to turn Product Backlog into an increment of functionality within an iteration and managing their own work to do so. Team members are collectively responsible for the success of each iteration and of the project as a whole. The ScrumMaster is responsible for the Scrum process, for teaching Scrum to everyone involved in the project, for implementing Scrum so that it fits within an organization’s culture and still delivers the expected benefits, and for ensuring that everyone follows Scrum rules and practices. ——摘自Ken Schwaber,Agile Project Management with Scrum,Chapter1
从上一篇Blog(
软件开发复杂度)的分析,三个维度构成了复杂性: 软件实现技术,开发团队的组织,客户需求。在Scrum中,正好有对应的角色:自组织的Team通过交流合作解决软件实现中的各种技术问题;ScrumMaster负责组织团队,激励服务团队;Product Owner负责对客户需求从宏观和Business的角度来管理。
Product Owner是由什么样的人来担当?
理想情况下,应该由客户担当,但考虑到交流的成本还是由公司内部的人作为客户代表,负责和客户沟通交流。他可以完全不懂技术。
ScrumMaster是否应该是个技术专家?
从其职责来看,ScrumMaster应该是Scrum和项目管理的专家,也就是可以不是技术专家,但对于小团队来讲,需要担任一定的技术工作。ScrumMaster不一定嘛也不可能知道掌握所有技术细节,但对技术的背景应该有深入的理解,这样才能给予团队技术的培训和支持。