tips:
- 程序员是软件食物链的最后一环。架构师吃掉需求,设计师吃掉架构,而程序员则消化设计。
- 发现错误的时间越早,付出的代价越小。
问题定义的先决条件
- 问题定义的先决条件:为要解决的问题做出清楚的陈述。
- 问题定义在具体的需求分析之前,要用客户的语音来写,以客户的角度描述问题。
- 最好的解决方案未必是一个计算机程序。不要受限于程序员的思维方式。
需求的先决条件
- 明确需求有利于客户检测系统,明确的需求,免得程序员去猜用户想要的什么。
- 明确需求有利于程序员之间意见统一,有章可循。
- 重视需求有助于减少开发之后的系统变更。发现需求错误越晚,损失越大。
稳定需求的神话
需求像水。如果冻结了,就容易在上面开展建设。
需求稳定不变固然是好,但是一般很难实现。
在构建期间处理需求变更
- 如果需求不好,那就停下来重新整理需求,这样才能最大止损。
- 确保每一个人都知道需求变更的代价。新需求要考虑“进度”和“成本”。
架构的先决条件
- 架构为程序员提供了指引,他将工作分为几个部分,使多个开发团队或者开发者可以独立工作。
- 修复软件架构和修复错误所需的时间处于同一数量级,越早识别修复越好。