在软件研发排期中要求“倒推时间”,项目结束后悲剧了……

news2024/10/6 11:34:24

有没有遇到某个项目任务的研发周期已被各路boss定下,研发团队都觉得时间不合理,反馈给上级无果,而要求“倒推时间”进行任务排期的情况?

什么是“倒推时间”?

目标倒推法,从剩下的时间反推算出每天该做的事。

倒推时间(不如说 倒逼时间),在软件项目中来讲就是项目的研发周期已经定下,上级基于自身考虑不会做改动,逼着下面根据结点推算时间。从项目下游开始制定关键时间节点(如测试要求什么时间点转测),再由上游(如开发)出时间节点,这样由下至上层层倒推时间节点以期达成目标。

似乎对一些管理层来讲“倒逼则灵”,更能显得自己有水平。

这让我想起了一部美国大片,具体名字忘了。故事讲的是美国某地发现了怪物袭击事件,引起当地民众的大范围恐慌,从而引得美国高层重视。于是,总统给出调查总局局长三个月的时间查到线索;而总局局长为了让上司满意,直接给出一个月的时间完成任务。然后调查总局又给当地分局局长下达任务,分局局长为了上级满意,直接把时间压缩成了一周。最后分局又给具体的侦查组下达任务,最终任务完成时间又被侦查组负责人压缩到了三天,没完成则让执行人员直接滚蛋。最终留给可怜的探员就只有三天时间了。在看到这一幕时,当时觉得特别的滑稽可笑。虽然,最终悲催的探员堪堪在时间结尾完成了任务,保住了饭碗。

对于时间倒推,不无恶意的想到上级领导肯定是按上面的剧情制定时间周期的。

周期已定,不想立马滚蛋,还能怎么办?只有按上级意思倒推排时间了,在人力资源得不到充分的支持下,无非逼着大家天天熬夜而已。

最近的例子就是公司一项目组,三个月都够呛的项目被压缩到一个月,最终要求倒推时间完成任务。项目结束后统计,项目组人员(近20人)当月平均加班100多个小时(6点半后算加班,按整时算)。项目结束后,主力开发人员直接躺医院一周,被借调的人员全部要求回到原项目组。

上面例子说明倒推时间真的灵吗?不见得。因为该项目任务虽然号称完成,但实际遗留了上百的bug,包括多个被测试人员标记为“严重”等级的。幸运的是该项目的使用人员并不多,否则难以想象带来如何恶劣的口碑。

倒推时间不是良方,无非一种非常规的手段而已,不应该获得追捧。倒推时间,无非让全员在高强度的压力下赶工,很难谈什么保质保量。而没有质量的软件,越是高调的推广越是死的快。试想,如果你在市面上找到一个可有可无的App,里面用起来问题多多,你会怎么处理?留在手机上,期待它的下一个版本?还是直接卸掉,以后不再考虑?如果不是12306这样的应用,我相信选择后者占了十之八九,毕竟大部分人的手机内存还是挺吃紧的。

倒推时间更不应该成为常态,这是透支员工对公司的感情。一朋友公司,就钟爱该良方,最终的结果是几个执行组组长全部出逃,下面人员也走了一半多。最终项目高层领导的结局也是滚蛋走人(看到这里,是不是该转发到朋友圈,再@某某领导)。后面,接锅侠来后“缝缝补补,终会破碎不堪”,最后的结局可能就是推倒重来,开启了新的一个轮回,而对于公司来讲 真的能承受这样的“试错成本”吗?

想学习却无从下手,该如何学习?

这里我准备了对应上面的每个知识点的学习资料、可以自学神器,已经项目练手。

最后送上一句话:
世界的模样取决于你凝视它的目光,自己的价值取决于你的追求和心态,一切美好的愿望,不在等待中拥有,而是在奋斗中争取。
如果我的博客对你有帮助、如果你喜欢我的文章内容,请 “点赞” “评论” “收藏” 一键三连哦!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/668334.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Java】死锁问题及ThreadLocal

什么是死锁分析过程发生死锁的原因避免死锁ThreadLocal 什么是死锁 多个线程同时被阻塞,它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞,因此程序不可能正常终止。这是一个最严重的BUG之一。 分析过程 1.一个线程一把锁 一个线…

深入理解TDD(测试驱动开发):提升代码质量的利器

在日常的软件开发工作中,我们常常会遇到这样的问题:如何在繁忙的项目进度中,保证我们的代码质量?如何在不断的迭代更新中,避免引入新的错误?对此,有一种有效的开发方式能帮助我们解决这些问题&a…

14.处理大数据集

14.1 随机梯度下降 假设你正在使用梯度下降来训练一个线性回归模型 当m个样本的m很大时,求和计算量太大了。这种梯度下降算法有另外一个名字叫做批量梯度下降(batch gradient desent)。这种算法每次迭代需要使用全量训练集,直到算…

【代码阅读软件】Source Insight 4 使用教程 | 很详细——适合新手

目录 一、概述二、常用的几个窗口👉2.1 符号窗口(Symbol Window)👉2.2 项目文件窗口(Project Window)👉2.3 关系窗口(Relation Window)👉2.4 上下文窗口&…

STM32--基于固件库(Library Faction)的led灯点亮

目录 一、STM32芯片的简单介绍 二、基于固件库(Library Faction)的led灯点亮 这是一个学习stm32的开端,我们由简入难,之前学过C51/52或是其他型号的一般都是从led开始,也就是简单的输入输出端口的应用。(想…

SpringBoot整合模板引擎Thymeleaf(1)

版权声明 本文原创作者:谷哥的小弟作者博客地址:http://blog.csdn.net/lfdfhl Thymeleaf概述 Thymeleaf是一种用于Web和独立环境的现代服务器端的Java模板引擎,主要目标是将优雅的自然模板带到开发工作流程中,并将HTML在浏览器中…

【kubernetes】Etcd集群部署与验证

前言:二进制部署kubernetes集群在企业应用中扮演着非常重要的角色。无论是集群升级,还是证书设置有效期都非常方便,也是从事云原生相关工作从入门到精通不得不迈过的坎。通过本系列文章,你将从虚拟机准备开始,到使用二进制方式从零到一搭建起安全稳定的高可用kubernetes集…

吐血整理,性能测试Jmeter分布式压测遇坑总结+解决

目录:导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结(尾部小惊喜) 前言 为什么要使用分布…

JSON.parse() 全面用法介绍

JSON 通常用于与服务端交换数据。在接收服务器数据时一般是字符串。我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。 语法 JSON.parse(text[, reviver]) text:必需, 一个有效的 JSON 字符串。 reviver: 可选,一个转换结果的函数&#xf…

SPI协议解析

SPI协议介绍 引言介绍SPI简介物理层协议层通讯的起始和停止信号SPI 模式 优缺点优点缺点 使用例程基于STM32的SPI通信准备硬件连接 软件实现 总结 引言 SPI是串行外设接口的缩写,是一种高速的,全双工,同步的通信总线。由于SPI高速和同步的特…

vite环境变量与模式

环境变量 Vite 在一个特殊的 import.meta.env 对象上暴露环境变量。这里有一些在所有情况下都可以使用的内建变量: import.meta.env.MODE: {string} 应用运行的模式。 import.meta.env.BASE_URL: {string} 部署应用时的基本 URL。他由base 配置项决定。 import.m…

【ESP8266】使用MQTT协议 连接华为云iotDA,实现设备属性上报

相关资料:https://github.com/CQUPTLei/ESP8266 往期文章:【ESP8266】基础AT指令和常用WIF指令 【MQTT 5.0】协议 ——发布订阅模式、Qos、keepalive、连接认证、消息结构 一、华为云iotDA1.1 什么是iotDA1.2 创建 iotDA 产品 二、使用ESP8266上报设备…

【杂谈理解】STM32F10X标准库工程模板

前言 基于STM官网的STM32F10x标准外设库V3.6.0版本,文件的操作流程是参考江科大的。记录下此文方便学习和回忆。文章后也会放置完整的工程文件和意法官网下载STM32F10x标准外设库的压缩包。 流程 到意法官网下载STM32F10x标准外设库的压缩包。先找到压缩包的地址&a…

CMake详解

file文件操作 cmake的file命令_cmake file_物随心转的博客-CSDN博客 set指令 CMake中的set指令详解_cmake set_guanguanboy的博客-CSDN博客 include_directories指令 Cmake命令之include_directories介绍 - 简书 add_subdirectory Cmake命令之add_subdirectory介绍 - 简书…

两台电脑用网线传输文件的一些问题解决

两台电脑用网线传输文件 步骤如下: 一、两台电脑插上网线 网线568A和568B可能没什么影响 二、 ipv4地址配置 两个网线插上电脑会自动生成一个ipv4地址 cmd里使用ipconfig查看 用这个就行了如果不想用自动生成的ip地址 也可以自己配置ipv4地址和网关&#xff08…

升级Nginx

目录 前言 一、升级Nginx 1)首先在官网下载一个新版本的Nginx 2)首先将下载的压缩包进行解包 3)进入已解包的目录中 4)配置安装路径 5)make 6)备份原来Nginx的资源 7)重启Nginx服务 8&#…

面向对象程序设计|运算符重载

题目一:分数的加减乘除(运算符重载) 题目描述: Fraction类的基本形式如下: 要求如下: 1.实现Fraction类;common_divisor()和contracted()函数体可为空,不实现具体功能。 2.编写m…

Qt QPainterPath

作用 为painter设置好绘画路径 成员函数 painter.drawPath() 1,使用当前笔画轮廓; 2,填充path指定的路径绘画出来的图形。 xxx.to() lineTo() moveTo() 使用path作画,一定要先将path的启动移动到需要开始绘画的点,否则默认从 (0&…

【大数据之Hive】十三、Hive-HQL函数之单行函数和高级聚合函数

Hive内置函数:单行函数、聚合函数、炸裂函数、窗口函数。 --查看系统内置函数: show functions;--查看内置函数用法: desc function 函数名;--查看内置函数详细信息: desc function extended 函数名;一、单行函数 单行…

GDB调试大全

嵌入式开发必备工具!!!学就完事了!!! 目录 GDB初使用 准备条件:Makefile,section1.cpp 初步使用命令 启动调试 启动调试别传入参数 附加到进程 逐过程执行 逐语句执行 退出函…