为什么程序员熬夜加班,项目还是会延期?

时间: 2019-10-04阅读: 194标签: 项目

首先这和你熬夜加班没有半毛线关系,千万别自己感动自己,但凡是互联网项目,出现延期是常有的事情。项目延期之后,一般流程是领导开会,大家讨论,新一任背锅侠,然后下一次还是老样子.


项目评审

项目初期,评审是最重要的一个环节.

这个需求能不能做,那个需求要怎么改,最后给到手的任务预估一个开发时间.

初入开发的小白,最好有同事帮衬点,做不到的需求千万别接,不然整个项目都要卡壳.

需求改不改关系不大,有的实现方式很简单,查一查资料就能快速上手,有的实现很复杂,没有谁会给你几天时间开发一个无关紧要的功能,不如直接砍掉,或者换一种简单的,免得费心费力还不讨好.

最难的就是估算开发时间,哪怕是一个有多年经验的老鸟,也不敢说估算的很准,不准确就意味着可能延期,没有奖金还扣绩效.

所以尽可能的多估算一点时间,因为老总和领导并不太在意你的开发难易程度,他们只要结果顺利,其他的自行想办法.

有时候,感觉评审就像是讨价还价的菜市场,刚刚手撕产品,又得单挑Boss,实在是弄得心力交瘁.

这个时候你别来提时间管理,老板是看市场行情,不是看工作卖力.

指定要在某个节日上线,假如留给你的时间只有一个月,实际项目开发要二个月以上.

评审的时候,你按最低最低的时间甚至预计自己加班后的最低时间估算,要二个月,中间不生病,不请假等等.

老板总会觉得这个模块不值得你估算的这个时间,这边砍几天,那边砍几天,非要砍砍才满意.

若是砍不到节前一个月的时间,口头上会临时加派人手,实际上每个项目都会有临时需求,别的都差人,哪来的给你用.


改需求

刚刚评审完敲定了项目流程开发时间,出了会议室还没有回到座位,新的需求就来了.

本来时间就一半当成两半花,结果左一个新需求,右一个新需求,三天一个大需求,一天几个小需求,搞得好像需求不需要时间似的.

没办法,产品,Boss一家亲,小小员工没有拒绝的权利.

如果说Boss定的时间,你加班,熬夜,周末也不休息,努力赶一赶工期,只要和预期差别不是很大,一般没什么问题,最多就是没有加班费,身体快挂了一样的累.

那产品需求就是枪林弹雨,不定时的炸弹,任你再多的时间都直接被打成筛子,一个炸弹就让整个项目可能挂掉重来,这种事情并不是没有过.

要知道,改代码往往比新功能开发至少多花费几倍以上的时间,越改越多bug,看似一个芝麻小的需求,很可能就需要推倒整个模块.

人人都是产品经理,可试问,有几个产品懂技术?

那种app识别手机壳颜色的操作不在文章讨论范围......


开发联调

时间可以预估,需求可以砍掉,但是人才是最不稳定的因素.

产品/UI和前端,前端和后端,前后端和测试,就拿前端来说,几乎和每个环节都要打交道.

一个项目由不同的人开发不同的模块,开发过程中需要不断的沟通和协调,才能顺利进行下去.

谁先谁后,或者同步进行,都有规律可循,一旦中间环节掉链子,空有大把的时间也只能卡壳.

正式开发的时候大家时间都很紧张,能够愿意腾出时间沟通,算是性格比较好,技术品过得去的.

最常见的问题是

  • API改了字段或者增删了接口,既没有及时通知别人,也不修改文档,让别人莫名其妙的排查,最终定位到他的时候,才懒洋洋的说知道了.
  • 测试包一直等待打包,确实是人忙不过来,还要一个一个手动打包,或者有时候忘了,等过一段时间问起,才想起来,又或者其他的,优先级问题

记得有一次,测试在禅道上提出一个bug,没有截图,说明也很极简,并不能很好的表达出问题所在.(注:自己刚入公司)

这边尝试复现,定位问题和排查,因为流程复杂,操作一遍需要一定长的时间,最后去问测试的时候,对方直接扔来一句"你不会自己去看啊".

流程里就规定要注明机型,场景,尽量有截图,视频,总有人不按规定,这个bug定位只有他手上的测试机机型才有这个现象,而他知道却没说明.

要明白,主动过去不是意味着求帮助,而是花费自己的时间尝试去和对方友好沟通,去之前就完整的排查了一遍,要是文案详细,也没必要找测试.

类似于这种人,工作不负责,沟通不友好,说不定还是个老油条,对上面客气,上面不动他,对新人和同事不友好,你不喜欢他也对他没什么影响,活还是要继续干.

所以这种人,建议直接拉入黑名单,公事公办,之后的bug,但凡不明确的一律踢回去.

虽然公司会议上和项目群里一直说后台API要自测,测试反馈要详细,其他怎样怎样,可长期还是老样子,这其实和一个公司的团队氛围,管理能力,息息相关.

人在职场,除了本职能力以外,最重要的就是沟通能力,自己的沟通能力要强,可别人愿不愿意配合就是另外一回事了.


技术问题

一个bug卡半天的也不是没有.

个人的技术能力也决定了开发效率,只能说技术可以自我提升,但是上面的种种非人力可以干扰.

其次加班的效率并不高,常常三个小时不抵白天的半个小时,而且一般都是解决一些临时需求和伪需求.

技术本身说难也不难,说简单也不简单,区别在于花多少时间学,用什么方法学,有没有兴趣之类.

技术是一个软实力,无法可视化,无法短时间提升,也是一个综合能力,不一定和本职技术有关.

开发效率往往可以从一些软件,插件,硬件,工具,方法和技巧上来做提升,短时间几倍十几倍的提升.

如何提升工作效率,是一个开发人员长时间要去思考的问题,尤其是经常加班的前提下.

原文:https://segmentfault.com/a/1190000020594502


吐血推荐

1.站长广告联盟: 整理了目前主流的广告联盟平台,如果你有流量,可以作为参考选择适合你的平台点击进入...

2.休闲娱乐: 直播/交友    优惠券领取   网页游戏   H5游戏

链接: http://www.fly63.com/article/detial/5648

通过浏览器工作台启动本地项目

一直对通过浏览器工作台启动本地项目感兴趣,类似 vue-cli3 中提供的 vue ui,在浏览器中打开工作台,就能够创建、启动、停止、打包、部署你的项目,很好奇这一系列背后的实现原理。

Nginx如何实现一个域名访问多个项目

最近在个人的多个项目部署中遇到这样一个问题,一个域名如何实现多个项目的访问。因为不想自己单独去申请域名证书和域名配置,便想到了这个方案,结合Nginx的location功能实现了自己的需求,便记录下来。示例中是以PHP的项目演示

spa项目如何计算首屏

对于首屏的定义,浏览器没有给出标准的指标,因为不同网站对于首屏的要求也是不尽相同的。我们从谷歌的第一次有效时间(first meaningfull paint)得到了一些启发,例如,一个新闻网站文字跟字体对于它来说是更重要的

如何创建一个NodeJs命令行交互项目?

通过原生的NodeJs API,可见,argv中第一个参数为node应用程序的路径,第二个参数为被执行的js程序文件,其余为执行参数。通过yargs获取命令行参数,方法如下

如何在 React 项目中整合 Eslint 和 Prettier?

首先,我们使用官方提供的脚手架 create-react-app 来创建一个项目:Eslint 是一个可以检验代码,并给出报告的工具。它的目标是保证代码的一致性,避免错误。Eslint 为我们提供了 ECMAScript/JavaScript 规范的代码校验

React + es6使用双向锚点,动态生成,也适用单页面路由项目

React页面中,不确定有多少个需要定位的块,根据元素块的个数,生成对应数量的锚点,点击锚点后页面滚动到指定的块。 页面滚动到指定的块,对应的锚点高亮。

项目中的代码都是如何分层的?

说起应用分层,大部分人都会认为这个不是很简单嘛 就controller,service, mapper三层。看起来简单,很多人其实并没有把他们职责划分开,在很多代码中,controller做的逻辑比service还多,service往往当成透传了

vue项目better-scroll使用注意点

created : 中请求数据,ajax是异步的,这个时候可能mounted已经执行完了,也就是dom挂载完了,但数据还没请求回来,无法获取到内部元素(数据渲染出来的dom)高度. 无法渲染内部元素,无法滚动

在Vue项目中使用Eslint+Prettier+Stylelint

首先搭建vue项目,lint选择ESLint + Prettier,配置方式选择In dedicated config files。具体搭建过程这里就不赘述了,如果不熟悉的同学可以点击这里。配置 Stylelint,目前还没有stylelint选项,需要我们自己安装相关的 npm 包

重构项目,你真的准备好了吗?

我相信每个接受过老项目的程序员可能都吐槽过“前人的代码都是屎”。一个已经有些年头的项目,几乎肯定可以看到——到处拷贝来拷贝去的代码,随处可见的拼写错误,头重脚轻的函数……

fly63.com版权所有,内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权,请与小编联系!情况属实本人将予以删除!

广告赞助文章投稿关于web前端网站点搜索站长推荐网站地图站长QQ:522607023

小程序专栏: 土味情话心理测试脑筋急转弯幽默笑话段子句子语录成语大全