客户至上
架构是为客户服务的。如果我设计的架构不能给客户带来价值,那我就是在浪费时间。我经常听到客户抱怨以前的系统有多么难用,那些系统的开发者端坐在象牙塔中,一点都不理解他们或他们的工作。那我又如何确保架构能够为客户带来价值呢?
我的办法是运用以客户为中心的设计流程。先搞清楚谁是客户,他们想做什么。然后将系统按照客户的任务进行划分。我会了解每项任务的启动步骤,以及哪里容易出现问题。
你可能会想这不像是设计架构,倒像是设计用户体验!没错,只不过很多用户体验设计是不懂技术,所以无法设计架构。我的工作由表及里,确保深层结构能实现客户价值。我称之为客户体验架构。
- 第一步:观察客户在正常情况下如何完成任务,向对方提问,确定对客户至关重要的事项,包括功能需求和质量属性需求。
- 第二步:围绕客户的需求设计系统并记录在原型里。原型应尽可能具有交互性,而不仅仅是流程图;
- 第三步:尽早与客户一起评审原型。确保对方真正了解新系统的变化,以及这些变化对他们的影响;
- 第四步:根据客户评审会上的反馈修改调整架构设计;
运用这四个步骤,你就能通过你的架构为客户创造价值,并成为他们的英雄,至上不会成为高坐在象牙塔里破坏客户生活的人。