《项目百态》读感系列”玩的就是心跳“

简介:
  “只要参与过一两个软件项目,就一定对书中介绍的情景深有感触,也必然会从中得到经验教训”这是《软件随想录》的作者Joel Spolsky对这本书的感受。

    以下我也结合自己实际的工作体验对这本书中的模式场景说一下自己的感受:

    模式“ 玩的就是心跳”大概介绍的就是这样一种场景,在工作中永远都是紧迫的项目,在项目中永远都是紧迫的功能,项目组永远处于紧迫忙碌的状态中,试问这样团队怎样能有高质量的产出?

    对于这种模式我深有体会,就拿我所在的研发部门引入敏捷开发的第一年来说,我们部门接手了一个大项目,先说说它的规模:分为web端,通讯服务器,客户端。模型:客户端<--->通讯服务器<--->数据库,web端<--->数据库,web端包含公共模块和对九个子产品的管理审计功能,客户端也会有九个子产品需要开发,其中还有分级支持,外围管理工具等等......。整个部门十几号人都参与进这个项目。起初,定的计划是半年完成框架的构建和四个子产品的研发并且推向市场,说心里话,除了上层外,估计大多数人都认为这是不可能完成的任务,于是随之封闭开发和加班几乎占据了我们的生活,很累,很累。但是半年并没能完成任务,我们的问题总结:前期有需求定位错误和技术选型错误。于是又把推向市场的时间往后推4个月,而这时对子产品的要求增加到完成六个,依然很紧迫,往往有这种情况,在敏捷中的一个两周节点平均两个人就要完成一个子产品(针对web端,通讯服务器,客户端的人员构成上来说),虽然有些子产品有基础,可是试想一下,在半个月完成一个将要推向市场的子产品?一个节点往往一个小组要承担自己任务的概要设计,详细设计,评审,编码,测试,于是大家按照任务分配拼命加班,而且节点与节点之间也很少有调整期,最后从完成度和完成质量来看,都不理想,于是紧迫的任务又得往后推,接着又是下一轮紧迫,而且即使在计划内,也会突然冒出其他项目的紧迫任务要某些人处理(通常都是推向市场的要求)。这种心跳玩的太过于频繁,但是效果并不好,通常会因为软件质量问题而阻碍推向市场,从我们大家的心理和身体状态而言也是种恶化和透支,虽然,项目在某些方面取得了成功,但是这种“频繁心跳”后的 代价就是让大家对项目的紧迫度产生怀疑?让大家对接踵而来的紧迫任务疲于应对!

     怎么治愈这种“玩的就是心跳”呢,书中给出了这种建议:作为一个管理者要有方向,要有战略指导,任何组织内部都会遇上紧迫的任务。但是,不是所有的事情都是紧迫的,也不是所有的角色都要关心紧迫的任务。除非化紧迫为优先级和约束,否则,这种“玩的就是心跳“几乎不可能被治愈。
本文转自永远的朋友博客51CTO博客,原文链接http://blog.51cto.com/yaocoder/784153如需转载请自行联系原作者

yaocoder
相关文章
|
8月前
|
Java Windows
JavaWebSocket心跳机制详解
WebSocket是一种在Web浏览器和服务器之间进行全双工通信的协议,它提供了一种简单而强大的方式来实现实时数据传输。在使用WebSocket时,心跳机制是非常关键的,它能够保持连接的稳定性并及时发现连接的异常。本文将详细解释JavaWebSocket心跳机制的实现原理和步骤。
237 0
|
4月前
MQTT的心跳保活机制是通过`setKeepAliveInterval()`方法设置的
MQTT的心跳保活机制是通过`setKeepAliveInterval()`方法设置的
229 2
|
4月前
MQTT的心跳保活机制是通过`setKeepAliveInterval()`方法设置的,
MQTT的心跳保活机制是通过`setKeepAliveInterval()`方法设置的,
139 1
|
消息中间件 存储 算法
Kafka的心跳处理机制竟然用到了时间轮算法?
Kafka的心跳处理机制竟然用到了时间轮算法?
Kafka的心跳处理机制竟然用到了时间轮算法?
|
网络协议 开发者
长连接的心跳及重连设计(上)
什么场景下需要心跳呢? 目前我们接触到的大多是一些基于长连接的应用需要心跳来“保活”。 由于在长连接的场景下,客户端和服务端并不是一直处于通信状态,如果双方长期没有沟通则双方都不清楚对方目前的状态;所以需要发送一段很小的报文告诉对方“我还活着”。 同时还有另外几个目的: 服务端检测到某个客户端迟迟没有心跳过来可以主动关闭通道,让它下线。 客户端检测到某个服务端迟迟没有响应心跳也能重连获取一个新的连接。
|
网络协议 Dubbo 应用服务中间件
长连接的心跳及重连设计(下)
什么场景下需要心跳呢? 目前我们接触到的大多是一些基于长连接的应用需要心跳来“保活”。 由于在长连接的场景下,客户端和服务端并不是一直处于通信状态,如果双方长期没有沟通则双方都不清楚对方目前的状态;所以需要发送一段很小的报文告诉对方“我还活着”。 同时还有另外几个目的: 服务端检测到某个客户端迟迟没有心跳过来可以主动关闭通道,让它下线。 客户端检测到某个服务端迟迟没有响应心跳也能重连获取一个新的连接。
心跳 —— 超时机制分析
在C/S模式中,有时我们会长时间保持一个连接,以避免频繁地建立连接,但同时,一般会有一个超时时间,在这个时间内没发起任何请求的连接会被断开,以减少负载,节约资源。并且该机制一般都是在服务端实现,因为client强制关闭或意外断开连接,server端在此刻是感知不到的,如果放到client端实现,在上述情况下,该超时机制就失效了。本来这问题很普通,不太值得一提,但最近在项目中看到了该机制的一种糟糕的实现,故在此深入分析一下。
762 0
心跳 —— 超时机制分析
|
网络协议
服务器实现心跳机制的两种策略
大部分CS的应用需要心跳机制。心跳机制一般在Server和Client都要实现,两者实现原理基本一样。Client不关心性能,怎么做都行。 如果应用是基于TCP的,可以简单地通过SO_KEEPALIVE实现心跳。
3236 0