00.非功能性需求可以表达各种系统需求
*性能(performance)
*准备性(accuracy)
*可移植性(portability)
*可重用性(reusability)
*可维护性(maintainablility)
*可操作性(interoperability)
*可用性(availablility)
*易用性(usablility)
*安全性(security)
*容量(capacity)
01.我们可以反复地完善系统,这是敏捷开发的原则之一。用户故事允许我们延迟讨论,直到开发人员准备好实现故事。
02.基于故事的敏捷版以使用为中心的设计
*用户角色建模
*捕捞高层次用户故事
*排列故事优先级
*精炼高优先级和中等优先级的故事
*对股市整理分组
*建立书面的原型
*精炼该原型
*开始编程
03.我涉及过的另外一种情况是,一家刚刚创建的小公司企图与一家大公司完成交易。完成交易后公司会盈利,老板也高度承诺给所有开发人员发放五位数的奖金。对方要求我们“提供一份需求副本”。我开始走上一条不归路:对他们描述我们实际上为何不关注编写需求,而关注谈话的合作。我可以感觉到这种对话不会有好的结果,公司的利润和开发人员高额的奖金都会蒸发。我转变说法,告诉他们我们如何以用户故事的形式编写需求。他们喜欢这个主意。幸运的是,那个项目的故事存储在电子系统里。我们把他们从那个系统里剪切出来,粘贴到Word文档里,增加一个封面和签名页,其结果是皆大欢喜。