导航:首页 > 程序命令 > 程序员吐槽需求不明确

程序员吐槽需求不明确

发布时间:2023-02-05 00:55:17

程序员第一年需求理解不清楚

工作经验少。其中程序员在进工作时,其中第一年的需求理解不清楚,是因为工作经验少导致,此时可以虚心进行学习老员工的工作经验,以及工作方法。

② 新程序员,刚入职两个月,感觉好闹心,简单需求有时出错,复杂需求又做不来,而且有好多不会的东西。

先装傻,不要盲目去揣度上级的想法。新人刚进公司,基本都是这样的,刚开始一年时间是最难混的。只要你自己有态度,肯努力,多学习,会熬过去的。如果最后经理主动提出不留你,那也没办法了,就只能走了。

③ 产品经理在工作中的哪些不足最容易引起程序员的反感

1.自以为是
2.没有很好的把产品的理念和规划传递给程序员,让程序员感觉不到其存在的价值
3.需求不明确
4.沟通主观性太强,总是以客户就是这么说的为借口,忽悠程序员
5.前后不一致

④ 程序员不喜欢什么,在广州蓝景做开发的朋友说,他不喜欢加班改别人的bug,你们呢

程序员最讨厌不确定性。
Debug的时候,在怪异再棘手的问题,只要可以稳定重现,都迟早可以解决。“稳定重现”的意思是只要按一定的步骤做下来,问题就可以重演。
最讨厌的就是那种时有时没有,不知道什么时候出现的bug。改了代码不知道有没有效,也不知道是否引入了新问题。可以把码农逼疯。
引入到生活中对人对物的态度也是一个道理。无缘无故发脾气又不说为什么的女朋友,言而无信说到做不到的人,约好的事情被放鸽子... 这些都是不确定性。
程序员对不可控的不确定性因素也是有解决方案的。在代码里头把异常try-catch-finally一下,做好补救收尾,在加上几行注释警醒后来人这里别乱动。对随机发生的问题,对应方案就是假设这里永远都会有问题,把随机的行为转化为降格的确定行为。就比如随机发脾气的女朋友吧,就会放弃研究发脾气的原因,不求治本,而是假设她永远会发脾气,专注“哄”的工作也就是catch里面的内容。

⑤ 作为一名程序员,你真的理解需求吗

作为一个程序员,最重要的职责就是: 按时保质保量地完成需求开发。

像开发新业务这样的复杂需求, PM (Proct Manager,产品经理) 一般会写出详细的 PRD (Proct Requirement Document,产品需求文档) ,甚至可能会制作高保真原型。

而像调换两个按钮顺序这样的简单需求,PM有可能只会口头通知一下,最多在JIRA之类的项目管理平台上创建一条只有标题的ISSUE。

如果是有和用户交互的需求,负责设计的部门或人员一般会提供设计图。专业一点的话还会帮你把图都裁好,并准备不同屏幕分辨率下使用的多个尺寸版本。

当然,如果你在一个刚刚成立的创业公司,很有可能是创始人在白板前(或者是饭桌上)讲了半个小时,然后就问你:“需要多长时间把它做出来?”

不管提出需求的是PM还是创始人,他们的脑海中一定为这个需求设想好了一个自洽的逻辑和形态。PRD也好,口头宣讲也罢,都是在描述这个逻辑和形态。他们提出需求,就是希望程序员能够最大程度地还原他们的设想。

说起来简单,做起来难。 我们可以通过一个小实验来揭示这一点。

首先,你需要找一张长方形的纸。如果你在办公室,那就找一张A4纸;如果你在家,那就找一张纸巾。然后按照下面的步骤进行操作:

你的作品是什么样子?中间开洞了吗?边上呢?角上呢?如果再做一次,你能完成同样的作品吗?

你可以拿着同样的纸去找你的家人、同事或朋友,请他们来完成同样的操作。在你不施加影响的前提下,他们完成的作品极有可能和你截然不同。

为什么会这样呢?

如果你仔细观察他们操作的过程,就会发现:

由于每次对折都会可能产生两种不同结果,在撕第一个角时纸的朝向有四种可能性,旋转180度时有两种可能。所以仅仅两个撕角的位置,就至少有 2 x 2 x 4 x 2 = 32 种不同的可能性。

就这样,我们还没有考虑撕角的大小、角度的区别,还有极少数人是会沿对角线对折的……

上面撕纸的需求,其实是我自己拿了张纸随意摆弄,然后记录下来的操作流程。我照着这个流程,可以十分轻松地做出完全相同的作品。但是如果让别人来做,结果就完全不一样。其原因就是,我在完成作品的过程中,不光是按照流程进行操作,还隐含了自己的一些小习惯,却并没有把这些细节记录下来。

如果把所有细节都完整地记录下来的话,需求应该是这样的:

同样,PM在写PRD时,很有可能会漏掉一些自己认为应该是“常识”,无需再进一步说明的内容。比如“把一张纸对折”,我们很容易想当然地认为,应该是沿着长边对折,但事实上并非所有人都是这么理解“对折”的。

由于每个人的成长经历不同,其认知结构之间必然存在差异,因此对同一概念未必持有相同的理解。 你所认为的“常识”,我可能并不知道,或者拥有和你截然不同的理解。所以程序员在看PRD时,一定要把自己对需求的理解复述出来,跟PM确定是不是这么回事。否则就容易出现开发中、提测甚至上线后发现逻辑性错误,需要紧急修复甚至返工的情况。

此外, 很多问题在设想阶段是发现不了的,只有到了具体实施时才会暴露出来。 PRD不可能真正做到完备,也不能保证没有错误和遗漏。比如一个表单需求,很可能在做的过程中发现某个非法数据case是PRD里没考虑到的,这时的用户交互怎么做?文案怎么定?这都要和PM沟通来解决,而不能自己拍脑门决定。

PRD只是需求的一个快照性描述文档,并不是需求本身。 程序员应该对需求负责,而不是对文档负责。 只有和PM保持沟通,不断地细化需求,才能让需求真正落地。当发现PRD里有不合理或者有疑问的地方时,一定要提出来让PM进行解释。千万别视若无睹,甚至干脆将错就错,等着看PM笑话。

如果我们拿到了一份图文并茂、十分详尽的PRD,是不是应该马上照着文档开工呢?那可不一定。

一位优秀的程序员,应该在开工之前把下面这些问题想清楚:

程序员有责任对需求方案进行review,并协助PM改进设计。 要知道,PM一般不会从技术角度对需求进行考虑,所以往往提出的并非最优方案。有时只要做一点点调整,技术实现的难度就会大大降低,却不影响目标的达成效果。

比如某个业务需要用到日期选择器组件,PM为此专门设计了一个,而你知道系统中某个功能页面里有现成可用的同类组件。这时就应该和PM沟通是否可以直接复用,或者在原有组件的基础上进行功能扩展。这样既节省了开发资源,又保持了用户体验的一致。

程序员要对整个产品的可用性负责,全面评估需求可能导致的不良影响,谨慎对待有破坏性的需求。 PM由于不了解系统的底层实现和实际数据的组织方式,所以很可能无法全面地评估需求的影响面。如果程序员忽视在这方面的思考,只是机械地按部就班地执行方案,就很可能导致严重的线上事故。

比如要对某数据进行批量修改,在做的过程中时发现该数据有多个业务正在使用。这时就应该必须停下来和PM沟通,因为PM可能只了解自己负责的那一块业务,不知道修改可能会对其他业务产生影响。此类需求要和相关各方沟通协商,确认修改没有不良影响后才能继续。

程序员要有魄力去拒绝那些明显不靠谱的需求。 有的时候,PM提出需求的动机不是为用户创造更多的价值或提升用户体验,而是为了冲绩效完成自己的KPI。为此拆东墙补西墙,从兄弟业务手里抢流量入口;甚至杀鸡取卵,以严重破坏用户体验的方式拉量。遇到这种事,程序员一定要坚持自己的原则,守住自己的底线。

⑥ 加强团队沟通,有效推进项目进度

1、建立便捷的项目组内沟通机制

很多人强调加强沟通,虽然大家的意识算是加强了,但还是收不到理想效果。程序员不善沟通的特点,不是一下子能改变的。口头沟通是最有效的沟通办法,很多项目组成员喜欢遇到问题就闷头干活,不好意思问,也好像是怕被主管认为能力低。遇到问题有可能是任务本身有问题,也有可能是你的认识不到位,某些知识不具备等导致的。

实际工作中遇到问题是很正常的事情,如果没有人提出问题,这反而是项目的最大问题。我强调任何人都可以提问题和大家讨论,任何人都可以发起项目会议讨论问题。问题如果不在产生时消除,将来必定会因此徒增很多项目工作量。

2、建立项目组成员的自信

基本上每个项目团队不可能一开始就是最强阵容的,大部分项目团队是新老结合,中高低搭配的。强调每个人的重要性,对于新手要给出更多的机会,更多的指导,更多的鼓励,犯错不要紧,犯错多也不要紧,只要错误不是重复的,这就是好事,只要去做事情,就有机会犯错,只要做未做过的事情,犯错机会也会更大一点,关键是总结和进步。

团队成员也要要学会自我暗示、自我鼓励。许多成员在经历几次失败、挫折后,变得不相信自己,产生自己的努力根本没有用的错误心理,在面对新项目、新产品中就自己给自己减分,还没开始就先想到失败了。自我暗示、自我鼓励,让团队员工看到自己的价值。

3、质量把控,减少返工

项目时间紧,大家就会一头扎到工作中,想尽快弄出个东西来。“磨刀不负砍柴工”等大道理大家都懂,但事到临头还是明知故犯,结果往往是工作质量差、返工一大堆。做一个事情只有两种选择,一种就是不做,一种就是认真做好,任何带有缺陷的工作,会在将来带来无穷无尽的“后患”。

作为项目经理还需要尽早检查和指导大家的工作。项目经理可以使用 项目管理工具 进度猫 来制定项目计划,在项目进行中实时检查项目的进行情况,哪里出现问题就可以及时处理。绝大部分项目是分秒必争的,保证大家用正确的方法做事情,才能最大限度地减少返工。

4、及时优化工作计划软件项目的特点是:需求不明确、设计不明确、工期限死、预算限死。要成功完成项目,不能光靠所谓的项目管理知识,你需要熟悉这个软件开发的方方面面,想出降低工作量的方法。能极大降低工作量的两个方面:需求方面:抓住本质需要,尽量简化需求,优先实现稳定的需求。设计方面:采用成熟设计,重用组件,采用能降低编码和实施工作量的设计。

进度猫: https://www.jinmao.com

⑦ 好累,程序员听不懂产品经理提的需求,问多了,产品经理嫌烦。该怎么办

这个东西应该有一定经验积累会理解比较快,也是一个过程。只有多沟通,在沟通前想想沟通的目的,这次沟通要解决什么问题。用笔记下来。然后在实操,在实操过程中如果遇到问题先想一想,试着自己去解决一下。再去询问,至少让别人感受你是在用心做这件事。而且也是想做好这件事。其实你们的目的都是一致的。注意方式方法,不要让别人觉得你一个问题重复的问还没什么结果。大家都有自己的事情都会比较烦。

⑧ 程序员的工资这么高,为什么还会有人离职

1.团队暮气太重,产品方向不明、市场不明,改需求改到天荒地老。

2.老板的总是跟你谈理想,画大饼,让加班,给低工资,还说这是历练,熬过去就好了。

3.压榨得太厉害,加班太厉害,一直掉头发,快秃头了。没有培训,连程序员自己自学的时间都被加班占用,身体和技术很难提升。

4.此外,不少的程序员也有年龄层面的恐慌。

因为一些程序员已经认识到,程序员过了三十几岁大部分都不好找工作,年龄太大没人要,不如趁年轻把工资跳高,总比年龄大了后悔好

⑨ 软件缺陷产生的原因

需求不明确:软件需求不清晰或者开发人员对需求理解不明确,导致软件在设计时偏离客户的需求目标,造成软件功能或特征上的缺陷。此外,在开发过程中,客户频繁变更需求也会影响软件最终的质量。

软件结构复杂:如果软件系统结构比较复杂,很难设计出一个具有很好层次结构或组件结构的框架,这就会导致软件在开发、扩充、系统维护上的困难。即使能够设计出一个很好的架构,复杂的系统在实现时也会隐藏着相互作用的难题,而导致隐藏的软件缺陷。

编码问题:在软件开发过程中,程序员水平参差不齐,再加上开发过程中缺乏有效的沟通和监督,问题累积越来越多,如果不能逐一解决这些问题,会导致最终软件中存在很多缺陷。

项目期限短:现在大部分软件产品开发周期都很短,开发团队要在有限的时间内完成软件产品的开发,压力非常大,因此开发人员往往是在疲劳、压力大、受到干扰的状态下开发软件,这样的状态下,开发人员对待软件问题的态度是 “不严重就不解决”。

使用新技术:现代社会,每种技术发展都日新月异。使用新技术进行软件开发时,如果新技术本身存在不足或开发人员对新技术掌握不精,也会影响软件产品的开发过程,导致软件存在缺陷。

阅读全文

与程序员吐槽需求不明确相关的资料

热点内容
php5217漏洞 浏览:510
泰国 什么什么嫂 恐怖片 浏览:376
高中生打气球解压视频 浏览:6
无水印电影下载网站推荐 浏览:702
大尺度男性露j电影有哪些 浏览:353
蚁群算法飞行器 浏览:553
好看的免费电影网站 浏览:633
适合情侣在私人影院的电影 浏览:647
编程器备份固件 浏览:520
微信朋友圈照片压缩了 浏览:218
台湾鸭子电影三部曲 浏览:859
android设置前景色 浏览:191
专门百度小程序开发源码 浏览:235
安卓手机为什么微信不能更新到最新版本 浏览:817
pdf赋税原理 浏览:261
韩国电影合集(3个小时) 浏览:88
程序员应该吃什么补脑子补身体 浏览:336
韩国床上在线观看 浏览:593
最牛逼的网址直接看去看不用下载免费看 浏览:96
c中预处理命令教学 浏览:54