1、Quora精选:为什么软件开发周期总是预估的2~3倍?
需求变更频繁:在开发过程中,客户可能不断提出新的需求或修改原有需求,导致大量的返工和调整。
技术复杂性低估:对某些技术难题的难度估计不足,实际开发中遇到的问题比预期多且复杂。
不可预见的问题:例如硬件故障、环境兼容性问题等,这些可能在预估时难以考虑全面。
团队协作问题:团队成员之间沟通不畅、协作效率低等会影响开发进度。
测试和修复漏洞:发现和修复软件中的漏洞需要花费大量时间,且可能比预计的更耗时。 缺乏经验:开发团队对类似项目的经验不足,可能导致对时间的估算不准确。
外部因素干扰:如项目资源供应不及时、其他相关项目的影响等。
2、什么是分而治之?
分而治之”( Divide and conquer)方法(又称“分治术”) ,是有效算法设计中普遍采用的一种技术。
所谓“分而治之” 就是把一个复杂的算法问题按一定的“分解”方法分为等价的规模较小的若干部分,然后逐个解决,分别找出各部分的解,把各部分的解组成整个问题的解,这种朴素的思想来源于人们生活与工作的经验,也完全适合于技术领域。诸如软件的体系结构设计、模块化设计都是分而治之的具体表现。
分而治之方法与软件设计的模块化方法非常相似。为了解决一个大的问题,可以:
把它分成两个或多个更小的问题;
分别解决每个小问题;
把各小问题的解答组合起来,即可得到原问题的解答。小问题通常与原问题相似,可以递归地使用分而治之策略来解决。分而治之方法可以用于实现不同的排序方法,这里介绍两种排序法:快速排序(quick sort)和归并排序。
3、了 解WBS
WBS(工作分解结构)是Work Breakdown Structure的英文缩写,是项目管理重要的专业术语之一。WBS的基本定义 :以可交付成果为导向对项目要素进行的分组,它归纳和定义了项目的整个工作范围每下降一层代表对项目工作的更详细定义。无论在项目管理实践中,还是在PMP,IPMP考试中,工作分解结构(WBS)都是最重要的内容之一。WBS总是处于计划过程的中心,也是制定进度计划、资源需求、成本预算、风险管理计划和采购计划等的重要基础。WBS同时也是控制项目变更的重要基础。项目范围是由WBS定义的,所以WBS也是一个项目的综合工具。 WBS是由3个关键元素构成的名词:工作(work)–可以产生有形结果的工作任务;分解(breakdown)–是一种逐步细分和分类的层级结构;结构(structure)–按照一定的模式组织各部分。