构建之法的第七章讲述了有关MSF的内容。MSF有9个基本原则:推动信息共享与沟通;为共同的远景而工作;充分授权和信任;各司其职,对项目共同负责;交付增量的价值;保持敏捷,预期和适应变化;投资质量;学习所有的经验;与顾客合作。MSF的团队模型就是需要在遇到问题是直言不讳地去和他人解决问题,比如团队中遇到了冲突,那就吵一架,没什么能比争执更能拿出更好的决策,再比如和用户的意见产生了冲突,那也要直言不讳地告诉用户怎样才能把软件的质量做到最好。MSF敏捷开发模式更强调与用户之间的交流,把防止缺陷的发生做为团队质量控制的首要任务,重视在实战条件下的质量即要求保持随时可以发布的高质量。
构建之法的第八章核心内容是需求分析。需求分析对软件工程来说,应该是相当重要的一部分,正因为有个各式各样的需求,才有各种各样的软件来解决问题。首先我们得捕捉软件产品的利益相关者对软件的需求,而软件产品的利益相关者就是用户和顾客还有我们软件工程师本身。用户是直接使用软件的人,所以用户的需求是相当重要的,因为我们做软件的初衷就是能够让用户来使用。顾客或称客户就是购买这个软件或者根据合同或规定接收软件的人,他们虽然不一定是软件的直接使用者,但是却是和软件的利益有直接联系的,说直白一点就是只有客户购买了软件,软件工程师才能赚到钱咯。而软件工程师的需求则是相对于软件开发而言的,软件的各种约束、特性会影响到他们工作的效率、开发难度和软件维护的难度。而我们如何去获取用户需求呢,就需要我们对用户进行调查,我们可以采取多种方式,比如问卷调查、深入面谈等来了解到用户到底想要的是什么,这样我们的软件做出来才是有意义的,不然就算软件做得再好功能再多,在我看来也只是在做无用功罢了。
项目经理,也许这就是我们这些菜鸟的刚就业的奋斗目标,也是构建之法第九章所要告诉我们的。项目经理,从职业角度,是指企业建立以项目经理责任制为核心,对项目实行质量、安全、进度、成本管理的责任保证体系和全面提高项目管理水平设立的重要管理岗位。从戏剧角度,项目经理可以理解为整台演出及演出制作过程中的具体操作者。它要负责处理所有事务性质的工作。也可称为“执行制作人”。项目经理是为项目的成功策划和执行负总责的人。项目经理是项目团队的领导者,项目经理首要职责是在预算范围内按时优质地领导项目小组完成全部项目工作内容,并使客户满意。为此项目经理必须在一系列的项目计划、组织和控制活动中做好领导工作,从而实现项目目标。所以呢,要成为一个项目经理,首先我们得要有能力,其次我们要有经验,再者我们要有统领大局的眼光,而作为一名软件工程的小小的菜鸟学生来说,要达到这个目标还有一段很长的路要走。
上面刚学习了用户的需求,构建之法的第十章又让我们进行深入的了解,典型用户和用户场景。之前也说了,我们的软件做出来是供给用户所使用的,所以用户的体验对一个软件的成功与否是至关重要的。典型用户即使用我们所开发的软件的所有的用户,我们得满足他们每一位的各种的需求,才能算得上是一项合格的软件。而用户场景就是我们要在用户使用我们的软件之前,模拟用户使用的场景,用户具体会执行怎么样的操作,在每一步操作的时候,怎样的功能实现使用户使用的时候觉得方便实用。所以,在软件开发的过程中,分析典型用户,并模拟出用户使用软件的场景是十分必要的,这样可以让我们更清楚地知道我们软件中的不足和需要改进的地方,可以让我们意识到一些在软件开发的时候觉得好而并没有意识到的缺陷。
在以前的学习过程中,我并没有意识到用户这一点,一直是觉得,软件开发就是软件工程师自己的事情,只要一个足够好的团队在一起,做出功能足够强大的软件来就可以了。通过这次的阅读,我了解到了,其实做软件就是在做商品,或者更正确地说是在做生意,顾客就是上帝,相对的用户就是上帝,所有的一切都要满足用户的需求,所有的功能和操作过程都是要为了用户使用方便。要记住千方百计获取用户需求,要学会做用户需求的调查,要模拟用户场景,一切为了用户着想。所以啊,作为软件工程的学生,我应该不断地积累知识,然后等我足够强大,能够实现各式各样的功能的时候,就能够满足用户的各式各样的需求,开发出有足够竞争力的软件。