1.概述
软件是关乎于人的行业,而人依靠文化来长久维系。这个行业很多问题的根源来自以下两个方面:
- 维系人的文化
- 扮演角色的人
2.波动的水纹
当我们在湖中投入一颗石子时,一道道波纹总会被传播很远……
2.1 现象
- 同一产品版本繁多,版本变动频繁。不同版本之间甚至存在不一致,一个版本的变动可能影响到其他版本的正常功能。
- 项目需求难以满足。产品疲于应付不同项目的需求。
- 产品开发人员被抽调出来为不同的项目特定需求进行开发。同一产品组不得不同时维护多个不同差异的版本,每一次的变动都存在着影响不同版本的潜在风险。
- 项目需求的波动总是被传播到产品开发部门。
- 产品为了满足项目的需求不得不进行修改,不得不接受设计侵入。
2.2 问题
- 产品架构设计缺失,难以满足项目需求,缺少可扩充性,缺少完善的API。
- 项目需求波动,向产品提出的修改侵入产品设计,进而影响产品的稳定性。
2.3 解决方案
问自己的两个问题:
- 1.我们可以在现有的基础上进行改进、完善吗?成本回报如何?
- 2.如果风险无法消除,我们有备用的方案吗?这个备用方案已经启动了吗?
问题一:
- 解决方案一:成立构架小组,优化产品设计,重构现有代码。
- 解决方案二:成立新的产品开发小组,进行第二代产品开发,同时原有成员维护当前版本。
问题二:
-
1.建立项目向产品提出修改的评审流程:——建立”波纹”隔离墙。
1)在项目组内选择合适人选对向产品提出的修改设计进行初步评判——要求构架设计能力; 2)提交技术评审委员会进行评估——须恰当选择委员会成员; 3)提交产品修改或项目组自己开发。
-
2.建立产品版本的周期性内部发布机制(可以月为单位):——为项目经理提供如何在项目中使用产品的依据。
1)每月固定时间发布版本,并在项目部安装部署; 2)每月固定时间发布当前功能列表; 3)每月固定时间发布下月将实现的功能点; 4)公布产品6个月内的Roadmap—可以只是稳定当前版本.不添加新功能。
3.天马流星拳与一阳指
- 天马流星拳是一部动画片《圣斗士星矢》里的招式,主人公可以在1秒钟内打出几百拳,属于广种薄收的招式;
- 一阳指的奥秘在于集全身内力于指尖,一招制敌。
3.1现象
- 项目总是感觉缺少人手
- 公司里各式各样的技术都在使用,却缺少能够解决问题的人
- 总是遇到很多技术瓶颈
- 测试人员忙于学习,应付不同技术的测试
- 公司产品很多,但仍难以适应项目需求
3.2 问题
- 缺少公司整体技术路线规划
- 人员技能分散,学习成本、培训成本较高
- 产品仍需时间成熟,人员力量分散
3.3 解决方案
-
1.根据公司所在行业特点,当前情况规划技术路线:
1)建议选择C++,Java,python为主要技术发展路线; 2)规定项目使用技术除客户指定外,必须从技术规划中自由选择,否则必须审批; 3)要求项目经理尽可能的引导用户使用公司规划的相关技术。
-
2.从企业整体层次培养员工相关技术技能——研发能力提升计划。
1)第一阶段培养开发人员——确保能够保质完成任务; 2)第二阶段培养设计人员——提升企业研发能力及核心竞争力; 3)从中发掘、培养,确保合适的人在合适的位置做合适的事; 4)培养可持续提升企业研发人员能力的文化、机制。
- 3.给产品合理时间成熟完善,如果可以或需要,协助产品完善(形式可以探讨),并准备相应的备份方案。