大家好,我是阿杆,不是阿轩。
最近有个校友找到我,他自己办了个公司,想做个微信小程序,于是找我帮他开发,当然不是免费的。
我一想,那挺好呀,虽然我没接过私活吧,但不代表我以后不会接私活,这不正好可以练习一下子。
前前后后弄了一个半月到两个月,也算是积累了一点经验,分享给大家,如果以后也接到私活,可以参考一下我的开展方式。
由于文中涉及到实际业务的东西不方便透露, 下面我将用图书管理系统来代替实际业务,并且称这位校友为"老板"。
总览
我接手的这个项目是完完全全从0开始的,老板只有一个idea,然后说他的idea是来自于另一个小程序的,有部分内容可以参考那个小程序,其他什么都没有了。
先讲一下我的总体流程:
- 确定老板的大致需求,以及预期费用
- 详细梳理开发功能点,并简单画下原型图
- 工时评估,确定费用
- 出正式的UI设计稿
- 拟定合同、签合同
- 开发阶段
- 验收、上线
大概就是这么些步骤,也对应本文的目录,如果你有想看的部分,可以直接跳转到对应的部分。
下面我会详细讲讲每一步我都做了些什么。
确定需求
首先老板找到我,跟我说他想做一个图书管理的微信小程序,然后讲了几个小程序内的功能点。
我也向他提了几个问题:
-
预算有多少?
这个肯定得问的,要是预算和工作量严重不匹配,那肯定做不了的。毕竟都是出来赚钱的,总不能让咱用爱发电吧?
-
预计一年内会有多少用户量?会有多少数据量?
这个问题我主要是想知道并发量会有多少、数据量会有多少?这样方便我后续判断系统需要的配置,也便于我后续对整个系统的设计。
好在整体用户量和数据量都不大,这对我来说也就没什么压力了,至于以后会发展到如何,这不是我该考虑的事情,我顶多把代码写好看点,他后续发展壮大了肯定是把项目接到公司里雇人做的,跟我也没什么关系。
-
你那边能够提供什么?
这个主要是看对方有什么资源,是否能够对项目开发有一定的帮助。
在我这个项目里,老板那边是什么都没有的,没有设计图、没有服务器资源、也没有辅助人员,所有内容都包揽在我这边,然后有什么问题就直接问他。
-
你希望多久完成?
如果老板很急的话,那可能得多叫几个人一起做,如果时间充足的话,自己一个人做也不是不可以。
好了,第一次对话大概就是这么些内容,但仅靠一次对话肯定是无法确定需求的,只能了解个大概。
我根据老板的想法,写了一份 需求分析 出来,首先列出了几个大概的功能点:
然后根据这些功能点进行扩展,把所有功能列举出来,画成一个思维导图(打码比较多,大家将就将就😅):
好,那么第一版的需求分析差不多就出来了,接着我打电话给老板,对着这个思维导图,一个一个的跟老板确认,需不需要这些功能。
老板一般会提出一些异议,我再继续修改思维导图,直到老板觉得这些功能他都满意了。当然这过程中我也会给一些自己的建议,有些超预算的功能,还是建议他不要做。
到这里,需求就基本确定好了。
梳理开发功能点、绘制原型图
由于我不会前端开发,只是个简单的后端仔,所以我还找了一个前端同学一起做。
我和前端两个人根据前面的需求文档,详细的梳理出了 小程序 和 后台管理系统 的功能,这个部分是比较重要的,因为后续画设计稿和开发都会以这份文档为主:
还画了一些简单的原型图,这玩意丑点没事,能让人看懂就行🤣🤣:
这些东西弄完之后,再找老板进行一遍确认,把里面每个点都确认下来,达成共识。
工时评估,确定费用
老板觉得OK了,就到了该谈钱的时候了,前面只是聊了预算,并不是正式的确定费用。
那咱们也不能张嘴就要,要多了老板不乐意,要少了自己吃亏。
所以咱们先评估下工时,这边我分了几个部分分别进行工时评估:
- 需求分析、功能梳理(就是前面做的那些,还没收钱的呢)
- UI设计、交互设计
- 前端开发
- 后端开发
- 系统运维(包含服务器购买、搭建、认证、配置等)
- 后期维护
其中设计稿是找另一位朋友做的,钱单独算,然后其他部分都是我和前端同学两个人评估的,评估的粒度还是比较细的,是以小时为单位进行计算的,给大家大概看一下:
评估完之后汇总一下,然后根据我们自己工作的时薪,给老板一个最终的定价,正常的话还需要在这个定价上再乘一个接单系数(1.2~1.5),但是我们这个老板是校友啊,而且预算也不多,所以就没乘这个系数了(还给他打了折😂,交个朋友)。
定价报出去之后,老板觉得贵了怎么办?很简单,砍功能呗,要么你去找别人做也行。
预付订金
我觉得正常应该在梳理功能之前就要付一部分订金,也不用多少,几百块就行,算是给我们梳理功能的钱。
这里接下来就要画UI图了,我们先找老板付个订金,订金分为三部分:
- 给前端的订金
- 给后端的订金
- 给UI同学画设计稿的完整费用
因为UI设计是我这边联系的,所以我肯定得先保障她的费用能完整到手,不然到时候画完图跟我说不做了,那我咋对得起画图的人。
画UI图
这部分就不用咱们操心了,把文档交给设计同学,然后等她出图就行。
这个过程中也可以时不时去看看她画的内容符不符合咱们的预期,当个小小的监工。
画完稿子需要跟老板、开发都对一遍,看看有没有出入,符不符合预期,有问题及时修改下,没问题就按照这份稿子进行开发了。
拟定合同、签合同
合同也是我来拟定的,其实是先到网上找了个软件开发的合同模板,然后再根据自己的想法进行合理的调整。
为什么我要到这一步才签合同呢?我觉得合同内容越细致越好,最好是能够把要开发的内容、样式都写在合同上,这样省得后面扯皮。
现在文档也出了,图也画完了,那咱们把这些东西都贴在和合同的附件上,然后附上这些条约:
- 乙方将严格按照经过甲方审核的《软件功能设计书》的要求进行软件的开发设计。
- 甲方托付乙方开发的软件在签订合同之后如需增加其它功能,必须以书面形式呈交给乙方,乙方做改动并酌情收取适当费用。
这样就可以保障我们在开发完后不会被恶意的增加或者修改功能了。
这里我再列一些其他需要特别注意的点:
- 乙方交付日期,以及最多延期多久,如果超时怎么办?
- 甲方付款方式和日期(我们是用的 442 ,开工付 40%,中期验收付 40%,开发完验收付 20%)。
- 甲方拖欠项目款的处理方式(支付迟延履行金等)。
- 服务器费用是谁出?如果是乙方,需要注意包服务器的时限。
- 项目维护期,一般一年半年的吧。
- 乙方不保证项目 100% 可用,只能保障支撑 多少人 使用,支撑同时在线人数 多少人 ,如果遇到恶意攻击,不归乙方负责。
- 软件归属权是谁的?(如果项目款比较少的话,乙方可以要求要软件归属权,之后甲方如果想把项目接回去自己公司维护的话,需要从乙方手里买,这样乙方可以回点血)
大概就是这些吧,还有其他的东西基本都是按照模板的,没怎么改。
弄完给老板看看,没问题就签了,有问题两方再协商一下,我们这边是直接签了的。
开发阶段
开发没什么好说的,跟你在公司开发一样。
不过你接私活可不能在公司开发🚫,只能回家了自己干,不然被抓到上班干私活,你看老板裁不裁你就完事了。
微信小程序上线注意事项
微信小程序对请求的接口有三个基本要求:
- 必须是有备案的域名。
- 必须是有SSL证书(https)。
- 域名不得带端口号。
这个域名的问题必须要尽早解决,不然后面开发完了再去弄的话,工信部备案审核都要挺久的,不延期都难。
还有一种方式,我在逛微信开放社区看到的,使用云函数进行中转,间接请求ip接口,感觉是可行的,也比较省事,具体操作大家可以自己去探索一下。
我也是吃了没有经验的亏,买域名 + 工信部备案 + 公安备案 + 小程序备案,这一套操作下来真给我整难受死了,直接用云函数省事多了。
验收、上线
这部分也没什么好说的,大家在公司也经常经历这个步骤。
多沟通,多确认,
唯一需要提醒的是,验收的时候咱不能无条件接收老板的任何要求,毕竟价格和开发内容都是已经定好的,如果要加内容或者改内容,记得酌情要一点工时费,可不能亏待了自己。
后记
整个过程中,其实沟通是最重要的,写代码谁不会是吧?但是得让老板觉得OK才行,如果有什么疑问或者觉得不合理的地方啊,最好是尽早沟通,不然越到后面只会让问题变的越来越大。
最近刚做完这个项目,说实话没赚什么钱,甚至有点小亏😅。而且这个老板还有点拖欠工资的感觉,中期项目款拖到了项目交付才给,项目尾款到目前还没付😅😅。不过还好合同里写到了关于这块的处理方式,倒也不担心他不付这个钱。
(虽然我也不知道在哪能接到靠谱的私活🤣,但也可以先收藏本文,万一之后来活了,还能翻出来看看)
最后,希望各位都能接到 every good 的私活,祝大家早日实现财富自由!