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

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

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

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

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

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

总览

我接手的这个项目是完完全全从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% 可用,只能保障支撑 多少人 使用,支撑同时在线人数 多少人 ,如果遇到恶意攻击,不归乙方负责。
  7. 软件归属权是谁的?(如果项目款比较少的话,乙方可以要求要软件归属权,之后甲方如果想把项目接回去自己公司维护的话,需要从乙方手里买,这样乙方可以回点血)

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

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

开发阶段

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

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

微信小程序上线注意事项

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

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

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

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

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

验收、上线

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

多沟通,多确认,

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

后记

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

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

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

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

相关推荐
码农小旋风33 分钟前
详解K8S--声明式API
后端
Peter_chq35 分钟前
【操作系统】基于环形队列的生产消费模型
linux·c语言·开发语言·c++·后端
Yaml41 小时前
Spring Boot 与 Vue 共筑二手书籍交易卓越平台
java·spring boot·后端·mysql·spring·vue·二手书籍
小小小妮子~1 小时前
Spring Boot详解:从入门到精通
java·spring boot·后端
hong1616881 小时前
Spring Boot中实现多数据源连接和切换的方案
java·spring boot·后端
睡觉谁叫~~~2 小时前
一文解秘Rust如何与Java互操作
java·开发语言·后端·rust
小飞哥liac4 小时前
微信小程序的组件
微信小程序
2401_865854884 小时前
iOS应用想要下载到手机上只能苹果签名吗?
后端·ios·iphone
AskHarries5 小时前
Spring Boot集成Access DB实现数据导入和解析
java·spring boot·后端
2401_857622665 小时前
SpringBoot健身房管理:敏捷与自动化
spring boot·后端·自动化