首页>>技术前沿>>网站/软件行业动态
软件开发外包如何应对甲方金主爸爸不听劝的情况
作者:西安软件开发 | 原创 来源:西安软件公司 | 时间:2019年10月12日| 点击:0次 | 【评论】

软件开发外包行业也好几年了,常常会碰到要与外行人合作,这种外行主导内行的事情对于工程师来说是非常痛苦的。在我看来软件开发过程中甲方和软件开发方项目合作更像一场博弈和拉锯战。大家有共同的努力目标是项目的顺利交付,但甲方的交付期望和支付能力相差甚远,软件开发方交付结果和交付质量有待考究,大家不相上下。甲方金主爸爸不听劝是常见问题,从开始规划功能不停地做加法,从原型策划到UI到交互,一路灵感迸发,最后的结局永远是修不完的bug。软件开发团队“无条件”接受甲方的需求,一开始就冲刺加班加点地加新功能,几个月后就慢下来了,所有时间都在修bug,没精力去加新功能。这是软件开发的一个特定规律。

这种困境实际来源于外行人的误解,他们认为编程是门自学成才的手艺活,所以软件开发是轻而易举的事情。换个角度来说,外行人的误解,可能也很大程度上和“码农”自己自身特点有关,这个群体常常在幕后,很少发声,即使发声也很难用通俗易懂的话向大众传达清楚。“码农”这个群体不是科学家,不是发现个有趣的规律就能发表论文取得名与利,他们要确保自己的作品要有用而且还得安全不出事,还得考虑成本讲究可行性。

从历史的角度来说,软件行业从一开始就是一个糟糕的行业,项目总是再延期,好不容易交付软件后又总是出现各种毛病和错误。这样的“宿命”,也导致了“码农”这个群体特别喜欢自黑。在软件开发中犯细微的错误,结果可能就非常糟糕,软件开发不仅是个工程,而且比传统工程难得多,一旦为了赶工,十有八九是糟糕透顶的结局。软件外包客户定制一个软件,都是面临“压缩工期”、“压缩成本”、“赶快上线”这样的赶工问题,这就是软件工程的实际困境。

造成项目不停重构最重要的原因,是一个“快”字。软件行业发展至今,快速上线是最重要的,第一时间服务客户是最重要的,最快的添加新功能是最重要的,最快速度修复BUG是最重要的,处于抢跑快跑的竞争梯队是最重要的。为了更快就要更加聪明更加高效的工作,要加更多人或者加更多班。所有人心里都明白,匆匆忙忙并没有让项目更快或者更有效率,只是让项目软件开发人员压力倍增精力涣散效率低下,最终项目质量很不稳定很脆弱。某个角度上来说,任何试图匆忙完成软件开发,都会消耗软件开发人员大量的情绪和精力,最终造成项目效率低,软件兼容性差。经常会能碰到一类“管窥效应”的客户,一旦目标锚定在完成软件开发上线,就压根没心思没时间花在做测试上面,似乎测试不是软件开发的一部分。所以想要让一项涉及多人的工程项目稳定运行,软件开发过程必须先慢下来,约束好需求的“得寸进尺”。
软件开发外包
做到磨刀不误砍柴工,首先是找专业和敬业的人,其次是减缓进度,让业务需求与软件开发团队完成有效的磨合和掌握适合的软件开发节奏,最后约束产品的需求增长,平衡好商业诉求与工程软件开发的冲突,提高产品的模块自动化和兼容性。软件开发流程和软件开发工具都不会让项目怎么能运行起来,最核心的关键是人。自我的人,一定不能允许这类人留在团队,破坏性巨大。再者是尽可能让整个软件开发团队一起工作,不要允许个人英雄主义和独狼软件开发者,要善于让集体贡献责任和成果。尤其在项目开始的早期阶段,一定要预留足够的时间来完善计划,至少争取要每周收集反馈并调整计划。再专业的团队,都很难保证所有的预先计划都能完整的被实施,大概率上来说,计划不是要不折不扣的实现的,计划的目的是应对各种变化,是要经常进行修正的而不是一成不变的。

其次明确短期目标和长期战略。制定短期目标,方便项目成员的注意力能够更好的聚焦在完成关键工作上。尤其软件外包合作的过程中,不要凭直觉做决定,否则整个项目软件开发团队都会觉得莫名其妙的,更无法理解一个陌生业务的复杂性。完善不同人员的协作流程是需要消耗时间的,越多人参与项目,必须花费一定成本用来磨合团队的合作,否则只会让项目延期的风险不停的增加。虽然,这些年技术进步能解决一定的问题,比如可视化的控制和数据流,更好的操作系统,更好用的编辑器等等。但技术进步升级也带来新的问题,写程序是永远在更新技术。

最后还有考虑及时响应市场的诉求。这些冲突累计在一起,导致主导软件开发的这个人,必须得能够理解高度复杂的东西才行。像这样的人才,都是绝对的帅才。主动软件工程就好比带兵打仗,最起码的把人安全带到战场,不逃逸、不哗变、不闹事、都能吃饱饭就不错了。

此内容DOC下载 此内容PDF下载

【全文完】
关键词标签: 软件开发 软件开发外包 
0 ([$-顶稿人数-$])
0 ([$-踩稿人数-$])

版权声明:

1、弈聪软件网站内容中凡注明“来源:XXX(非陕西弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,网站优化,APP开发,微信小程序开发,大数据平台开发,区块链技术开发等软件开发技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“陕西弈聪”的作品系本站版权所有,任何人转载请署名来源,否则陕西弈聪将追究其相关法律责任。

2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。