一个小外包项目的总结
这是一个外包项目,帮别人做一个网站,包括前端和后端。
主要工作如下:
- 系统为客户提供活动申请、抢单、反馈、评论、组织创建,成员管理,微信分享等功能
- 支持后台对活动、组织、用户等资源的统一管理,包括审核,修改,发布,图片上传等功能
- 系统的测试,bug的修复、上线以及维护。已稳定运行2个月
项目从9月份启动,开始是两个人,有一个朋友,最后做了一点点就没有让他做了。基本上所有的功能都是我一个人完成,产品经理,UI设计,代码都一个人包了。
主要是利用晚上或者周末的时间来完成,11月初基本上所有的需求都完成了,之后就一直修修补补,新的需求不断,到了12月中旬就交了。
期间的心情变化
- 有钱赚,干劲十足
- 终于要开发完成了,欣喜
- 不断的改和加新功能的烦心
- 一直改一直改的烦
- 终于交接了,开心
- 尾款一直拖一直拖,一直催,一直催,心急,代码啥的都给了。
- 扣押款项的愤怒,却又忍着同意。
- 自己还是太嫩了吧
项目的结构:
- 后台采用ThinkPHP3.2搭建
- 前端采用了bootstrap,Vue,jQuery,frozenui
- 采用mysql数据库
- 服务器采用阿里云,centos7.2+Nginx+PHP+Mysql
踩到的坑:
- 代码结构没有设计好
- 数据库设计不具有扩展性,一改再改
- 需求不太明确,对方也不明确,用了才来改
- 中间进行了一次UI界面的全部重写
学到的经验:
- 外包必有合同,不能是之前认识就不要
- 文档要齐全,包括需求文档,功能文档,Api文档,数据库设计文档。一样也不要少,在开发一个功能的时候,先要文档化,实现什么样的功能,api如何设计,需要哪些参数等。
- 如何防止对方的需求不断的更改,做了一个功能,又要与之配套的功能啥的。
- 先要搭起整个架子,不要急于敲代码、、
- 代码可以让其审查,但是在没有付尾款的时候不要给
以后外包开发需要以下文档
- 技术合作文档
与对方签订的开发合同 - 功能文档
描述已经实现的功能 - 数据库设计文档
数据库版本,表设计等 - 项目需求文档
项目需要实现的功能列表和说明 - 总体设计文档
描述项目整体采用的架构 - Api文档
后台提供的api文档列表 - bug提交模板
测试提交bug的模板
总结一下:
通过这次外包项目,初步了解了外包的一个整体流程,踩过一些坑,上过一些当,也学到了很多经验,还赚了一点点钱,第一次重在尝试。