3

记录一次历时五个月的小型外包项目

这一次的经历和之前一次的项目经历有些类似,所有就打算记录下来,首先是引发一下自己的思考,二来是作为交流之用。

记录背景

坐标齐齐哈尔市的一家大学生创业公司,这次的客户是一家房屋安全鉴定公司。

项目需求

开发一套工作流程化在线 B/S系统

  1. 后台基于角色的控制访问权限

  2. 订单入库

  3. 动态生成 word

  4. 利用高拍仪上传

项目过程

主要说一下这个项目是如何开展的。

项目初始

在一次电视台采访过程中,老板将这个项目下发下来,刚开始的需求就是一张工作流程图,没错就是一张简单的流程图,上面包括了前台接单一直到出示房屋安全鉴定报告的所有流程,然后就在也没有其他的了。

需求分析

老板与对面的负责人(主任)进行了一次探讨,并没有留下纸质文档,然后回来告诉我们需求,项目经理(由于是大学生创业没有经验)经过一个星期的分析,给了我12张图片。

设计大哥根据12张图片做出了效果图,前端切图做 HTML 发给我之后开始做,于是显而易见,第一个版本被 PASS。

项目研发过程

在项目开发过程中,我按照图片做出第一版后交给对方负责人审查了一次,中间悲剧了,由于这个公司并非其负责人一个人说了算,出钱方介入(毕竟现在有钱的都是大爷),对整个系统进行了全方位立体式的解读,得到的答案是几乎所有模块进行重写。

引发的思考

与客户沟通不当

这个问题是如何出现的?

在项目初始过程中,没有与客户进行有效沟通,没有问出根本需求,经过三次沟通后才确认下来,原来该公司只是为了避免员工私自盖章出示报告避免将来出现法律纠纷。

最终造成的影响?

在整个软件研发项目中,需求分析我个人认为应该是重中之重,这直接影响了项目能否顺利落地,以及日后的工作进度。

由于没有完整地需求分析,在研发过程中,在研发过程中就会造成开发进度缓慢的问题,以下是我列举出的我所遇到的问题:

  • 多余思考大于编码

  • 功能模块无法确定导致大量返工

  • 无法准确判断工期

这三点互相依赖,应该不需要过多的解释。

开发文档的重要性!

没有需求文档,程序员将进行独立思考,影响开发进度,我在开发过程中基本上碰到一个需求问题就会发问,这期间影响了三个人的工作时间:我、产品、对方负责人。

编码过程出现问题的总结

问题的解决途径:

  1. 搜索引擎

  2. 社区

  3. 文档

  4. 联系技术人员

搜索引擎

由于惰性思维,首先想到的是搜索引擎,可惜最终发现大多时候通过搜索引擎进行解决问题的效率并不怎么样。由于百度的推荐算法会将一些权重较高的文章排在前面,所以很多文章的时效性并不强,大多都是几年前的,所以用处不大。

通过搜索引擎解决一些基础性的问题还好,但是如果所使用的库是国外的,那就很糟糕了。

社区

正所谓有人好办事,这一句话放在那里都通用,但是却不能将其高估,因为所有的问题都是有局限性的,因为通过社区发问带有一丝运气成分,你不知道你的问题是否有人碰到过,就算是碰到过是否跟你目前所在的处境是否相同。

文档

这一点很重要,文档才是人们最终的归宿,所以在我们选择库的时候,首先要选择拥有良好支持,文档健全的库,要不然碰到问题只能自己去查看源代码。

技术人员

这个就有局限性了,如果是开源作品,由于一些简单问题去打扰作者是一种浪费彼此时间的事情。

问题的解决路径

当遇到问题的流程,我认为的顺序应该是:文档->社区->搜索->作者。

作者的博客:www.maksim.website


M君_
63 声望4 粉丝