接了个私活,分享下我是如何从 0 到 1 交付项目的

208 天前
 sticki

大家好,我是阿杆,不是阿轩。

最近有个校友找到我,他自己办了个公司,想做个微信小程序,于是找我帮他开发,当然不是免费的。

我一想,那挺好呀,虽然我没接过私活吧,但不代表我以后不会接私活,这不正好可以练习一下子。

前前后后弄了一个半月到两个月,也算是积累了一点经验,分享给大家,如果以后也接到私活,可以参考一下我的开展方式。

由于文中涉及到实际业务的东西不方便透露, 下面我将用图书管理系统来代替实际业务,并且称这位校友为“老板”。

总览

我接手的这个项目是完完全全从 0 开始的,老板只有一个 idea ,然后说他的 idea 是来自于另一个小程序的,有部分内容可以参考那个小程序,其他什么都没有了。

先讲一下我的总体流程:

  1. 确定老板的大致需求,以及预期费用
  2. 详细梳理开发功能点,并简单画下原型图
  3. 工时评估,确定费用
  4. 出正式的 UI 设计稿
  5. 拟定合同、签合同
  6. 开发阶段
  7. 验收、上线

大概就是这么些步骤,也对应本文的目录,如果你有想看的部分,可以直接跳转到对应的部分。

下面我会详细讲讲每一步我都做了些什么。

确定需求

首先老板找到我,跟我说他想做一个图书管理的微信小程序,然后讲了几个小程序内的功能点。

我也向他提了几个问题:

  1. 预算有多少?

    这个肯定得问的,要是预算和工作量严重不匹配,那肯定做不了的。毕竟都是出来赚钱的,总不能让咱用爱发电吧?

  2. 预计一年内会有多少用户量?会有多少数据量?

    这个问题我主要是想知道并发量会有多少、数据量会有多少?这样方便我后续判断系统需要的配置,也便于我后续对整个系统的设计。

    好在整体用户量和数据量都不大,这对我来说也就没什么压力了,至于以后会发展到如何,这不是我该考虑的事情,我顶多把代码写好看点,他后续发展壮大了肯定是把项目接到公司里雇人做的,跟我也没什么关系。

  3. 你那边能够提供什么?

    这个主要是看对方有什么资源,是否能够对项目开发有一定的帮助。

    在我这个项目里,老板那边是什么都没有的,没有设计图、没有服务器资源、也没有辅助人员,所有内容都包揽在我这边,然后有什么问题就直接问他。

  4. 你希望多久完成?

    如果老板很急的话,那可能得多叫几个人一起做,如果时间充足的话,自己一个人做也不是不可以。

好了,第一次对话大概就是这么些内容,但仅靠一次对话肯定是无法确定需求的,只能了解个大概。

我根据老板的想法,写了一份 需求分析 出来,首先列出了几个大概的功能点:

然后根据这些功能点进行扩展,把所有功能列举出来,画成一个思维导图(打码比较多,大家将就将就😅):

好,那么第一版的需求分析差不多就出来了,接着我打电话给老板,对着这个思维导图,一个一个的跟老板确认,需不需要这些功能。

老板一般会提出一些异议,我再继续修改思维导图,直到老板觉得这些功能他都满意了。当然这过程中我也会给一些自己的建议,有些超预算的功能,还是建议他不要做。

到这里,需求就基本确定好了。

梳理开发功能点、绘制原型图

由于我不会前端开发,只是个简单的后端仔,所以我还找了一个前端同学一起做。

我和前端两个人根据前面的需求文档,详细的梳理出了 小程序 和 后台管理系统 的功能,这个部分是比较重要的,因为后续画设计稿和开发都会以这份文档为主:

还画了一些简单的原型图,这玩意丑点没事,能让人看懂就行🤣🤣:

这些东西弄完之后,再找老板进行一遍确认,把里面每个点都确认下来,达成共识。

工时评估,确定费用

老板觉得 OK 了,就到了该谈钱的时候了,前面只是聊了预算,并不是正式的确定费用。

那咱们也不能张嘴就要,要多了老板不乐意,要少了自己吃亏。

所以咱们先评估下工时,这边我分了几个部分分别进行工时评估:

其中设计稿是找另一位朋友做的,钱单独算,然后其他部分都是我和前端同学两个人评估的,评估的粒度还是比较细的,是以小时为单位进行计算的,给大家大概看一下:

评估完之后汇总一下,然后根据我们自己工作的时薪,给老板一个最终的定价,正常的话还需要在这个定价上再乘一个接单系数( 1.2~1.5 ),但是我们这个老板是校友啊,而且预算也不多,所以就没乘这个系数了(还给他打了折😂,交个朋友)。

定价报出去之后,老板觉得贵了怎么办?很简单,砍功能呗,要么你去找别人做也行。

预付订金

我觉得正常应该在梳理功能之前就要付一部分订金,也不用多少,几百块就行,算是给我们梳理功能的钱。

这里接下来就要画 UI 图了,我们先找老板付个订金,订金分为三部分:

因为 UI 设计是我这边联系的,所以我肯定得先保障她的费用能完整到手,不然到时候画完图跟我说不做了,那我咋对得起画图的人。

画 UI 图

这部分就不用咱们操心了,把文档交给设计同学,然后等她出图就行。

这个过程中也可以时不时去看看她画的内容符不符合咱们的预期,当个小小的监工。

画完稿子需要跟老板、开发都对一遍,看看有没有出入,符不符合预期,有问题及时修改下,没问题就按照这份稿子进行开发了。

拟定合同、签合同

合同也是我来拟定的,其实是先到网上找了个软件开发的合同模板,然后再根据自己的想法进行合理的调整。

为什么我要到这一步才签合同呢?我觉得合同内容越细致越好,最好是能够把要开发的内容、样式都写在合同上,这样省得后面扯皮。

现在文档也出了,图也画完了,那咱们把这些东西都贴在和合同的附件上,然后附上这些条约:

这样就可以保障我们在开发完后不会被恶意的增加或者修改功能了。

这里我再列一些其他需要特别注意的点:

  1. 乙方交付日期,以及最多延期多久,如果超时怎么办?
  2. 甲方付款方式和日期(我们是用的 442 ,开工付 40%,中期验收付 40%,开发完验收付 20%)。
  3. 甲方拖欠项目款的处理方式(支付迟延履行金等)。
  4. 服务器费用是谁出?如果是乙方,需要注意包服务器的时限。
  5. 项目维护期,一般一年半年的吧。
  6. 乙方不保证项目 100% 可用,只能保障支撑 <u>多少人</u> 使用,支撑同时在线人数 <u>多少人</u> ,如果遇到恶意攻击,不归乙方负责。
  7. 软件归属权是谁的?(如果项目款比较少的话,乙方可以要求要软件归属权,之后甲方如果想把项目接回去自己公司维护的话,需要从乙方手里买,这样乙方可以回点血)

大概就是这些吧,还有其他的东西基本都是按照模板的,没怎么改。

弄完给老板看看,没问题就签了,有问题两方再协商一下,我们这边是直接签了的。

开发阶段

开发没什么好说的,跟你在公司开发一样。

不过你接私活可不能在公司开发🚫,只能回家了自己干,不然被抓到上班干私活,你看老板裁不裁你就完事了。

微信小程序上线注意事项

微信小程序对请求的接口有三个基本要求:

  1. 必须是有备案的域名。
  2. 必须是有 SSL 证书( https )。
  3. 域名不得带端口号。

这个域名的问题必须要尽早解决,不然后面开发完了再去弄的话,工信部备案审核都要挺久的,不延期都难。

还有一种方式,我在逛微信开放社区看到的,使用云函数进行中转,间接请求 ip 接口,感觉是可行的,也比较省事,具体操作大家可以自己去探索一下。

我也是吃了没有经验的亏,买域名 + 工信部备案 + 公安备案 + 小程序备案,这一套操作下来真给我整难受死了,直接用云函数省事多了。

验收、上线

这部分也没什么好说的,大家在公司也经常经历这个步骤。

多沟通,多确认,

唯一需要提醒的是,验收的时候咱不能无条件接收老板的任何要求,毕竟价格和开发内容都是已经定好的,如果要加内容或者改内容,记得酌情要一点工时费,可不能亏待了自己。

后记

整个过程中,其实沟通是最重要的,写代码谁不会是吧?但是得让老板觉得 OK 才行,如果有什么疑问或者觉得不合理的地方啊,最好是尽早沟通,不然越到后面只会让问题变的越来越大。

最近刚做完这个项目,说实话没赚什么钱,甚至有点小亏😅。而且这个老板还有点拖欠工资的感觉,中期项目款拖到了项目交付才给,项目尾款到目前还没付😅😅。不过还好合同里写到了关于这块的处理方式,倒也不担心他不付这个钱。

(虽然我也不知道在哪能接到靠谱的私活🤣,但也可以先收藏本文,万一之后来活了,还能翻出来看看)

最后,希望各位都能接到 very good 的私活,祝大家早日实现财富自由!


关注我的公众号 [程序员阿杆] ,回复 [合同] 可以获取到本文中提到的合同模板下载链接

12833 次点击
所在节点    程序员
87 条回复
SeanLari
206 天前
@totoro52 你急什么啊,你不是说了要讲逻辑吗?给你说清楚逻辑了啊。这就急了? OP 问你图怎么样了、文案怎么样了?

我怼你和评论是否可控没有任何关系,明白吗。

在我看来 OP 的图文不沙雕,你才是那个沙雕。
sticki
206 天前
@Dogergo 可以转载的,公众号的话我自己有发,开了快捷转载,其他平台注明来源的公众号就好了
sticki
206 天前
@choryan 主要是 V 站这边的图床要 money ,所以用了掘金的图床
sticki
206 天前
@yolee599 分情况的哈,如果项目文档和设计稿都给全了,确实不用这么麻烦,直接签合同就行了。我这个是什么都没有的情况。
tjlwww1
206 天前
收藏一波
york1204
205 天前
总共干了多久的工时,大概收了多少钱
Goldenjin
6 天前
老哥写的太详细啦,感谢感谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1034928

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX