我阅读了《构建之法》的第10-12章。
第十章讲的是典型用户和场景,教了我们怎样定义典型用户,提供定义典型用户和场景的模板,有助于我们模仿。这里的场景指的是用户达到目标所经历的过程。第二节讲述的规格说明书(Specification),分为功能说明书和技术说明书,也就是黑盒和白盒。对于第三节的功能驱动的设计的内容没有太深切的体会,因为还没进行过这一步。
通过对这部分的学习,我们要开发一个软件,用户是必须的,我们会想到用户使用我们的软件时,他是想干嘛?还有不同的人使用软件的目的是不同的。书本中提到的典型用户和场景这种方式来为用户考虑,我觉得很生动,可行性也很大。书本中吴石头的例子也是很生动,马上就能理解大概,还有场景也是。前面需求分析,还有后面体到的典型用户以及Story,都是针对自己的程序来进行一种分析,可见开发软件是,需求的分析很重要,还有Specifition(需求分析文档)规格说明书。
第十一章是软件设计与实现,里边主要讲到典型的开发流程,常用的分析和设计方法以及开发阶段的一些管理方法,包括每日构建、小强地狱、构建大师等等。其中每日构建,意味着自动地、完整地构建整个代码树,也就是将整个项目源代码的目录,子目录,文件的位置尽可能事先固定下来,这样在开发过程中各个模块。
我认为在软件开发阶段的日常管理,要尽量减少非开发的时间,不要动不动就开“全体会议”,因为团队成员们的自我时间管理也很重要。有些优秀的团队(例如Google公司的一些团队)规定一周要有一天是不能开会的。但同时我们也不鼓励“封闭开发”,大家应该要有更多的自由交流的时间,这样团队成员们就会更乐意在无拘无束的环境中提问和分享。我们做程序时要懂得并熟悉构建,因为构建是核心,就像小工做建筑时要懂得并熟悉搭脚手架,球员在比赛时要懂得并熟悉运球。工作时要懂得平衡进度和质量。
第十二章主要讲的是用户体验,是指一种纯主观在用户使用产品过程中建立起来的感受。但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计实验来认识到。还介绍了用户体验的要素、用户体验设计的步骤和目标以及评价标准。
通过这一章我感受到一个项目做出来的程序必然要有用户,用户的体验是我们程序重要的过程,也可以说是程序的价值体现,生命价值的体现。用户体验的一个重要目的是要降低用户的认知阻力。及时有效地提高用户体验和质量才能保持不被同行占据市场。
我认为做一个项目我们要多从用户的角度出发,同时我们也要多了解自己写的软件,而我们的心里、技术能力和一般用户有很大差别。