V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sticki
V2EX  ›  程序员

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

  sticki ·
stick-i · 214 天前 · 12895 次点击
这是一个创建于 214 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

image-20240421154347807

总览

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

先讲一下我的总体流程:

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

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

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

确定需求

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

我也向他提了几个问题:

  1. 预算有多少?

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

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

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

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

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

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

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

  4. 你希望多久完成?

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

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

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

大致功能点列举

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

延伸的思维导图

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

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

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

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

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

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

小程序功能梳理文档

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

小程序原型图-我的信息

后台管理系统原型图

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

工时评估,确定费用

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

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

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

  • 需求分析、功能梳理(就是前面做的那些,还没收钱的呢)
  • UI 设计、交互设计
  • 前端开发
  • 后端开发
  • 系统运维(包含服务器购买、搭建、认证、配置等)
  • 后期维护

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

前端开发工时评估

后端开发工时评估

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

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

预付订金

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

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

  • 给前端的订金
  • 给后端的订金
  • 给 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 的私活,祝大家早日实现财富自由!

webwxgetmsgimg (1)


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

87 条回复    2024-11-11 20:55:21 +08:00
xbo586
    1
xbo586  
   214 天前
赞一个
ttentau1
    2
ttentau1  
   214 天前   ❤️ 3
赞,收藏了,虽然现在没私活接
winson030
    3
winson030  
   214 天前 via iPhone
👍学习了
RangerWolf
    4
RangerWolf  
   214 天前
赞一个
yvanww
    5
yvanww  
   214 天前
坐等尾款
linauror
    6
linauror  
   214 天前
写的不错
StinkyTofus
    7
StinkyTofus  
   214 天前
一个小程序而已, 这么费劲, 把甲方都吓跑了。
MeteorVIP
    8
MeteorVIP  
   214 天前   ❤️ 3
整个过程,太过于理想了."中期项目款"至今未付才对.
jayzau1973
    9
jayzau1973  
   214 天前
支持支持,写得不错
sticki
    10
sticki  
OP
   214 天前   ❤️ 1
@MeteorVIP 🤣合同里可是写了,甲方拖欠项目款超过 20 天,乙方可以解除合同,并要求甲方进行赔偿。
mmga
    11
mmga  
   214 天前
很详细,谢谢楼主分享
grimbedroom
    12
grimbedroom  
   214 天前
感谢分享
xiaochong0302
    13
xiaochong0302  
   214 天前   ❤️ 8
2000 块钱的项目,干出了 200 万的架势。
jgh004
    14
jgh004  
   214 天前
尾款不到账不给源码,如果小程序是你申请的,不到账不交接。
Winifred
    15
Winifred  
   214 天前
感谢分享
JeffreyRSmith
    16
JeffreyRSmith  
   214 天前   ❤️ 1
这套源码卖吗? 想学习下整体思路
kmz1
    17
kmz1  
   213 天前
把这里当成 csdn 了是吧,我的黄豆都流汗了
totoro52
    18
totoro52  
   213 天前   ❤️ 10
其实我挺讨厌这种配沙雕图说沙雕话的文案。。。有一种不能好好说话的感觉
yumizhao888
    19
yumizhao888  
   213 天前 via iPhone   ❤️ 1
流程不错,是个干大事的人。
文字表达也非常可以,有令人想读下去的欲望。
感觉可以一边接活,一边整活,发发抖音之类的,完播率应该不错。
SeanLari
    20
SeanLari  
   213 天前   ❤️ 6
@totoro52 你别看啊,挺好的经验你不关注,倒开始挑人配图沙雕了。
yuzii
    21
yuzii  
   213 天前
@totoro52 单开一帖
shmilypeter
    22
shmilypeter  
   213 天前
赞一下,流程很科学
sticki
    23
sticki  
OP
   213 天前   ❤️ 1
@JeffreyRSmith 代码是写给别人公司的,不方便出售
chobitssp
    24
chobitssp  
   213 天前
小程序接口域名可以带端口号
mobile8
    25
mobile8  
   213 天前
马一个
JingXiao
    26
JingXiao  
   213 天前
工作量评估要精确到小时的么
xujiahui
    27
xujiahui  
   213 天前
厉害,写的好详细
numoone
    28
numoone  
   213 天前
后台管理系统 5 小时就开发完了?是不是原来已经有现成的?否则真是太牛了
northbrunv
    29
northbrunv  
   213 天前 via Android
高质量分享👍
Belmode
    30
Belmode  
   213 天前
流程规规矩矩。
但是我觉得这个小程序,配不上你这么费时费力的梳理规划,纯当积攒经验吧
Tdy95
    31
Tdy95  
   213 天前
流程没错,不过梳理需求、整理文档的时间也需要评估进工作量里面。
另外,是因为业务非常简单吗? 工时评估的也太极限了,中间出点什么风险,成本和工期就会大幅增加。
我一般工时最小单位按照天来评估。

另外额外的系统部署、测试也需要评估进去。

本人 6 年前端,拉了 10 人左右的小团队接单中, 主要做展厅数字人、数字人流媒体直播、AR 小程序等业务。有成熟案例,有需要的老板欢迎来勾搭 d29zaGl0ZHkxMjM0NTY=

主打一个经验丰富、专业化程度高,高质量服务,所以价格也不低,欢迎有难度的项目来~
junhua13
    32
junhua13  
   213 天前
强强强
Jtyczc
    33
Jtyczc  
   213 天前
挺不错~
liaojl
    34
liaojl  
   213 天前 via iPhone   ❤️ 2
直接拉到最后,看到有公众号,舒服了。
worldhandsomeboy
    35
worldhandsomeboy  
   213 天前   ❤️ 1
@liaojl 不用拉最后,这种场合前面如果直接介绍自己,基本要推销自己的公众号的。
赞成#7 、#13 和#18 的观点。
dododada
    36
dododada  
   213 天前
以前接了个玩具厂的游戏活动 h5 ,全国门店同时铺开宣传。

然后做好了准备上线测试,对方说阿里的服务器过期了,域名丢了,导致活动入口失效,所有的宣传海报作废,简直离了个大谱

最后一毛钱也没拿到,总包还赔了对方不少钱,坑的很
huzhizhao
    37
huzhizhao  
   213 天前
可以,挺正规的了
gchxp
    38
gchxp  
   213 天前   ❤️ 5
还好拉到最下面有公众号 放心了
hevi
    39
hevi  
   213 天前
私对公的合同吗
Rehtt
    40
Rehtt  
   213 天前 via Android
@xiaochong0302 攒经验
hyv2u
    41
hyv2u  
   213 天前
真不错~
guisense
    42
guisense  
   213 天前
真棒,学习了。
如果要对方开票的话?
felmoon
    43
felmoon  
   213 天前
写的挺好,但是感觉不真实
NICEghost
    44
NICEghost  
   213 天前
写的很详细,为楼主点赞,顺便下次能不能别加沙雕表情包了,写得好不论怎样都会有人看的
iOCZS
    45
iOCZS  
   213 天前
@guisense 个人也可以开票的
ihuihui
    46
ihuihui  
   213 天前
哈哈,这过程规范嘛,很多大公司在实际实施中都做不到。
whileFalse
    47
whileFalse  
   213 天前 via Android
@dododada 什么叫总包还赔了对方不少钱
xcli
    48
xcli  
   213 天前
真的需要这么规范吗?个人接过两个私活,都是微信转账( 5-10K ),对其需求,然后给开工费 40%,开工干完 40%,后期测试答疑 20%。不过都是一个人搞定的
dododada
    49
dododada  
   213 天前
@whileFalse 域名,服务器,证书都是总包方负责的,阿里的云服务过期就删掉了,域名过期也找不回来了
lscexpress
    50
lscexpress  
   213 天前   ❤️ 1
可能大家没明白,规范的流程可以承接更大的项目。
mizuhokaga
    51
mizuhokaga  
   213 天前
最近也在干小程序的私活,学习了
感谢分享,
小程序 https/域名这个痛点的确,越早解决越好
totoro52
    52
totoro52  
   213 天前
@SeanLari 我不能发表意见? 非要全部一片叫好? 那怎么体现生物多样性?
htxy1985
    53
htxy1985  
   213 天前
请问云函数中转是什么意思?就不用注册域名和备案了?哪个大佬帮忙解释一下。
guanzhangzhang
    54
guanzhangzhang  
   213 天前
收藏了,感谢分享
Wien
    55
Wien  
   213 天前
这就叫专业
ken678
    56
ken678  
   213 天前
@htxy1985 云函数可以不用域名和服务器
darkengine
    57
darkengine  
   213 天前
某次接的项目,最后一期款拖了两年多,拖到我都忘了。。。

后来某次找我紧急改个问题,才发现要到手的 😂
hongweijie8
    58
hongweijie8  
   213 天前
支持~
whileFalse
    59
whileFalse  
   213 天前 via Android
@whileFalse 所以是总包方不靠谱,坑了你们坑甲方呗
cppgohan
    60
cppgohan  
   213 天前
感谢分享, 想知道这次你的经验, 在实操中"估时"和实际的实现中, 误差会有多大? 做完完整交付吗? 开发中的变更和调整, 怎么控制时间和成本投入?
flyqie
    61
flyqie  
   213 天前 via Android
这文章如果不加点引流就更好了。。
SeanLari
    62
SeanLari  
   213 天前
@totoro52 不同意见不等于乱喷,你确实很体现物种多样性
llf007
    63
llf007  
   212 天前
```
对于微信小程序对请求的接口有三个基本要求:

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

可以试试: https://www.apisql.cn

APISQL = 数据库转 API 软件+简版 Postman + API 安全管控 + API 监控统计 + frp 内网穿透 + 云服务器 + 公网 IP + 已备案域名 + SSL 证书

可以轻松将内网数据库的增删改查 SQL ,转换发布为公网对应的 HTTPS API ,无需编写代码,无需内网穿透,后端开发即服务


V 友们个人临时开发个 API 、作个测试啥的,都可以拿来使用,反正每月有 5 万次免费 API 的请求。
mcryeasy
    64
mcryeasy  
   212 天前
收藏,希望以后能用到
sticki
    65
sticki  
OP
   212 天前   ❤️ 1
@cppgohan 估时的误差不大的,一般都会多估一点,对于自己不熟悉的部分,尽量多估一点,然后有同伴一起开发的话,可以大家相互看一下。
我们有中期验收和开发完之后的验收,共两次。
开发时我们完全按照合同内容进行,如果甲方需要进行调整,由他们承担多出来的工时费用。
totoro52
    66
totoro52  
   212 天前
@SeanLari #62 我这叫乱喷?
作者说这是一盆花, 评论有人非要说这是一坨屎, 这叫乱喷。
作者说这是一盆花,评论有人说这个花搭配这个花盆不好看,请问这是不是乱喷?
请问你是如何定义乱喷的,还是说你的思想只能是一个二极管,眼里只有对与错?
totoro52
    67
totoro52  
   212 天前
@SeanLari #62 理性一点,等你想好你是怎么定义乱喷这个行为再来回答我。
pipaseqin
    68
pipaseqin  
   212 天前
干货满满
qizhiyuan
    69
qizhiyuan  
   212 天前
呐 这就是专业
M003
    70
M003  
   212 天前
@guisense 额.发票不是收款方吗? 对方要开发票吧?
ddzzhen
    71
ddzzhen  
   212 天前 via Android
整的很细,可参考性也很强
yolee599
    72
yolee599  
   212 天前 via Android
越看越不对劲,外包项目怎么可能这么搞,提那么多要求别人早就找别家了。直接跳到最后面,果然是推公众号的
gkeeno
    73
gkeeno  
   212 天前
做过一次,跟人沟通的工作量和重要程度远大于开发
SeanLari
    74
SeanLari  
   212 天前
@totoro52 你懂如何尊重其他人的喜好吗?你去一个陌生人家看到人家花好看,花盆不好看你也会这么说?有礼貌?用得着你来评论?

你对 OP 的主观喜好一顿点评就是乱喷,说明白了吗?
Dogergo
    75
Dogergo  
   212 天前
高质量分享,真棒,我最近接了一个 RPA 的,用影刀操作阿里妈妈直通车的,3000 块也是 442 ,没整合同什么的。不过确实遇到中间加需求等操作,只是跟老板吐槽了,并没有额外收取费用。介意转载吗,大佬
chenfcheng
    76
chenfcheng  
   212 天前
可以可以 学习了
choryan
    77
choryan  
   212 天前
我还以为我到了掘金 掘金入侵了是吧
totoro52
    78
totoro52  
   212 天前
@SeanLari #74 为什么不会说? 为什么我不能说? 你去朋友家,朋友问你这盆花好不好看,你自己认为不好看的前提下,难道你非要说很好看? 我不能说花盆不搭配这种话? 你是不是对尊重有什么误解啊, 你的思想非常的右倾并且保守,眼里容不得任何不一致,在你认为不一致的全部都是乱喷。
totoro52
    79
totoro52  
   212 天前
@SeanLari #74 我非常理解你的行为,在你认为,只要觉得是人群中不一样的话,这个人绝对是个喷子, 这种思维在互联网这个大舞台是常有的事,所以我非常理解你,懒得跟你 BB , 你也不用再回复我了,谢谢您了
totoro52
    80
totoro52  
   212 天前
@SeanLari #74 另外你自己说的这段话本身就非常矛盾,OP 发帖出来, 你不让人点评,反过来说我用得着我来评论? 那你让他别发 V2 啊, 那你让他去发公众号好了,那里评论可控,挑自己最喜欢的话放出去显示。
SeanLari
    81
SeanLari  
   212 天前
@totoro52 你急什么啊,你不是说了要讲逻辑吗?给你说清楚逻辑了啊。这就急了? OP 问你图怎么样了、文案怎么样了?

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

在我看来 OP 的图文不沙雕,你才是那个沙雕。
sticki
    82
sticki  
OP
   212 天前
@Dogergo 可以转载的,公众号的话我自己有发,开了快捷转载,其他平台注明来源的公众号就好了
sticki
    83
sticki  
OP
   212 天前
@choryan 主要是 V 站这边的图床要 money ,所以用了掘金的图床
sticki
    84
sticki  
OP
   212 天前
@yolee599 分情况的哈,如果项目文档和设计稿都给全了,确实不用这么麻烦,直接签合同就行了。我这个是什么都没有的情况。
tjlwww1
    85
tjlwww1  
   212 天前
收藏一波
york1204
    86
york1204  
   211 天前 via Android
总共干了多久的工时,大概收了多少钱
Goldenjin
    87
Goldenjin  
   11 天前
老哥写的太详细啦,感谢感谢
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2908 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms · UTC 08:09 · PVG 16:09 · LAX 00:09 · JFK 03:09
Developed with CodeLauncher
♥ Do have faith in what you're doing.