- APP神圣官网 > 软件快讯 > 正文
这是一篇视角较为独特,又比较有意思的文章,来自代码麻雀,原文标题为《如何在软件开发中与时间限制和平相处》,来看一下有没有产生共鸣的地方作为开发人员,这是您可能遇到的最大噩梦之一也许是你的敌人?由您决定如何称呼它每个人对恐惧都有自己的定义当你读到最后期限时,你的头发站着意味着什么?我们怎么知道呢?我们以前也有同样的感觉,并且已经与时间限制和平相处这只会帮助你;拥抱他们,与他们和平相处设定最后期限很难,因为有些事实我们往往会忽略我们的目标是向您展示事实,以便您可以看到在处理项目时,截止日期不必是可怕和有趣的在轻松的环境中工作不要着急不要施加任何压力您需要了解的第一件事是,创建任意的最后期限并迫使您的员工快速工作并不能帮助您实现安宁一些企业使用高尚的言辞和非理性的展示来激励员工采取行动即使团队在某些事实上达成了一致,如果你所说的与事实相去甚远,你怎么能指望他们接受你呢?如果没有设定的,最重要的是,合理的最后期限,你就无法安静地工作在这种情况下,关键是要保持冷静当你不信任截止日期时,当你被告知要快速完成所有事情时,当额外的工作被添加到项目中而没有为你提供更多时间时,或者当发生任何这些情况时,你就会开始疯狂地工作这不再有效地狱就是这样压力和压力会阻止你提高工作效率,冷静和有意识可以让你更有意识,这让你做出更好的判断我们的估计很糟糕Windows的用户会回想起该窗口对话框对话框中的估计值是否与我们的估计值完全匹配?说实话我们做出了糟糕的估计我们相信我们可以预测某些事情需要多长时间我们倾向于认为我们的预测会成真然而,大多数时候,当我们做出假设时,我们没有考虑到某些关键因素为什么?由于我们的过度自信我们认为,承认我们是可怜的估算者是接受最后期限和提高我们确定最后期限的能力的第一步当你接受这个现实时,你会意识到它的未来,并且不会低估需求以下是提高估算技能的方法:将大型项目分解为较小的组件估计较小的东西更简单因此,您做出更准确预测的机会将会增加够好就好了完美是好的敌人大困难吸引着人们我们擅长为一个简单的问题提出复杂的解决方案不过,这是一个事实:每个问题都有一个你可能忽略的简单答案不要试图找到理想的答案您的初始草稿不必完美无缺构建功能性半成品如果你等待太久,你会浪费你宝贵的时间和稀缺的资源,错过最后期限,或者在最坏的情况下,因为你追求完美而什么都不做答案是:找到一个将使您受益匪浅的解决方案,只需要少量的工作请记住,优秀可能会在未来变得伟大不要太乐观,要合乎逻辑我们经常遇到过于乐观的经理,他们使用不切实际的时间表来激励他们的团队这是不正确的我们并不是在提倡你对未来有负面的看法相反,我们建议您需要能够识别任何潜在的瓶颈一旦你能看到它们,你就可以把它们考虑在内,并得出更精确的评估该组织分为许多团队工程、商业化、市场营销等您不应该受到业务开发团队要求在不久的将来为他们提供最后期限的影响他们急于尽快完成工作考虑这样一个事实,即每个团队都考虑自己的一方区分“可以做”、“想做”和“必须做”重要的是要理解推出产品的基本条件是什么?产品团队通常会发现区分它们具有挑战性其中一位团队成员会在会议上说,“我们可以实现它,它会给我们带来那么多的价值”,或者“我们应该把它放到发布中”他们正在从自己的有利位置观察好吧,我们可以使用它,它将使我们受益,但关键问题是:“我们现在可以使用它吗?在初始迭代中?在大多数情况下,响应为“否”你应该集中精力的是手头的任务,消除您希望执行的选项和活动大多数时候,它们甚至无法谈判默认说不当我们对任何事情说“是”时,我们经常会忽略一个关键方面,我们正在拒绝我们已经必须完成的任务当你对任何事情说“是”时,你不会考虑接受任何新事物会如何影响你已经存在的待办事项列表“确定结束日期后,让我们向项目添加更多任务(随着时间的推移,你的项目应该减少而不是增加)”不“好吧,所以我们专注于重要的事情但是,具体细节呢?让我们想想我们所拥有的细节,这些细节可能会在以后引起问题对于初稿,请忽略每一个具体细节永远不要试图预见未来这里的问题是没有为事情找到额外的时间要完成的工作实在是太多了分别定义“必备”和“可有可无”少做是完成更多工作的唯一方法从不重新安排最后期限我们观察到开发团队有一个可怕的习惯,可能会对其产品开发产生负面影响:推迟最后期限他们在错过原版后建立了一个新的截止日期如果他们无法达到当前目标,他们会建立一个新的目标他们一直这样做,直到它成为习惯有害的做法最终成为他们文化的一部分因此,开发人员的工作受到组织内部其他团队的质疑更糟糕的是,开发团队可能会停止对彼此的信心本身也是如此这实际上是承认未能改变最后期限诸如“我们没有计划需求,我们没有说不够,我们没有专注于什么重要,我们推动我们的团队在不合理的时期内完成不合理的任务”之类的陈述认识到肯定会有一些问题当你过于乐观时,你没有认识到可能存在问题注意有些事情可能会出错因此,您将不得不花费更少的时间来纠正问题因此,最好为负面结果做好准备我们并不是提倡你试图预测未来,保持悲观,或者用对未来的了解来武装你的团队只需在希望和悲观主义之间取得平衡要理智我们自己的经验告诉我,在软件开发过程中,错误是不可避免的我对你的建议是:在确定截止日期之前,请提供额外的时间来说明任何问题不要向项目添加更多人员许多人认为,通过引入更多的工人,这个过程可能会加快然而,他们忽略了一个关键因素让我们记住布鲁克斯的规则:当添加人力资源时,后期软件项目会进一步延迟--弗里德·布鲁克斯根据维基百科上的Brooks的说法,有一个增量个体,当被添加到一个项目中时,会导致它花费更多的时间而不是更少的时间新项目参与者开始产生结果所需的时间你需要首先教育他们您已经拥有有限数量的人力资源,因此您需要使用它们来培训新成员此外,由于它们是新鲜的,因此它们将呈现新的错误,从而延迟项目的完成随着人口的增长,通信成本也在增加高度分散的工作,如清洁酒店房间,当更多的员工被添加到其中时,总体上需要更少的时间其他任务,例如软件项目中的众多专业,则不太容易划分布鲁克斯对此的另一个很好的例子是,“九个女人不能在一个月内生一个孩子”,即使一个女人需要九个月才能生下一个孩子理查德·道尔顿(Richard Dalton)提供了以下进一步的证据,为什么不应该添加更多个人:团队是不可变的, 每当有人加入或退出时,你的团队就会更新,而不是从头开始创建不要拖延请允许我们解释我们对您的意义我们上周举行了一次会议,讨论为我们产品的全新功能设定时间表我们正在讨论哪些活动应该首先完成,以及如何有效地完成这些活动我们在一项特定的活动上花费了大量的时间和精力有三种方法可以完成工作,但我们无法弄清楚由于开发人员试图预见未来,我们无法做出决定你无法预测你的未来包含什么,尽量不要为不可预见的事情做好过度准备这里讨论的不是很多重要的技术选择当然,如果你必须选择你的主要技术,你应该在一夜之间思考它,以得出最好的答案但不要把注意力浪费在小事上由于后端流程的持续性,不确定的问题会增加会议并阻碍开发不要拖延,做出决定并执行它与其考虑它,不如采用“让我们立即决定”的方法做出选择会加速你的成功团队中的每个人都会理解所选择的任何内容每个人都会确切地知道该怎么做沟通:看看瓶颈在哪里你已经准备好了一切要关注的内容和要执行的操作由您指定您知道所需的持续时间(可能您错了)因此,最后期限已经确定这就足够了吗?不正如我们刚才所说,任何事情都有可能出错可能存在阻止团队成员完成工作的障碍有些事情可能会阻止他们按时完成工作您必须确定瓶颈的位置和性质在这里,沟通至关重要团队需要协调对于团队成员来说,当他们有时进入一个盒子时,要看到他们盒子外面发生了什么,这可能是非常具有挑战性的此时应输入方案找到瓶颈后将其删除,以便您的团队成员可以从停止的位置继续前进我们希望您成功地到达每个截止日期
联系我们
在线咨询:
0 评论