复盘一个让我收获很多的外包项目

2019-04-25 10:51 514 0
马上要结掉一个外包项目,这个项目中经历了很多,收获很多,做一下记录。
内容如下:
各种评估
需求评估
时间评估
费用评估
开发前
提醒对方准备
自己要准备
首次项目会议
开发中
周例会
功能阶段验收
记录
凭良心做事
甲方功能验收
开发后
交付
干得好
办砸了


我在项目里的角色是产品经理、UI设计、测试、半个项目经理,提供 APP 前端开发。外包的项目除了钱还可以打磨技术、积累资源、多个角度重新审视自己,这些是钱给不了的。
这篇主要是自己的复盘。"复盘"这个词是在善诊的时候学到的,很受用。经验和能力是在不断的踩坑中得到的,顺风顺水不一定是好事。

整个项目中,有些地做的还不错,有些做的还不够。都整理下来,作为反思。
按照项目进行的过程:

各种评估需求评估
首先是我(产品)这接到了需求,列出功能清单与上游角色确认。需求可能是一句话,或者几张PPT,但一定要帮助对方明确到具体需求内容,这时候需要产出一份需求列表。后续的流程中,会通过需求列表预估工时和价格,工时和价格会影响到上游角色的决策,也影响到参与项目人员的收入,所以这一项很重要。
此时上游角色会问要多少天,多少钱。这时候要说不知道。一定要找具体人员评估后再给反馈。这个阶段自己和对方都不是很明确这些功能,这时候的回答,会给对方留下第一印象,并对后续真正评估结果产生严重影响。这时候可以这样回答:不太确定,肯定要找具体干活的人看一下再告诉你。有厉害一点的和稍差一点的,费用和时间都不一样,你想用哪个(前提是真的有)?
有些项目,对方会指定语言或框架,便于自己接手后的后续开发。这个也要先确认好。

时间评估
带着上面的需求列表,找到具体干活的成员,确认各项功能的开发时间。每个人的能力水平有所差异,一定要找到具体干活的人之后,再开始做评估,时间精确到天。这里我自定义了一些时间概念:成本时间:指当事人按照 8 小时的工作量,全力开发的用时。开发交付时间:因为兼职工作,肯定不能按照每天 8 小时的工作量,这里根据个人工作效率和实际上下班时间,计算出开发交付的总时间。大概是成本时间×1.5左右。项目交付时间:开发结束后,肯定要经过测试。无论单元测试还是集成测试,测试联调是最消耗精力,也是最没有新功能产出的阶段。这个根据项目类型,自己调配。
至此,预估时间完成。
费用评估
个人费用 = 当事人的日薪 * 当事人预估的成本时间兼职日薪可以在实际日薪上下浮动。
至此,需求、时间、价格都明确了。上游角色可能会对需求进行增删改,来达到心理的预期价格。带着时间和价格,第二次与上游角色沟通。预估的时间和价格会对他的决策有影响,所以此时会对需求列表进行增删改。此时要与双方反复沟通确认。如果对方合同中需要附加需求说明,建议不要写的过于详细,避免给自己挖坑。

开发前提醒对方准备
根据需求让对方提前做准备,避免影响双方进度。对方要准备的,包括不限于:项目款、iOS 开发者账号、网站域名、服务器、CDN、短信服务商、推送服务商、支付SDK、确认公众号资质、软著等 APP 上架所需物料、APP隐私说明,APP名称、slogan等。
自己要准备
各项功能的需求排期,精确到具体日期。UI设计稿很重要。如果有原型,可以不包含所有界面UI,但 UI 主体调性要先确认好。当自己输出 UI 时,不要在开发中途与甲方确认UI,往往会影响到开发进度。当对方提供 UI 时,检查UI中是否有逻辑错误、页面状态遗漏等,要在开发写代码之前做好修正。
首次项目会议
最好是线下,主要目的是介绍一下项目成员和项目背景,明确开发和交付时间。因为后续大家不会经常见面,都是通过文字和线上语音,面对面沟通比文字和语音沟通效果要好很多。开发中途如果有矛盾,很容易闹得不愉快。见过面,聊过天之后,撕逼时会不会太激烈。另外这次要讲一下需求,带着 UI 和原型,所有功能模块都过一遍。
是否要有需求文档?能简单尽量简单,说明主要逻辑,或者需要特殊处理的地方。

开发中周例会
例会的作用是让项目成员了解整个项目的进度,加强成员沟通。我们的项目是在周二晚上21:30之后的微信群语音,大概持续 1.5 小时。顺序大概是:需求、设计、前端、后端。需求会影响设计,设计会影响前后端接口,特殊的设计会影响前端工作量。例会时需要让各方抛出问题,如果几句话能聊完的细节,就等他们聊完。如果很深入的细节,先记录下来,例会结束后找具体的人再开一次会,尽量当天有明确结论。不需要特别复杂的交互,除非前端有现成的轮子可以用。一方面增加开发成本,另一方面甲方不一定会喜欢,做完被砍掉,大家很心碎。
功能阶段验收
根据排期表,进行一周一次的功能验收。记录Bug,不一定要立即处理,但要保证功能完整性。配合周例会,可以有效的催进度。避免进度拖延,设计先行,其次是后端接口,前端。如果后端接口不能按时提交,那么可以先搭前端 UI 。功能验收的同时,提醒相关人员下一阶段的交付物。
记录
如果因为甲方某些原因导致的延期,要记录下来,最好有当时的聊天记录、邮件等。保护好自己和团队,避免锅从天降。团队内部的原因导致延期,也要做好记录,事后分配好锅的比例。
良心做事
做兼职很多东西是凭良心,可以拿着 5 万的钱,做 1 万的事。也可以让这 5 万块钱拿的心安理得。成员的目的是交付拿钱,甲方的目的是运行上线。有些不涉及业务,但纠缠不清的需求,尽量做到让双方都圆满,但不要过多征求甲方的意见。一个小小的需求,跟甲方聊完的结果往往是要增加一大堆功能。这时候就很尴尬,钱上面算完了,对方也有了新的认知,但功能又不能再增加。但如果涉及对方业务的需求,一定要了解清楚,反复沟通确认。
甲方功能验收
开发中途,需要给对方验收功能。提前通知对方打款,打款后继续开发。有的程序员提交验收时,首先保证在计划内的功能已完成。其次,尽量好看,放一些好看的图片和真实的数据。
开发后交付
整理好交付物(代码、设计源文件)。提醒对方更改项目中使用过的第三方平台的账号密码。提供使用说明书或简要的教程。
干得好
能花钱自己钱或别人的钱做项目的人都不简单,常联系,大家互相帮忙。
办砸了
如果知道自己办砸了,不要甩锅,不要耍流氓,站在对方立场想想补救措施。无论因为谁的原因,都别撕破脸。最差的结果是走法律程序,上面合同里的需求说明书,可能会救你,也可能会害你。
最后
外包项目跟平时工作的项目差别特别大,对项目成员的能力要求也比较高。作为产品经理,要做到了解常规业务的流程,技术原理,项目跟进。(一般情况下外包项目不需要产品经理)
这个项目里,后端开发不是我的人,如果有机会项目尽量全包(UI、前后端),不要各方都提供人手,例会都没办法组织。在跟后端人员合作的时候暴露了特别多的问题。主要总结下来,有下面两个问题:1.项目经验和能力水平差距过大。细节不描述了,这个问题导致双方沟通都很累。开发与开发之间能力要对等,降低沟通成本。如果能力都不高,那就多给些时间。2.价值观不同,也是对项目的态度不同。这个问题说的比较大,不过确实是很严重的问题。项目中,有的人觉得自己的时间最值钱,能在规定时间前把项目做完是对自己的利益最大化。所以很积极,会催促对方提供对接文档,快速响应,积极解决问题。另一种人,按时完成。时间还早,功能还好,能用就行,不是我的锅,大概这种态度。最后一种,遇事就拖。如果有机会,不要跟这样的人合作。拿钱做事,给钱不是为了听太忙的故事。

上周找了 6 个互相信任、能力强悍、价格不菲的程序员朋友,工龄是5-10年之间,踏实可靠。现在可以做的项目是Android、iOS客户端,Web、H5、小程序,JAVA后端,PHP后端。忽悠他们的话术是"能把钱拿到台面上说,干活不会拖后腿影响别人赚钱,没活的时候愿意搞个项目,又不单单为了钱"。
我希望的开发,可以积累足够多的项目经验和可用的轮子,要么会几种编程语言,要么熟练掌握几种框架。前端,可以脑补并主动完成“正常”的功能交互,与后端一起梳理数据结构。后端,最好写过前端,接口定义可以商量着来。可以使用 VUE 或其他常见框架完成后台界面。没需求文档可以脑补,有需求文档可以看文档。
后面可能还会陆续找一些感兴趣的开发做备份,不过总体来看不缺人,缺项目。。

您需要登录后才可以回帖 登录 | 立即注册