项目进行期间核心人员离职,如何避免设计思想的遗失或项目组其他成员一时无法接手?
诚如所见,IT系统的本质实际上是其背后的思想,而不是代码本身。但是,思想是存在于人类大脑中的意识。
表面上看有两种方法可以解决这个问题:
A. 将这种思想格式化为一种外在的文档,供人们参考与讨论;
B. 思想至少同时存在于两个人的大脑中,并且他们对问题的看法与观点是基本一致的。
A方法的难点在于:
- 如何将系统背后的思想转换成人类可以认知与理解的语言、图形或文字?
- 如何在百忙之中抽出时间来做这个工作?
- 如何传承这些知识?
B方法的难点在于:
- 这种团队工作机制会是什么样的?
- 是否可能会造成浪费?
- 如何传承这些知识?
目前,IT行业将其格式化的手段有用户需求书、系统规格书等过程;UML、数据流图等工具。或可以参考。面对A2问题,我的建议通常是,如果已经存在的系统可以采用逆向工程将其还原出一个版本,然后再在此基础上做添加就容易许多;如果是第一次,那么我的建议通常是配个助理,具体的文档化的工作交给这个助理,但是关于背后的思想,则必须由这个核心成员交代并完成。
对于B1问题,敏捷开发方法中的结对编程实际上就是这种例子的一种参考,当然结对编程还能解决其他问题,但其中之一(而且是核心之一)就是保证系统的任何一个部分的思想都有两个人同时理解。他以部分的浪费换取IT行业高的离谱的流动率。
无论采用A方法还是B方法,我们都将面对第三个问题——如何传承?这就是为什么需要定期学习和回顾我们的系统的知识的问题。这只是采用了人类早已熟知的古老方法,老酋长将关于农耕、陶艺、治病和社会习俗的文化知识在不断的教育中教授给下一代。
但是,以上方法在IT企业成功的案例并不是很多。这是个行业性的通用问题。
创建时间:2014-09-30 00:00
2025-08-07
2020-02-25
2019-12-25
2024-07-15
2024-06-19
2023-04-18
2020-06-05
2025-07-31
2020-07-06
2019-11-28
2019-04-08
2020-02-17
2020-11-09
2025-02-14
2019-10-21
2025-09-03
2024-11-08
2020-12-22
2024-01-30
2020-07-27