序言:
8 I( B0 S9 ~7 _$ ?- P5 h. d% s9 J 今天写的是:构建完整的解决方案。 原因是在过去的几年中,经常面临“需求变化”的问题。努力寻找了很多年的解决方案,现在想来,或许问题还是出在我们自己身上,因为我们当初的基础不对。一句“客户并不真的清楚自己的需求”,我们真的明白这句话的含义并知道如何应对了么?
/ z% k0 J- _" g' E+ ^ 什么是“完整的解决方案”?
, v. [- I+ i; f) q- F1 s7 ` “完整解决方案”顾名思义,就是包含了客户的所有真实需求,并可以合理实施的方案。定义很简单,简单的像围棋只有黑白二子一样,唯一的问题就是:可能的变化多了点,不确定性高了点。 L8 T6 H- C* s( U' |! [; C' C
相对围棋而言,软件的需求和方案的问题简单很多了。
) j; J7 U; u- w0 J 主要的问题在于,我们的“需求”中忽略了很多客户的隐形需求。4 V8 t: i/ m8 M
隐形需求包含哪些呢?一般而言包括:
5 ^0 R3 R8 m6 R6 ^# k% s( l: ` 1.1 维护需求8 l5 e+ w2 K- @) T& O
1.2 升级需求! y+ q( h6 v% [) U% Z5 Q& c2 i
1.3 易用性需求
" Z9 q& f L, i$ `: p& Q# t0 P, G 1.4 性能需求5 v- @6 T8 a; c; h2 k; I. X
基本而言,现在客户也在不断成熟,以上需求会或多或少的提到,但是,请注意,很可能不够全面。 所以我们需要认认真真的考虑一下,这些需求到底应该包含些什么。6 b3 `& R) W; \4 j! H" E: o
维护需求5 B j7 O. v$ t
客户对维护的要求,一般至少包括这么几个:
4 r7 `$ g: w N @ l* F 1. 日志需求。 这个比较复杂,后面会单独考虑。
[/ w; |) G U# t& W6 e 2. 故障定位的能力。 就是说,当系统出现问题时,客户希望系统能够通过某种方式迅速查明故障的原因,并找到解决或者规避的办法。& v2 E# F7 a5 W5 J6 t7 V3 }
3. 日常维护。 通常包括软件和硬件的“健康检查”。
, I7 [) ^* A: U z& z 4. 故障报警。 当系统出现严重故障时,能够给出足够的信息,并触发故障处理流程。 |