软件开发中的挑战与应对策略
1. 功能蔓延的危害与应对
功能蔓延会破坏程序设计的完整性,使修改后的代码变得脆弱。在实施阶段就出现这种逐渐的衰退,会让维护工程师的工作变得更加困难,就像搬进新家却发现有擅自入住者已经进行了一些自行改造。
新技术的早期采用是功能蔓延最常见的原因之一。在软件行业,总会有新的开发框架出现。技术爱好者或拖延时间的人,常常会“发现”新的小工具,然后要求添加新的需求。在极端情况下,项目可能永远无法部署,因为每次接近代码截止日期时,都会发现新的技术。
那么,工程师该如何应对不合理的截止日期和功能蔓延呢?
- 量化截止日期与功能 :处理截止日期的最佳方法是根据应用程序功能对其进行量化。项目的工作时间越长,能实现的功能就越多;反之,工作时间越短,能实现的功能就越少。如果项目发起人给你安排了紧张的时间表,你应该在分析确定在该时间段内能够成功实现哪些功能之后,再接受这个时间表。
- 明确新功能的代价 :如果在项目实施阶段,项目发起人要求添加新功能,你应该让他们知道,这个新功能需要调整时间表来适应。也就是说,要让发起人明白,新功能不是免费的,它需要付出时间成本。时间意味着金钱,而金钱是大多数商务人士能理解的语言。
2. 书面记录的重要性
在软件开发中,书面记录至关重要。这可以通过一个例子来说明,海军陆战队的教官有时会和新兵玩一个阴险的小游戏。教官让新兵举手,当新兵举起一只手时,教官却大喊让举另一只手。这个例子告诉我们,如果收到的指示含糊不清,一定要要求澄清,否则可能会被指责做错事。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



