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