HeaFirst《软件开发》读书笔记(一)

让客户满意

软件开发人员需要做到的就是,将客户模糊不清的想法转化为可以运行的代码,但前提是这个代码能让客户满意

大多数项目除了最终要完成的效果之外,还有两点——时间

Big Bang 开发法

最不可取的开发方法,即在项目开始时与客户确定需求之后,立刻着手项目开发,期间不与客户进行沟通,与需求确认,很容易造成最终完成的成品与客户理想的效果相去甚远。所以Big Bang开发法又被称为人间蒸发(Going Dark)开发法。

客户沟通

假如你不能确定客户想要什么,总是得去问问他们。软件开发工作不是玩猜猜看游戏,你必须让客户融入进来,确保你的开发工作在正确的轨道上。
因此好好的和客户沟通,确认他们的意思是什么,将细节弄清楚。将你可能用以实现客户需求的实施方式,让客户做决定

开发循环

每次有重大进展时候,都需要与客户进行确认,并重新确认下一步要做什么。在开发过程的每一个步骤,你都要问一个问题,“我做得怎么样?”。

你的客户、你和参与项目开发的其他工作人员都应该加入到开发循环过程中来。不管你的团队有多大或者项目的实施时间有多长,开发循环都是开发好软件的关键之一。

开发循环产生可工作的软件。你不应该让你的程序太长时间不进行运行或者编译,即使它只是一段小小的功能代码。在给客户演示这段功能性代码的时候,虽然有时候没太多东西可以向客户演示,但你仍然可以从客户那里获得共识。

开发循环是一个“收集需求、设计方案、编写代码、每项测试”的过程。

收集需求

要在项目早期就充分理解软件系统需要做哪一些工作总是困难的。每当你有了许多的问题或者一堆的假设时,你都需要去与你的客户沟通,并得到问题的答案。

共筑愿景(bluesky)

当你与客户反复讨论需求时,思路应该开拓些,尽可能让全部有利害关系的人都参与到头脑风暴中。当然有时候,让大家共聚一堂可能没什么效果,可以分别地进行头脑风暴,再集中起来。收集需求的方法有很多,一种不行可以尝试另一种。

两个有助于你理解你的客户的技术是:角色扮演和观察。

角色扮演,你扮演软件,你的客户视图要求你按照他们的要求工作。紧接着记录上软件需要做的每一件事。

观察,观察客户的工作方式,观察有助于找出头脑风暴或者角色扮演中所错失的细节。多个观察者的反复观察,能对客户的工作方式有更全面的认识

需求一定是面向客户的

应该用客户的语言来撰写需求,任何客户不能理解的需求是不能允许的,因为这可能不是客户对软件的要求。

澄清假设

每个开发人员对需求的使用情景都会存在不同的假设,没有任何假设会是好的假设。你需要在会议之后,将假设进行收集,并寻找客户澄清假设。

当你不能排除掉所有假设时,在时间估计期间的目标是通过客户澄清假设,排除尽可能多的假设。任何残存下来的假设都会成为风险

猜你喜欢

转载自blog.csdn.net/sinat_39013092/article/details/80179406