若是不去亲身经历几个外包项目,读者是不可思议这种“焦油坑”的恐怖。外包项目由于规模较大,涉众较多,在管理上每每更为复杂。本文,阐述外包项目的特色以及笔者的管理经验,但愿能便帮助读者管理好外包项目。程序员
1 项目中常见的问题算法
常见问题 | 现象 |
范围 | 需求难以冻结,处于“变动-修改-测试-变动”的死循环中。编程 |
质量 | 文档质量问题,如:关键文档缺失,没有能按照统一要求编写文档;文档内容先后不一致,有歧义,预期读者没法理解,文档版本与代码版本不一样步等。安全 编码质量问题,如:不遵照编码规范,可读性差难以维护魔数泛滥,关键代码无注释,代码检查出现大量警告,滥用语法致使性能瓶颈等。架构 系统质量问题,如:不写验证,安全漏洞,异常频发,内存泄漏,日志缺失,不支持大量用户,运行缓慢等。性能 |
成本 | 前期成本估算偏差较大,缺少足够依据。测试 后期没有对成本进行量化分析。编码 |
进度 | 项目常常延期或者是匆匆上线。设计 |
外包项目中凸显的一些问题 | 现象 | 解决方法 |
前期准备不足 | 需求质量问题,如:遗漏需求,需求不明确,需求描述先后不一致,需求存在歧义等。日志 开发环境问题,如:配置管理、开发、测试、Bug跟踪、项目管理等环境搭建没法知足工做须要。 流程问题,如:是否已经创建了周知的工做流程,是否已经具有了相应的范本、检查标准和公约。 |
尽快梳理需求,搭建环境,创建项目所需的最基本的生存环境。 制定计划时,充分考虑到这种状况,识别潜在风险,预留足够的风险储备。 |
人际关系复杂 | 干系人数量庞大,其需求各有不一样,可能存在需求之间的冲突。 涉及多个供应商、提供商,项目进行中会有开发团队之间的矛盾冲突。 在人员混编团队中,会发生外部人员难以管理甚至罢工的可能。 |
必须明确掌握核心干系人的职位、职责和角色,增强沟通,作好干系人关系维护。 遇到问题要协调多方负责人协调解决,不要带感情色彩。 |
资源问题凸显 | 人员储备不足,开发用机器配置较低编译缓慢等。 外部人员能力良莠不齐,且难以管理。 人员离职频繁,资源严重不足。 |
尽可能参与到人员招聘中,对能力不达标的在职人员进行培训,尽可能不要劝退。 磨刀不误砍柴工,必要时,申请合理的硬件资源。 在进度计划里安排单点技术的交叉培训,以应对该人员离职时的冲击。 |
PM没有足够权利 | 受制于多个上级领导,对甲方决策无力抗争,对项目组内的甲方人员难以管理。 |
和领导搞好关系,增强沟通,本身权限外的找负责人解决。 |
地域和文化差别 | 封闭开发时的伙食问题,如:上海人不爱吃辣的,回民不吃猪肉等,这些问题他们都会找PM。 沟通问题,不一样地区语言文化差别,尤为是远程会议时,可能会在理解上有阻滞。 |
及时和甲方沟通团队成员的合理诉求,要勇于维护团队的利益。 认识到理解上有疑惑时,及时沟通,不要碍于面子不去张口。 |
加班 | 加班致使离职。 加班致使士气低下。 加班致使消极怠工。 加班致使代码质量低下,Bug频发。 加班会致使疾病甚至过劳死。 |
合理的安排赶工,对不合理的要求说“不”。 尽可能为加班程序员争取利益。 一马当先。 合理安排计划,预览风险储备,尽可能作到在节假日不加班。 |
须要PM参与设计和开发 | PM想要扮演架构师和程序员的角色。 |
优先完成关键路径任务,利用碎片时间参与其余非关键任务。 |
2 项目管理经验总结