整个“团队”来对项目负责。这里的负责是指所有人对项目中的所有部分负责。而在以往的环境中,很多时候是一个“团队”中的各个人负责个人设计,这样就很容易给破坏“团队”造成合理的借口,也容易在开发人员之间造成隔阂和误会等不合作的现象。在各个环节以“队”为单位进行开发能够针对性的克服这些弊端。
改变办公室的布置格局,使之更利于团队之间的沟通。
以沟通、简单、反馈、勇气的准则来指导团队。
使软件部的每一个人都成为轻松惬意的编写优秀软件的团队的一分子。
2、客户为中心
客户有权制定整体计划,有权知道什么时间能完成什么项目,成本是多少。
客户有权力从每个星期编程过程中获得最大收益。
客户有权在不支付过高费用的情况下改变计划、替换工程、更改优先级。
客户有权随时决定软件变动范围并得到有关反馈,也可以在任何时间取消一些项目并保留能反映投资回报状况的有用工作系统。
3、具体项目的处理
解决进度延迟,多发布迭代周期,以获得对进度的详细反馈。
预防项目取消,让客户选择具有最大意义的最小版本,从而在投入生产前减少发生错误的机率,同时软件的价值也得到最大化。
预防系统恶化,创建并维护一套测试程序,保持系统最佳状态,不允许累计错误。
预防缺陷率,遵从客户需求,逐个程序进行测试。
预防业务误解,使客户成为整个团队的一部分。在开发过程中,不断和客户进行沟通,并且项目的说明书不断得到改进。
预防业务变更,缩短版本周期,使每个版本开发过程中的变化最少。在一个发行周期中,欢迎客户用新需求取代仍未制作完成的功能。
程序员承担估算和完成自己工作的责任,并将他们完成工作实际所花费的时间及时反馈给他们,改进并且尊重他们的估算。大家都很清楚应该由谁做出或者改变估算的规则。这样,就可能更少的因为要求程序员作明显不可能完成的工作而使之感到沮丧。鼓励团队成员间的互相沟通,以减少由于对工作不满意而产生的挫败感。
共同拥有代码,更有效的减少人员调整后对软件项目的负面影响。
4、多项目的整体运作
整体软件部门划分为b/s工作组,c/s工作组。
实行分时多任务的开发方法。以一个星期为一个开发周期,每一个开发周期都交给客户一个已经发布的软件。适时建立并以专业团队为开发单位,全面实现客户权利。
促进软件项目之间的沟通,寻求编程风格、习惯、标准的统一。5、软件部岗