21世纪科技网络遍布全球,电子科技产品随处可见,给大众提供了便捷的生活方式,其中不乏许多的手机App广为群众所接受。那么App又是如何制作出来的呢?中杰科技拥有近十年对App开发的经验与接触客户的经历分析App开发的难度在哪里。
一、idea 阶段
自主开发软件不论时间还是金钱上的成本都很高,那么为什么客户愿意花那么大的成本来开发一个软件呢?
比如,客户想要开发一个电商网站,如果他想卖产品为话,什么不直接用淘宝卖商品呢?如果他想做一个平台那么和现有的电商平台又有什么区别呢?究竟客户有什么样的需求是现有的工具和产品无法满足的?
项目经理需要与客户沟通需求,明确客户的真实意图和业务初衷。因为客户不懂开发,那么他有时想到的解决方案不一定是最好的解决方案。
我们之前有个客户,被程序员朋友「蛊惑」一定要用某种特别新潮且小众的框架来进行开发,号称可以大大缩短开发周期降低开发成本。
程序员们总对新技术有迷之执念,但那个框架全中国用过的人就没多少,更别说熟练使用的了。基本没有现成造好的轮子,你要拿它来实现一个过去没人用它实现过的功能,坑不知道有多少。由于小众,它的生产和维护成本会很高,说不定前面的人离职了都没人接的下来。项目经理好说歹说总算换了选型。
二、产品阶段
大部分产品经理是没有技术背景的,所以尤其是做一些开发团队没有做过但是设想上是可以实现的业务时,产品经理无法衡量研发和测试成本。
所谓的「需求讨论(撕逼)会」就是项目经理组织产品、研发、UI、测试过产品方案,大家一起评估每个阶段所需要的周期和成本(然后一起手撕产品经理让他砍需求)。
在外包开发时,产品经理需求梳理好后,由项目经理来评估研发成本,一般这个阶段才能给出软件开发的准确报价。如果需求方觉得价格无法接受,则项目经理会协调砍需求、延工期、加预算。
时间、资源和交付质量三者可以看成一个三角形,不管是时间还是资源上的短缺都会造成质量下滑。所以如果时间紧,就加预算,如果预算吃紧,就延时间,才能保证交付质量。如果中途改需求,既不愿意加钱也不愿意延工期的话,那开发者就只能偷工减料了。
其实在软件开发中最重要的是你最后拿到的产品的质量,但是可惜的是,在这个三角形出现不稳定时,最早被牺牲就是质量。
三、UI & UX 阶段
软件开发是一个流水线式的作业,上游如果有任何纰漏时,下游就会花 200 倍的代价来修复这个错误。
每个阶段都需要项目经理严格把控,进行风险管理。UI、UX 一般也不太懂技术,当他们要做一些炫酷的效果时,可能就会大大增加研发成本。这也是项目经理需要把控的。
四、研发阶段
用户在使用软件的过程中,有时会有一些异常情况。比如,填写表单时,用户未填写一些必填项会造成无法提交,那么这时候程序需要报错,告诉用户究竟是什么问题造成无法提交。
软件研发过程中,有时程序员会漏掉一些异常处理,有时代码质量也会出现一些问题,项目经理不需要是个技术大牛,但在开发过程中项目经理需要组织程序员 review 代码,检查错漏。
五、测试阶段
在这个阶段,项目经理需要审查测试用例,在出现 Bug 后做好 Bug 跟踪,与产品、开发一起评估 Bug 重要性和修复成本,决定是否在当前版本修复。
总之,项目经理需要在开发过程中统筹全局,最大程度的降低项目延期的风险,提高交付产品质量。
有一些软件外包/众包公司没有这个角色分工,不是这个角色不重要,而是这个角色需要甲方来承担罢了。
网友评论