0 引言
知道您否听说关软件项目理典六拍笑话样说项目开始前家先拍脑袋承诺项目进度安排开工会领导拍拍家肩膀语重心长充满期两杯酒肚春风意时候拍胸脯领导表决心领务
项目执行中遇困难时客户业已拍桌子时研发团队拍腿恍然悟事情样呢直切覆水难收项目失败时候拍拍屁股谋高说笑话确实反映软件项目中面问题拍脑袋拍屁股走环节存着式样问题
追根溯源初拍脑袋时候没考虑清楚轻易承诺面系列问题会发生拍脑袋需方法轻易举拍带兵仗先仔细谋划知知彼百战殆文正试图软件项目现实角度通敏捷开发中常估算方法项目中实践估算方法较希价值参考意见
提高项目计划质量未雨绸缪希次拍脑袋拍理
1 什估算
软件项目理中估算项目持续长时间花费少成预测说估算正种未预测文仅项目时间估算方面展开讨涉项目费成估算
估算项目目标项目承诺执行计划等诸类项目理词汇联系起业务目标描述项目期达成果进行估算基输入项目承诺项目组许诺特定日期前特定质量交付规定功承诺估算相估算更激进保守
承诺观项目交付时间质量预计估算基客观事实预测结果外
执行计划通常罗列出工作项相联关系承诺具体化计划估算相
前者寻求实现特定结果者目准确预测计划通观方法进行调整实现特殊求应付突发情况进行赶工增加资源等计划基础正估算计划定估算结果相果估算计划存显著差项目较高风险反计划具较低风险 项目理九知识领域中项目时间理中包含估算相应理程活动资源估算活动持续时间估算程项目组已建立范围确定进行输入容述前导程输出结果外建立事业环境素组织程资产
活动持续时间估算输出续制定进度表进度控制见估算项目理中处承前启位置项目计划制订必须条件项目终利交付关键素
项目理门偏实践科学理方法需实践中检验需根实践验做出适调整种估算方法项目理中运关键必须根实际情况做出合适变化达结果
2 估算目
软件项目估算完全纯粹预测活动项目计划确定优先级活动密切联系实际软件估算容易受事情影响旦做出估算估算基础承诺某日期前交付具定质量功项目理通理控制项目达目标
通常说交付项目初想功水致相花费资源计划基相致设定时间框架完成认项目估算致种说法推理隐含着样瑕疵
评估估算预测力(终结果进行较)说明估算实际价值软件项目外围环境总断变化评价良估算标准应该基估算项目成功提供支持力说估算首目标预测项目结果确定项目目标否足够现实项目控状态达成目标
3 敏捷开发特点
敏捷开发2001年前软件业专家解决许公司研发团队面断增长项目问题程泥潭概括出开发团队具快速工作响应变化力价值观原称敏捷联盟
倡导开发方法称敏捷方法敏捷方法集成许新型开发模式特点重点强调
①注重编程中特长发挥
②强调软件开发产品软件文档文档开发服务开发目
③客户开发者关系协作合约细开发者应客户合作澄清需求细节变成客户业务专家
④设计周密终软件质量表明设计实现更重适应客户需求变化设计根环境变化断更新
敏捷开发通常复杂非常确定需求软件项目传统开发方法瀑布模型原型法等区敏捷方法开放具弹性方法敏捷方法项目理中更加关注项目中作繁复计划沉重程方法
项目成功重素敏捷开发团队定非顶尖开发员组成顶尖合作成员普通沟通良成员更加适应敏捷开发特点敏捷开发特强调合作沟通交流力单纯软件开发力更重敏捷开发团队般会较达高沟通效率典型敏捷开发方法SCRUMCrystal特征驱动软件开发(Feature Driven DevelopmentFDD)极限编程(eXtreme ProgrammingXP)等
文会根软件项目中实施极限编程实践敏捷方法估算技术做进步讨讨方法仅极限编程适敏捷方法
4 敏捷开发中估算方法
敏捷开发团队通常较验善沟通员构成敏捷开发中采估算方法需便理解发挥团队成员集体智慧利项目利交付笔者团队中采种做扑克估算(Planning Poker)方法进行项目初 期估算正许敏捷开发中采技术扑克估算非常简单效率
首先敏捷方法中估算应该团队成员进行项目理闭门造车式出样做原开发团队验事组成问题验会出样解决方案果力集中起问题求解八九离十
样道理估算扑克估算致程样开始前首先决定采估算度量般说估算点较常时会采费伯数字(FibonacciNumber011235813…)作估算点值者采衣服尺码(XSSMLXLXXL…)抽象数字符号例户事较简单标记1估算点户事二系统登录程需考虑方面较标记13估算点等
样做处估算出块相块实现需时间长短敏捷开发具短交付周期特点般周期适应团队逐渐出点该花费少时间认识次估计会更加准确
正敏捷开发纠正特点接准备样套卡片时贴代团队成员户事进行讨澄清关该点需求量成员理解功该设计等
果家某点提出问题起亮出估算点卡片正前面说成员验背景难次出样估算某潜问题风险没发现者想更加简便办法等意见作步讨基础
家相互交换问题风险法讨新点子等组重新投票出较致估算接着样流程户事进行估算出串估算点扑克估算致思路
5 常估算方法
够应软件项目中估算方法种中功点分析种常方法系统分解较组件便够快速理解分析估算扑克法类似功点功点分析测量单位功点分析中系统分五类组成部分(组件)常规系统特性
前三类件外部输入(External Inputs EI)外部输出(External Outputs EO)外部查询(External Inquiry EQ)组件中组件处理档案称事务(Transaction)外两类组件部逻辑文件(InternalLogical Files ILF)外部界面文件(External InterfaceFiles EIF)构成逻辑信息数存储
外部输入指户根需通增删改维护部逻辑文件外部输入户维护ILF外部输出指户输出结果显示结果调维护数参考数获功点术语中显示结果称外部输出外部查询指户通计算机系统选择特定数显示结果
获项结果户输入选择信息抓取符合条件数时没数处理直接文件抓取信息例驾驶员显示预先设置形图输出结果直接信息存贮位置提取信息里称作外部查询
部逻辑文件第项数功客户负责维护数数系统中逻辑分组终户维护做部逻辑文件(ILF)
外部界面文件第二项数功数逻辑分组关种情况户负责维护数数系统中驻留户进行维护该数供系统户参考例飞行中驾驶员需参考某卫星面定位系统定位数驾驶员负责更新数参考
样供参考系统数分组称外部界面文件功点估算通系统分析根五种组件少高中低三类项复杂度进行分加影响估算调整子出估算结果面公式
AFP(调整功点)UFP(未调整功点数目)×AF(影响子)
6 实际例子
笔者实际采敏捷方法项目中进行实验分采方法样短开发周期工作进行估算结果表1示表1估算方法估算结果方法估算值单位工作量(天)预计工作量扑克估算33 1·6 52·8天功点估算69 0·8 55·2天
中扑克估算单位工作量前次团队估算结果调整出约花费1·6天完成估算点工作量功点估算单位工作量公司已统计表格摘录反映公司中采类似技术团队均工作效率
整周期约花费两礼拜时间六团队成员参开发实际工作量认60天
7 结果分析
综述采较简单基团队验估算方法起精确着复杂数学模型估算方法没明显精确度差异相复杂方法说简单易团队达成识方法节约出结需时间增强团队务认识
侧面提高团队士气效率正某研究预测学专家说研究预测学牢结简单方法总体复杂方法样准确
较敏捷估算功点估算二者项目量化成抽象值求出项目完成需花费时间相前者通项目团队适应开发模式通段时间实践出单位工作量出项目全部工作量者通更范围历史数
较相类似项目出单位工作量然估算项目预计时间法说种方式更加优越显易见第种更容易实现第二种需量项目积累项目团队完全样纯粹资源者均工作量团队样
较言第种方法会更贴实际外估算方法毕竟某种估计期采更方法做出完美项目计划项目控制力气终王道需求变更估算产生问题源
果需求确定估算变性会保持高水直项目结束需求变更项目理会更加关注变更身进度控制等方面影响忽视原始估算进行调整需
幸许原始估算初功范围算准确增加十功没适更新项目根达初承诺估算结果讽刺然承认增加特性错改动项目终会做延误估算方法解决需求稳定造成问题
项目控制做出相应调整更解决矛盾敏捷开发说身适应高变性环境诞生合理估算敏捷开发项目控制结合起保证项目控时间预计质量进行交付利益相关方终收获满意结果
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档