好的软件工程师,都应该是谦谦君子,因为君子重然诺!
“对于任何一个团队而言,无论是不是采用敏捷,信守承诺都是非常重要的”。
人无信则不立。一个强大的团队,他的团队成员都应该是信守承诺的人。项目初期,团队依据用户需求,确定项目范围,通过项目估计,制定详细的计划,包括资源计划、利益相关方计划、培训计划、评审计划……以及具体到每个活动的详细的进度表,如果团队按照这个计划完美地执行下去,项目也会取得完美的成功。可是,这些通常都“如梦幻泡影”,可望而不可及。
所以如此,因为团队的各个利益相关方总有人不能履行自己的承诺。比如,资源提供者违背自己承诺提供产品或设备的日期,就会导致进度的延迟;开发人员承诺自己具备足够的技能不需要培训,可是却不能解决面临的技术问题……这些对自己承诺的违背,导致进度的推迟,产品的质量下降等诸多问题,造成计划不能完美执行,不断地变更。
如果团队的外部承诺和内部承诺都能够得到完美执行,所有的项目就都会成功。那么,团队都应该有哪些承诺?
对于采用敏捷开发框架的团队,主要分成以下四个层次:
PO(Productowner)对Team的承诺:PO保证在Sprint会议前,把ProductBacklog准备好,对于可能在当前Sprint将要做的需求,要足够详细;PO保证在迭代进行过程中,不随便增删需求项;PO保证会准时参与计划会议、验收会议。团队对PO的承诺:一旦经过Sprint计划会议确定下来的东西,除非有极大不可抗力,一定要坚守自己的承诺,按时完成,即使加班。(我不提倡经常加班,但是鼓励这种为了交付的偶尔加班,这体现的是一种契约精神)。
ScrumMaster对Team的承诺:SM承诺会保护团队,保证团队在迭代运行过程中不受外界干扰,专心完成承诺的任务;SM承诺当团队遇到障碍的时候,帮助团队即时清除障碍。
团队成员对Team中他人的承诺:作为一个自组织团队,任务是认领的,一旦认领后,就意味着认领任务的人对所有人有个承诺,承诺会按时按质地完成;Scrum会有四个会议,团队成员要按时参加每一个会议,因为守时是对其他所有人的承诺。与之类似,我们传统军工企业项目团队内外又有哪些承诺呢?
所技术负责人对团队的承诺:所技术负责人承诺对重要的技术文档把关;承诺参加重要的里程碑评审。
项目主管领导对团队的承诺:承诺保证团队的使用资源,不随便安排团队成员项目外的任务;承诺参加里程碑等管理评审。
软件需求方对开发团队的承诺:承诺需求描述清晰准确,承诺积极配合开发团队开展软件的验证和确认。
开发团队的承诺:承诺自己开发的产品满足用户需求;承诺自己的任务会按时按质地完成。
……
上面所列的,仅是个人的粗浅的认识,各位可以根据组织的实际情况完善。
在GJBA/CMMI的PMC过程域的专用实践之中,有一条“监督承诺”,一直觉得很难做好。原因正是我们没有实现明确团队各利益相关方都应做出哪些承诺。如果事先明确了这些承诺,“监督”才能有的放矢,确实有效。
本文关于敏捷团队承诺的内容来自:《敏捷开发一千零一夜》
预览时标签不可点收录于话题#个上一篇下一篇