今天读了《构建之法》的第十一章和第十二章
第十一章,软件设计与实现主,要讲了以下几个问题:
1.从规格到实现
主要要经历以下阶段:
1.估计开发所需时间
2.写一些原型代码,看看效果
3.写设计文档
4.按照文档写代码
5.对照设计文档和代码指南进行复审
6.创建或更新单元测试
7.进行单元测试
8.得到一个可以的测试版本
9.修复测试人员发现的问题,请同事复审
10.根据代码复审意见修改代码,签入代码
2.开发阶段的日常管理
一个比较重要的问题是实现每日构建。
书中宣称,经调查,成功的公司中有94%每天或至少每周完成构建。
构建中可能遇到的问题是可能会把大部分时间花在没有价值的"同步/编译/验证/再同步"的循环中。
一种解决方案是对于每一个步骤,如果团队成员的行为只是影响到个人,就让个人根据自己的情况处理。如果会影响到团队,就应该严格控制。比如要求每个人可以自由签出而要在每天的固定时间签入。
书中讲的小强地狱也很有意思。设计一个阈值,使5%~30%进入小强地狱。入狱的人必须先使bug的数量低于阈值才能继续进行开发工作。
这一章有两句话使我印象深刻
1.当有一个能运行的系统时,即使只是一个简单的系统,(团队的)积极性也会上升
2.在理论上,理论和实践是一回事,而在实践上,理论和实践是两回事
第十二章,用户体验,讲了以下几个方面
用户体验的要素
1.用户的第一印象
使用5H1W方法对设计做出判断
Who:谁是你的目标用户?
When:他们会在什么时间使用你的产品?
Where:目标用户会在哪里和你的产品交互?
What:你的产品是什么?用户的期待是什么?
Why:用户为什么要使用你的产品?他们的动机是什么?在众多竞争产品中,用户为什么会选择你的产品?
How:用户是如何与你的产品发生交互的?
2.从用户的角度考虑问题
使用户操作尽可能简单的方便
3.软件服务始终要记住用户的选择
软件应该越用越好用
4.要把短期此时转化为长期影响
要使能让用户眼前一亮的功能易于被长期使用
5.不让用户犯简单的错误
应该将有副作用的操作和常用操作分开
用户体验设计的步骤
概要设计:用户要解决的痛苦是什么,如何给用户提供价值?在此之前,可以做用户调研。
行为(交互)设计:通过一系列用户和软件系统的互动,帮助用户解决问题。
界面设计:通过读取用户的输入,以及创造和改进交行的媒介,帮助用户进行交互
评价标准
1.尽快提供可感触的反馈
2.系统界面符合用户的现实惯例
3.用户有自由控制权
4.一致化和标准化
5.适合各种类型的用户
6.帮助用户识别、诊断并修复错误
7.有必要的提示和帮助文档