软件定制开发 - 前期准备
如果只用一句话说明软件开发的关键,那就是:先弄明白要解决什么,再决定怎么做。看起来简单,但多数走弯路的情况都出在靠前步。下面把常见情况分类说明。
1. 需求调研与流程梳理
需求调研与流程梳理。从经验看,这一点在项目启动阶段最值得花时间讨论,因为此时修改的成本最低。一旦进入执行阶段,任何调整都会牵动其他环节。
需要说明的是,这件事没有统一的答案。适合别人的做法未必适合自己,判断标准应该是:这套做法能不能在自己的业务条件下稳定运行。
具体怎么做,可以按这个顺序推进:首先,把当前的问题按影响程度排序,只解决排在前面的;其次,为每个问题定义一个可验证的结果;再次,约定复查时间,把调整变成例行动作。
2. 原型与交互设计
原型与交互设计。这一点在实际操作中最容易被当成口号,因为短期内看不出差别。等到业务量上来、参与的人变多,差异才会显现——前期有没有把这件事想清楚,直接决定了后面是继续优化,还是推倒重来。
很多企业客户在这一步走弯路,是因为把顺序弄反了:先去找工具和方法,再回头想问题是什么。顺序对调之后,效率差别很大。
要落地这件事,还需要一个前提:企业内部得有人对结果负责。否则方案再合理,也会在执行中被稀释成一份文件。
3. 数据库与架构设计
数据库与架构设计。之所以强调这一条,是因为它常常被当成技术问题,实际上是业务问题——只有业务上的判断清楚了,技术方案才有取舍的依据。
与之相关的一个细节是,很多问题并不是在方案里出错,而是在交接环节走形——前一环节的理解,到下一环节变成了另一个意思,最后结果和预期差得很远。
具体怎么做,可以按这个顺序推进:首先,把当前的问题按影响程度排序,只解决排在前面的;其次,为每个问题定义一个可验证的结果;再次,约定复查时间,把调整变成例行动作。
4. 功能开发与自测
功能开发与自测。这句话背后其实是一个优先级问题:把有限的资源放在最能影响结果的地方。资源永远不够用,关键是别把力气花在看得见但不重要的环节上。
再往下一层看,这时候有效的做法往往不是增加人手,而是把重复出现的问题用规则固定下来,让它不再依赖某个人的经验。
具体怎么做,可以按这个顺序推进:首先,把当前的问题按影响程度排序,只解决排在前面的;其次,为每个问题定义一个可验证的结果;再次,约定复查时间,把调整变成例行动作。