软件外包服务岗前技能训练(1)学习心得

软件研发行业的人力资源很贵,而软件开发任务往往超过一个公司的负荷。有时面临技术不足,有时面临人手不足。你可能会说,那怎么不招人呢?这个问题挺有意思。

要招一个人不难,在线上招聘平台有大把的简历可以筛选。但是要招聘一个能满足项目要求,或公司要求的人并没那么简单,不然也不会存在猎头这种职位了。

有时候我们只是希望来几个人协助我们完成一部分任务,完成这个项目可能就不需要他了。因此,我们需要一个或几个外援,这个就叫做外包。那么如何将一个项目分为多个模块与功能,去哪里招人帮我们做,给他开多少钱合适,如何确保他完成的任务后期需要改bug时再让他帮助呢(对于难度大的外包需要考虑后期维护的问题)……

本人恰好在一家小公司里做开发统筹的角色,这几年也面临这些问题,总结了一点经验,希望可以帮助到有需求的同行。

目录

  1. 编写外包合同
  2. 追踪任务进度
  3. 设置价格区间
  4. 验收与交付

一、理清需求

很多人往往不够重视这一步,有时候还没有想好究竟要做一个什么东西,就开始找人做。想着尽快实现自己的想法,殊不知“少就是多,慢就是快”。自己可能大概知道要做什么,但接你活的人又不会读心术,这时往往在前期花费很多时间沟通讨论具体的想法。

理清需求是最重要的一步,没做好这一步,那么后续的步骤就没有根基。尤其当你被乙方牵着鼻子走时,他可能会漫天要价。

可以先在稿纸上初步的画一画软件的交互,罗列几个核心功能点。假如你要做一个微信这样的软件,那么就先在纸上画一个登陆界面,联系人界面,聊天界面和添加好友的界面。由于是外包任务,你可能面临时间紧任务重的情况。不要想着在第一个版本就能实现所有功能,功能越多 bug 越多。而是先实现核心的登陆与聊天功能。

草图画好了,但只有一个壳子是用不了的。还要考虑到如何让这个软件与其他人电脑上的软件通讯。这里就牵扯到数据结构、通讯、加密和消息转发等问题。一般的,我们先知考虑最简单的情况,你有一个好想法,如何让它迅速落地,在第一个版本中就一定越简单越好。先别想着一亿个人在一个群里发消息如何让每一个人都收到这种问题。而是如何保证至少能满足100个人的即时通讯。这样的话,也只需要花几十块钱买个 vps 就行了。服务端的逻辑也可以尽量简单粗暴。

如果你是想用这个 idea 创业或者吸引投资,PPT 可以随便吹,但在给其他人画饼之前先实现这个想法最小的一步。

扯远了,简单来说,你要清晰的知道自己要做一个什么东西,它长什么样,它每个界面上大概有几个按钮,几个功能,它的技术难点是什么。然后以这些为基础开始编辑一份需求文档(我现在后悔大学时没好好上软件工程这门课,我这篇文章里提到的大部分东西那门课里都有)

需求文档写好了,给多少钱合适?

二、设置价格区间

继续拿微信外包举例

需求文档写好了,接着划分功能。

服务器部分

  • 数据库设计与初始化脚本
  • 登录逻辑与接口的设计
  • 发送消息的借口

客户端部分

微信客户端报价

那么怎样在他第一次交付时就能满足我们的预期?这就到了设计验收要求的环节

三、设计验收要求

对于界面要求,如果你会使用常见的平面设计软件最好,不会的话可以使用 windows 画图工具实现一个最简单的草图。如果对方发过来的东西运行后和我们设计中的不一样或者存在出入,那么直接就是不合格,要求他限时修改。

那如果运行后界面上没有问题,但是你刚发一个消息,软件就崩溃了。或者你发第一条第二条消息都是顺利的,第三条消息一直在转圈圈。或者你发了一个 "how are you?" 而对方只收到了 "how are you" 你的文号被软件吞掉了怎么办?

所以这里需要你提前设计好基本的测试用例。我们在验收要求的文档里就要给出一些很具体的指标,对方要确保这些指标都满足后再发给我们。虽然写这些要求的时候很慢,但是相信我,这比你没有这些要求收到软件时自己发现一个问题,报告对方一个问题,对方又有复现这个问题,对方又说“在我这是好的啊”好多了。

如何写验收要求

运行平台

至少要支持win 7 SP1 32 家庭版 系统,这样避免了对方在 win10 测试没问题而在你的股东 win 7 跑不起来。

稳定性

软件连续运行24 小时不能出现崩溃或卡死的现象

功能测试案例

连续发送 100 条消息,每条消息都能在 3 秒内发送出去,且每条消息必须准确无误

……

现在有乙方接单了,我们怎么知道他今天做了什么,昨天做了什么?

四、追踪任务进度

可以让他在 gitee 或者 github 上创建一个私人项目并邀请我们参与进来。要求每天至少提交一次。这样我们就可以通过 commit message 看到任务的具体进度了,也能看到对应提交的代码

github 提交记录

github 代码提交详情

五、验收与交付

程序运行没有问题,设计和功能也满足要求,就可以支付

其实验收并不是说一次就支付所有的费用。由于我们前期有详细的文档,那么按照进度和功能点,每完成一个支付对应的钱就行了。

另外,在报价时应该设置一个维护费用。到目前阶段的测试工作仅局限于甲方和我们自己,随着用户的增多,肯定会暴露出越来越多的问题。我们可以在报价中以总费用的 30% 作为维护费,分三次付清。软件只要一个月内没有问题或者出现了问题对方能及时解决,就支付 10%

有了维护费做保证我们也可以放心大胆的把软件推广出去了,反正出了问题有人兜底。


后记

软件外包这个需求一直是存在的,也有很多公司专门做这个。

作为一个出钱的人可能因为一心求快忽略了这些步骤,直接在 QQ 群或其他地方找人做。缺少了必要的设计和文档,最后得到的东西往往不满意。

我这里写的也只是个人的一点工作经验,希望能帮到有需求的人,也欢迎同道中人指正和建议。

  • 19
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值