项目上线后出了问题并造成损失,原因是代码逻辑问题,责任应该由程序员承担吗?

景成乐天


一个项目的整个流程,不仅仅只有程序开发部分;开发的上游有业务和需求,下游有测试,如果出现任何上线后的问题,都怪罪到程序员的头上,那么就有失公允了。


项目是个整体

其实大多数单位,项目推进过程中出现了各种各样的问题,都会有人跳出来甩锅,俗称“甩锅侠”;需求甩给开发,开发甩给运维。其实也可以理解,可能涉及到个人的绩效、考核;其实完全没有必要这样。

项目是一个整体,如果项目上线后出现了问题,那就是这个项目组的问题。所以现在很多公司都采用敏捷开发,从需求到开发到测试,都是一个整体,不仅仅可以快速迭代,快速响应业务需求,也可以从一定程度上,避免这种“甩锅”的行为。


为什么是程序员背锅

现实工作中,项目出错程序员背锅的事情还是非常多的,为什么是程序员,而不是测试,不是需求呢?

我观察,大部分公司的项目流程,开发占了绝大部分时间和比重,需求和测试被弱化了很多,并没有做到需求和测试该做到的事情;甚至有些单位的需求人员/产品经理在做需求的时候,还要问开发怎么写这个需求;测试人员问开发人员,这个功能应该怎么测...

在这种背景下,项目出现问题,生产出现BUG,难免需要开发人员背锅。


生产出现问题应该怎么处理

我这里说的不是指,如果快速定位问题,如何进行BUG修复,而是想说说追责方面。

  • 如果是开发人员,代码是你写的,问题是因为你的代码BUG而出现的,那么先要做好定位问题,解决缺陷,配合运维人员上线及做好上线后的验证的工作,然后自我反思,以后如何避免出现类似的问题。

  • 如果是开发人员的直属领导,比如项目经理,“对上”,要勇于站出来承担责任,而不是说“这个是我们项目组XXX的责任”,项目经理一定要站在项目组成员的前面;“对下”,陪着开发人员一起,定位问题,解决缺陷,配合上线,和项目组成员一起反思;

  • 如果开发人员一而再,再而三的出现错误,那么反思是不是自己任务分配的有问题,比如有难度的工作,分配给一名初级程序员。

  • 当然,如果一个反复犯错还不知道改进,甚至是因为工作态度的问题导致经常出错,那么可以考虑让他离开项目。


希望我的回答,能够帮助到你!我将持续分享Java开发、架构设计、职业发展等方面的见解,希望能得到你的关注。


会点代码的大叔


只要是程序就会存在漏洞,成熟的程序相对漏洞会少一点,上线之后出了问题并且造成损失,表面上看是程序员代码直接导致的,作为实现者本身来讲是负有一定责任,但如果把所有的过失都归结到程序员身上欠妥,从整个链条上来看项目的负责人要承担很大的责任,因为项目版本的发布和负责人的最后的拍板有直接的关系,项目中除了技术人员还有测试人员,重大的隐患没有测试出来测试人员也是负有一定的责任。

为什么程序这么容易出问题?

1.项目中程序框架设计不合理,导致兼容性或者抗风险能力出问题,好的框架在一定程度上会规避很多不必要的问题出现,而且在新添加功能后不会影响整体逻辑,千军好得一将难求,一个好的架构师对于一个项目启动显得至关重要,但并不是每个软件公司都能请的起高端的技术人才,所以难免开始设计的框架存在问题,架构师不是天生就有的,也是无数项目摸爬滚打出来经验提炼出来的,很多老程序员根据自己做的多个项目积累经验,然后架构出来的东西基本上差异也不会太大。

2.项目周期赶得太急,导致很多功能没有完全走通就匆匆忙忙上线,这种可能导致功能模块在还没有完全调研清楚就直接开搞代码,所以容易在实现功能过程中忽略掉一些细节,这种细节可能在测试过程中不太容易被发现,结果造成问题到客户的手里才被发现,这种会导致出现隐患在里面,常见的项目故障大部分都是在这种场景下出现的。

稳定的产品是靠时间打磨出来的,任何一点出问题都是某一个人的因素,程序员本身而言就是一个执行者完成到什么程度,能够达到什么效果外在影响还是挺大,周期短以及功能复杂都会导致异常。

曾经做过一个项目,有个同事因为在管理指针进行释放内存的时候,没有管理好代码,造成局部的内存泄露,而且是小块内存的泄露,结果连续运行72小时系统就会崩溃,造成很差的客户影响,表面上看是程序员的疏忽造成,但如果在测试阶段能够及时发现这个问题,也不至于到客户现场才能被发现,所以任何一个问题的出现都不是单一的,单纯怪到程序员身上,不太公平。

希望能够帮到你。


大学生编程指南


不该!

上线不是程序员说上就上的,首先是项目团队里的测试人员测试,内部测试通过后交给客户测试,客户测试通过,签字确认同意上线,这才可以上线。

有问题,没有被测试出来,说明测试人员不给力,首先要问责的,是测试人员。

我在做项目经理的时候,所有要上线的内容,我都会跟客户反复确认好:在上线前您可以随便倒腾,做各种测试,但是您确定无误上线,就不只是我们的责任了。

即使后面出现了问题,也不是程序员的问题,运维的人来解决,并且,还收费的!

我最讨厌甩锅行为,代码逻辑有问题,项目经理要检讨,技术精力要检讨,测试团队要检讨,唯独不是程序员的错,可是把锅给了程序员本人,这就说不过去了。

其实,我们工作中很多的扯皮,推诿,甩锅,都源于流程搞得不清楚。每个流程都有相应的负责人,各自承担各自部分的责任,哪里还有那么多的破事呢。


傅一声


这个问题,我想我有必要回答一下。首先,程序员一定不会承担全部责任,这是肯定的,但你又肯定是要承担一定的责任的。

直接责任:开发、测试

开发人员和测试人员,在本次事故中,都负有主要责任。作为程序员,代码逻辑出现问题,源头在于你,理论上你承担的责任是比较大的(实际情况下面说)。

写出与符合项目要求的代码,是开发人员的责任,所得你的负责。同样,找出代码中的bug、其他问题,也是测试人员的工作职责。

既然出错了,就不要怕担责任……

第一责任

你的项目经理,要负领导责任。通常情况下,直接责任人都是第一责任人的“挡箭牌”。项目经理对这个过程把控不严,导致了事故的出现,但是项目经理通常不负主要责任,更多的是连带责任。

如果你们家的公司比较小,测试的工作由项目经理或者其他人员充当,那么项目经理除了要承担第一责任外,还要承担主要责任。

测试和开发,谁的责任大?

前面说过,程序员需要写出符合项目要求的代码,这就代表需要有一定的自查能力,不能写出一大堆bug,然后让测试人员给你提。而测试人员的工作,是找bug。两者均是主要职责,所以你们需要负的责任是一样的。

当然,具体情况还要具体分析,一般而言,测试担的责任有时会多一些。

项目损失,谁的责任?

前面说的,是代码出现问题,谁的责任比较大的问题。但是当这个项目上线之后,出现了问题,直接责任人就由程序员和测试人员,转移到了项目经理。换句话说,项目出了问题,老板只会找项目经理,没听说过找程序员或者测试的……

当然,就团队内部而言,开发和测试依然有不可推卸的责任……

损失谁来承担?

作为公司的雇佣人员,在工作期间,你所有创造出来的价值,均归公司所有,同样造成的损失,也应由公司承担,但合同另有约定的除外。

难道项目经理、开发、测试就不需要担责任了吗?不是,公司可以扣你们绩效或者其他处罚,这是合情合理的。

实际情况

我想,一个管理优良的团队,也会出现这样的状况。但与一些差劲的团队不同,项目经理一定不会揪着成员的头发不放,说一定要谁谁承担责任之类的,而是会开个小会,总结一下教训,检讨一下自己,该扣绩效扣绩效,该鼓励还是要鼓励。

一直纠结于过去,你要考虑适不适合在这里发展了,好的团队,一定是总结过去,放眼未来的。

——摘自W3Cschool学员的回答。


W3Cschool


项目上线后软件产品出现问题,其实是不应该由程序员来承担的,这应该是整个项目组来承担。

程序员在软件开发过程中,产品经理有没有跟客户把需求弄清楚?有没有把详细需求跟研发人员沟通好,有没有定期对产品功能组织审核?

测试人员有没有理解需求,进而发现产品存在的功能性Bug?

项目经理有没有定期组织讨论产品进度及质量?上线前有没有组织试运行?

再就是程序员有没有很好的理解需求,在存在疑惑的需求时有没有及时的沟通?

这些每一个环节,只要认真负责并且切实做到,都可以让软件产品的成熟度更好。

所以一旦产品上线出现重大Bug,不应该由某一个人来完全承担,应该由项目组集体承担。希望能够对你有所帮助。


80后技术老白


具体的责任是在于测试组,应该由测试组负责,程序猿的工作只是负责开发与生产力,但是质量的检测在于测试



我要挣一个亿


其实这东西真的挺搞笑的,作为项目负责人负小头,开发负大头,那收益怎么不是开发占大头,项目负责人占小头?作为项目负责人,有reviewcode的义务,出现问题明显应该由项目负责人担主责的,但事实往往是开发的担责。项目负责人的reviewcode和测试都没测出问题,却要开发负责真心操蛋


传说中的大表哥


不会让开发的程序员独自承担责任的。开发是团队合作,交付后出现的问题,营业部门,项目管理部门,质量保证部门,开发部门,测试部门,设计部门,运维部门都是有责任的。一般是营业部门,按照合同约定赔偿客户损失。运维部门,处理问题,向用户提交解决方案。其他部门则需要检讨开发流程的问题,提出质量保证方案。


日冲信息 黄


当然不能,否则谁还敢打工?即便是程序员的错误,难道想让程序员赔个几百万?那老板也太好当了,完全无风险啊,随便找个理由就可以让打工者支付所有费用了。想想原先的农奴,不就是这样造成的吗?干的越多,赔的就越多~您的问题好像是在问如何追究主责,其实就是想问可不可以达到这个目的,其心可诛。


小火鸡


这肯定大领导的主锅,程序要是要提交测试,测试完毕要预发环节,之后才会正式上线。靠谱的公司应该都是这么来的,只有连环节都不懂的垃圾公司才会这么让开发背锅,大公司都是从领导到测试到开发全搞一遍………手打狗头


分享到:


相關文章: