《构建之法》读书笔记三
第六章:敏捷流程
Scrum方法论是敏捷过程的一种,敏捷过程的精髓在于快速交付。 第一步:找出完成产品需要做的事情,每一项工作用天为单位计算。第二步:把整个产品分为几个相互联系的冲刺,也就是sprint,团队成员主导任务的估计 和分配,各取所长,能动性得到较大发挥。第三步:冲刺阶段各个团队相互独立,所有的问题都只能在这个冲刺完成之后进行交流。冲刺期间,每天需要开一个站立 会议,告诉队友我昨天所做,今天将做,遇到问题。第四步:得到增量版本,交付。
敏捷方法用时间来管理,来驱动每一个冲刺,积少成多,最后形成不断迭代增量的版本。这种时间驱动彻底断除了我们延期完成工作任务的想法。
第七章:需求分析
我们开发软件是为了解决现实社会和生活中的各种问题。人们的需求各种各样,我们该如何找到需求呢?
1.获取和引导需求。需求是需要挖掘的,我们既可以引导客户,结合自身行业经验,得到需求,也可以分析技术的发展趋势和全球产业变化社会发展的大趋势分析需求,如大数据云计算移动互联网。
2.分析和定义需求。规整需求,定义需求的内涵,从各个角度量化需求。
3.验证需求。如果需求分析没有做好直接开工的话,容易做无用功,造成返工。软件团队要跟利益相关者沟通,通过分析报告,用户调查或演示等形式向他们验证软件团队对于这些需求的认知。
4.需求管理。如上所说,需求会不断变化,或者说解决需求有了新的捷径和方式,这些都要求我们因地制宜,跟着变化而变化。
5.需求的分类:功能性需求要求产品必须实现某些功能,开发过程需求要求开发流程必须产生哪些文档在什么时间交付,非功能性需求要求服务质量例如12306网站要做到实时响应。
那么,作为一个开发者,需不需要到需求中来呢,非常需要,因为软件的各种约束各种技术实现会影响到他们的工作过效率。我们一定要让相关角色在需求分析阶段有机会提出他们的需求和一件。