软件需求需要掌握内容
需求,一定要深入理解客户的业务,学会换位思考,试着把自己当作客户,进而想到客户的心坎上去。
我们做的软件,不是给我们自己用,是给客户用。客户不是按照我们的设计,我们的要求来使用软件,客户想要的,是符合自己意愿的,可以按照客户本身需求帮助客户解决问题的软件。一切,都是为了客户服务。我们不是千方百计地想办法如何去我们的软件,而是要切切实实地搞清楚,客户需要我们这个软件完成什么样的功能,如何去完成这样的功能?一定要理解客户的业务,客户的业务是什么,做出什么样子的软件客户才能用着方便,舒服。
要满足客户的要求,但是不能被动地被客户牵着走。
客户系想要什么样子的软件,完成什么业务?客户是十分清楚自己的需求的,但是,客户是不懂我们的技术的。一定要用我们可以做的到的技术,去完成客户想要的功能。原文说到,客户方需要将之前纸质的表格,用计算机代替,并且用机器完成之前人工的功能。机器就是机器,再智能也是机器,它不能完全按照我们人类的逻辑来处理问题。这是客户所不明白的,或者,他不能够,不想理解的。客户只想得到自己想象中的软件。并不会考虑技术的问题。这就需要我们在做软件需求的时候十分困难的地方,一定要明白客户的要求,然后,要实现客户的要求.能不能实现,如何运用我们可以使用的,成熟的技术,去完成这个功能。而且,我们完成的功能,可以让客户满意?
需求分析是一份体力活儿,更是一份技术活,你需要具备的,不光是你对技术的了解,更有人与人交往的艺术。
如果我们是软件需求调研人员, 我们首先要对我们自己有清楚的了解。这个自己,不是单纯的指个人,还包括我们的公司,我们的研发团队,我们的技术水平。客户需要的产品,我们能不能满足,能不能用成熟的技术去解决。这都是软件需求调研人员需要具备的素质。然后,就是与人沟通的能力,这是一门艺术。需求,需要客户来告诉我们。不是我们通过交谈,去揣摩客户的需求。那么怎么让客户告诉我们,我们又能准确的把握呢?这就是我们需要的沟通,交流的能力了。客户可能提了一项功能的要求,自己却没有听明白?这时候我们需要怎么做呢?我们如何才能让用户开心的,十分愿意的再告诉我们一次?这就需要我们与人沟通的能力了。和用户交谈可能会谈到好多内容,如何才能将谈到的有效内容进行记录?这是十分钟要的,做软件需求,是开始的一环,也是十分重要的一环。之后的研发人员,会根据我们需求调研人员所做的需求调研进行开发。而他们所依据的,我想,还是我们记录下来的。
在与客户交流的时候,要占据主动地位,而且,要让客户十分愉快。
刚开始与客户接触的时候,不能对客户唯唯诺诺,不能客户说啥就是啥,客户固然是上帝。我们要以专家的姿态去理解客户的需求,一定要提出自己的意见,如果可以的话,我们还可以让用户征求我们的意见。我们要一开始,就让整个项目进入一个正确的轨道上来。
对于不同的软件使用者,要不同的对待。每个使用者使用的功能不同,对软件的要求也就会有不同。
1. 高层领导
高层领导关心的是宏观的目标,因此软件研发目标、宏观统计报表、决策支持功能,都应当与高层领导谈。他们关系的都是宏观的问题,因此不要与他们谈那些细枝末节;
2. 中层领导
中层领导关心的是具体的效益,即软件给各个部门信息化管理方面带来的效益,因此,中层领导是各项业务流程、功能模块的需求决策者。他们关心功能的定义、业务流转的衔接、查询报表的设计,但不太关心一些具体的操作,以及一些具体业务流程的细节;
3. 基层人员
基层人员是每一项业务流程的操作者,也是软件今后真正的使用者。他们是真正了解你所要开发的软件的业务需求的领域专家,是你进行需求调研的重点对象。但是,基层人员往往受到自身视野的局限,可能只清楚自己工作涉及的十分狭小的一个范围,因此我们需要努力寻找那些业务涉及面广,经验丰富,又有一定大局观的真正的专家。另外,他们就是软件今后真正的使用者,让他们参加,会让他们成为今后软件推行的忠实支持者,对其他操作人员的指导者,益处多多。而他们关心的则是每项操作的细节。
调研,要学会拜访。
中国人是讲感情的,我们在调研的时候,可以先不谈工作。可以先谈一些其他的东西,增进调研人员和用户之间的感情。有了一定的感情基础之后,再谈工作,也就会相对容易一些。客户,也就愿意和我聊,虽然,他可能是很不耐烦的。再有,我们几乎不可能只与客户合作一次。如果我们第一次需求调研,就没有给客户留下一个不错的印象,那以后的需求调研,估计客户也不太乐意与我们合作。一定要与人为善,虽然我们是在合作,但是我们也是在索取,索取到我们技术人员可以正确认识的需求。