莫方教程网

专业程序员编程教程与实战案例分享

程序员私活攻略 (下)

今天我们接上篇 程序员私活攻略 (中),本篇也是我接私活的心得总结最后一篇,本篇我们 将围绕如何制定开发计划、如何管理团队、如何交付成果及收款和如何质保几个方面分享下。

如何制定开发计划?

我们在前面已经确定了这个项目的团队成员以及定价,并且和团队成员达成了价格和工作量的一致。那么,这里制定开发计划就比较容易,如果小伙伴在工作中接触过这方面很容易,你可以用excel、甘特图之类来进行制定。我个人图方便,在WPS中用表格制定了。

技巧:这里计划的交付期限一定要比你的实际交付日期早,我一般早15到30天。防止开发过程中出现问题导致交付日期延后。至于出现的问题,比如技术难点攻克、需求采集不到位、人员变动等等。

在项目管理中,我们叫buffer,主要就是用来项目发生风险有时间去处理。

下面,以我的团队配置:1一个后端开发、1个前端开发、一个美工、一个测试来举例子,需求在2019年3月1号确认,确认完我自己做了数据库设计,框架是现成的,但是客户不喜欢风格,前端风格要调整,交付给客户的日期是2019年4月30号:

可以看出我的开发最晚在2019-04-05完毕,其实实际做下来,在2019年3月底就做完了。按照计划日期,测试再需要一周,修改测试的bug一周,差不多在2019-04-20就结束了。(为隐私考虑,我把责任人全改了再截图的)

技巧:这里安排计划,大家可以根据客户的交付日期减去buffer的天数,得到自己心目中的交付日期。然后根据这个日期去反推,如果紧张可以多个人参与。

开发计划制定完后,不是交给各自责任人就完事了,切记一定要每2-3天更新下计划,这样出问题能及时调整。同时,对于前端调好的接口自己要点点看,排除掉需求理解上的功能错误。不要把这些都丢给测试,有些东西测试万一理解错了呢?

如何管理团队?

  • 不要拉群,不要让团队成员之间能互相认识、沟通。这么做的原因是,防止成员之间联合起来给你抬价。
  • 该给成员的一定要给,宁可自己少赚点。一个稳定的团队可以让你省很多事情。
  • 在成员加入项目的时候讲清楚,超过计划安排日期(估算工作量错误例外),是要扣除费用的。一般我扣除标准是只扣这个功能的,延迟1-2天扣除30%,延迟达到3天,扣除60%。延迟超过5天,我要换人了。通常,因为我每天都看开发计划,所以不太会有延迟。
  • 在成员加入项目的时候讲清楚,如果测试测出未按需求实现的bug太多,要扣除相应的费用,并且修复bug没有额外费用。一般,我这里是一个功能不能超过8个,超过了要扣除20%,也是只按对应功能扣除。团队稳定了,bug不会超过这个指标的。
  • 在成员加入项目的时候讲清楚,如果中途由于个人原因退出,没有任何费用。
  • 在测试完,要给团队成员至少30%的钱。剩余的讲清楚,验收收款后给50%,并给个最晚期限。到了这个期限,你即使没能收款也要自己拿一部分给。最后那20%质保期完了给成员。
  • 项目成功验收收款后,可以给每个参与的成员发个红包,我一般200元。
  • 平时春节,只要过去一年参与过我的项目,每个人发200元。

以上这些,基本上都是我对自己团队的管理方式。我们的团队最早的成员在2016年就加入了,一直合作到现在。

技巧:如果团队临时招人,你又不熟悉,一定要先考核,我自己一般都是类似面试下,随便问问,一般能做CRUD之类,有责任心就行。

可能有小伙伴针对“不要拉群,不要让团队成员之间能互相认识、沟通”疑问比较大,比如这样前后端怎么沟通?我个人是他们都反馈给我,我自己分析下,如果不能拍板就转发下,能拍板就直接告诉他们怎么做就行了。

如何交付成果及收款?

说到交付,建议分为两种,一种类似敏捷,按功能、模块交付。一种是全开发完成交付。那么,该选择哪种方式呢?

如果你的项目比较大,比如开发要2个月甚至更长,建议按功能、模块进行交付。为什么这种类型项目要敏捷交付呢?因为项目越大,对于我们这种私活风险越高,毕竟我们没有公司那一套来规范流程、团队的。按功能交付给客户,出现问题能够早发现,早调整,个人认为可以相应地降低风险。

技巧:我不建议大家中规中矩的按照敏捷开发的标准来,私人团队,我们折腾不起的,只要把功能拆解,按功能、模块交付。简而言之,就是把一个项目拆分成几个小的子系统,然后按子系统交付。


如果开发就1个月左右,那就全开发完成再交付,毕竟你用敏捷那种方式按功能、模块交付,颗粒度相对细,中间成本会增加的,比如交付了一个模块,客户反馈bug,你要去分析,然后转给对应的开发者,开发者可能还要找你沟通。还有就是每次改了啥都要去客户环境部署一次,这也是成本。

交付时你只需要把程序部署到客户服务器,数据库搭建好,让项目运行起来。

技巧:如果项目本身不涉及支付、金钱相关的。大家建议客户买服务器直接买windows server就好了,我个人觉得比unix方便。数据库我都是建议客户直接买的阿里云的RDS数据库MySQL版。反正现在一买5年,不贵的,折扣很大。

最重要的一点放在这里说,大家会发现合同都是验收完毕客户会再支付我们一笔费用,而且占合同金额比例还比较大。那大家有没有疑问?验收后,客户不打款怎么办,难道真的拿合同去起诉吗?说实话,我之前真的被坑过一次,为了2万块钱也没那个精力去起诉客户啊。

当时情况就是,客户验收后一直拖费用,今天说下个月,下个月然后再下个月。最后还是给了,因为服务器挂了,进不去系统,客户找我,我说先把钱付了,我24小时给你解决好,最后他们没办法结清了。

这里建议大家在交付的时候后端代码里加控制,比如你合同里验收期限30天,那么代码里可以控制45天后系统不能使用,至于方式多种多样哈。然后,你交付的时候不交付源代码,我开发都是用Java,所以打包的时候我会加密(反编译看见的都是乱码)。这样,如果客户到时候不付款,你给他们部署的东西他们用不了,就要反向找你了。不过,我交付的时候会和客户说清楚,我会告诉他们抓紧验收,如果不验收,到了某一天系统会不能用的。

当然,客户验收后付款了,大家源代码这些一定要给客户。找我们做私活的都是定制化的,不然他们可以买一些软件产品的。

这个方式,大家别喷我哈,也是没办法的办法。客户付款后,我会说这个系统优化了些东西,要重新部署,把这块控制去掉。

如何质保?

最后一个话题,如何质保?到这个步骤,意味着项目成功验收,而且大部分款项已收回,可能只有10%左右尾款在客户那等质保期结束给你。那么,如何质保呢?其实,质保期做的事情就是出现了问题无论代码的还是啥导致系统不能正常工作都要免费、快速解决。

这块质保的内容,一定要你在合同里写清楚,比如我的质保约定:

当然,实际质保别说啥都是要钱。未按需求实现的地方,别说其他,第一时间安排去修复就行了。至于客户提出的改动下可能半小时左右的,让团队帮忙改下就好了,别和客户提钱了,但是你得和客户说:“xxx总,您提出的这块原来需求没有得,不过没关系,这块我们免费给你解决下”,简而言之,工作量不大的改动,告诉客户后免费给客户解决下。

写了三篇,文笔不好,大家凑合看,如果有更好的方式、技巧,可以一起沟通、学习。

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言