甄嬛传

扫一扫关注微信二维码 雷克萨斯

8种确定软件开发成本的方法

admin 报价费用 2017-12-03 12:32 0
   
 
   软件评估的经验教训
 
   在我作为解决方案架构师的角色中,我需要快速开发项目估算,并能够解释估算背后的逻辑。我还需要将一些主观变量考虑在可能导致项目挣扎的估算中。随着项目规模和时间跨度的增加,不可预测的影响可能导致不准确的结果。预测天气可能感觉不那么艰巨。
 
   无论您使用何种软件开发方法 -? 瀑布,敏捷或两者的混合 - 提供项目预测都会挑战技术团队。不准确的预测也会给企业领导者带来问题。他们希望确定“完成”的时间,尽管他们已经完成了对完成的定义。
 
   为什么团队必须与项目一起发展
 
   需求转变和技术发展,这使得估计遗留系统和数据集成到新应用程序几乎不可能是技术团队。这种体验类似于改造房屋。破坏意外可能潜伏在墙后。同时,客户需求,开发投资回报和行业竞争激励企业领导者更快地“完成”(同时试图确定“完成”意味着什么)。这是技术团队冲突的秘诀。当客户在短短几天内需要估算时,压力就会增加。
 
   在项目过程中形成软件估算的不断变化的变量带来了另一系列挑战:
 
   随着项目的进展,软件评估的初始结果应该如何与新需求相关联?开发一旦开始,团队评估实际进度与初始估算的速度有多快?应该何时共享更新?
 
   为了保持可信度,技术团队必须能够尽早向企业领导者解释对估算的任何变更。
 
   更好的软件估算的8个步骤
   有许多方法可以估算软件项目的成本和时间表,因为有开发语言。研究表明,如果项目可以分解成一小块工作,并且每个块估计,估计往往更准确。
 
   我已经直接在数十个项目中使用这种方法,可能还有数百个切向,我想分享一些关于如何将其应用于软件估算的见解。
 
   1.让业务利益相关者参与软件评估过程
   在软件评估过程的早期让利益相关者参与有助于更准确地定义软件开发周期中重要的内容。这有助于业务负责人和技术团队获得对项目的共同理解。它还有助于让每个人都对最初的估计负责。
 
   多年前,我曾与一位需要某种系统功能的客户合作。有几个人告诉客户,另一种方法更好。客户拒绝听。缺少的是没有人向客户解释成本。但是,一旦了解了该功能的成本,客户的需求就会发生变化,团队就可以找到合理的解决方案。估算的给予和接受将有助于从一开始就推动更现实的期望。
 
   2.问:“为什么大多数软件评估项目都失败了?”
   答案是,要求差,领导薄弱。该技术本身很少是项目失败的原因。如果没有良好的要求和领导力,伟大的技 谨防这个红旗:在与项目团队估算会议期间无法解释最终目标或软件背后的业务驱动因素的领导力。当需求不明确时,开发人员无法开发质量代码。当开发人员陷入障碍或遇到问题时,领导者 - 尤其是产品所有者 - 需要做出快速而明智的决策。否则,他们将项目时间表和预算置于危险之中。如果团队缺乏明确的要求指导和/或领导层无法回答问题或清除障碍,任何软件估算必须包括应急计划,以适应软件开发周期中的不确定性。最好在估算过程中发现这些问题,而不是让它们破坏未来的进展。
 
   3.打破要求以提高软件估算的透明度
   首先将需求降低到足够远,以便单个开发人员可以在短时间内构建每个需求。任何不能分解的要求可能都不能很好地理解为准确估计(有一些例外)。
 
   此过程将帮助利益相关者了解开发软件将采取的措施。预先要求更多细节可能会增加项目评估的时间,但其创建的透明度通常会缩短软件评估,提高质量并通过利益相关者之间的更好理解缩短审批时间。打破项目还将允许团队在项目期间设置里程碑并对其进行衡量,从而有助于项目的成功。
 
   4.将估计与现实联系起来
   确定您要衡量的内容。这是一项重大挑战。找到每个人都可以达成一致的项目的一部分,并且可以估计(理想情况下)大约一半的开发时间。通过建立此基线,可以更容易地估计针对此基线的其他工作。这也将允许团队在开发开始并团队完成项目的一部分后快速重新估计工作。
 
   5.建立合适的团队
   团队不仅仅是开发人员。他们需要一个良好的支持演员和良好的要求,让每个人都负责。为了使项目提供商业价值,用户需要能够有效地使用该应用程序。这意味着项目必须要有良好的业务分析师来编写好的需求,从而推动高效的开发。用户体验不仅仅是它的外观。在项目中包括一名设计师,他既可以提供有效的界面,又可以提供有意义的用户流程。
 
   在建立团队时,经常被忽视或吝啬的区域是构建有效QA测试计划所必需的资源。团队应该准备好尽早进行测试,并经常通过一个彻底和可重复的过程来确定应用程序的问题,同时代码在开发人员的脑海中是新鲜的。该计划需要确保交付的代码满足要求。
 
   我发现在构建团队方面工作的方法是使用这些角色与开发人员的比率。在开发人员的编码速度快于BA编写要求之前,单个BA只能支持这么多开发人员(一个浪费开发人员资金的常见问题)。缺乏良好的要求会浪费开发人员的资源。用户体验和质量保证也是如此。拥有良好支持演员的开发人员可以更好地创建满足要求,预算和日程安排需求的优秀代码。
 
   6.记住产品负责人为何如此重要
   这是项目中最重要的人。授权产品所有者可以专注于项目并做出重要决策。产品所有者推动需求,仲裁业务和技术之间的差异,并确定工作的优先级,以便团队尽快交付业务价值。
 
   一个不堪重负的产品所有者在太多的职责之间分配时间会危及项目。这是另一个领域,如果产品所有者没有明确的权力和时间专门用于该项目,那么由于昂贵的应急计划增加了估计成本,因此应该出现危险信号。
 
   7.良好的软件评估指标应该能够更快地揭示问题
   如果估算是基于开发人员的速度,那么更容易确定团队是否以预期的速度发展。度量标准允许您识别未按预期生成的团队成员。很少有所有团队或开发人员以完全相同的速度生产。有些会更快,有些会更慢。如果它们太慢,您可以开始研究摩擦发生的位置,从需求到设计,架构,范围蔓延或缺乏技术技能。将实际速度与原始估计值进行比较,可使利益相关者更快地识别预算错位,并在需要时采取纠正措施。最好早点发现问题并有时间解决问题,而不是解释为什么你事后错过了目标。
 
   8.小事情很重要
   一旦您估算了需求并将其分配给开发人员及其支持演员,仍有一些细节会影响估算。
 
   第一个版本何时准备就绪?
   开发人员加入项目多久后,他们需要100%的工作效率?
   首席开发人员在领导由两名开发人员组成的团队而不是七人团队时,可以做多少开发?
   假期和假期将如何影响项目?
   如果项目必须在某个特定日期之前完成,那么需要多少开发人员?
   开发功能需要多少费用?
 
   在软件评估项目中,我已经听过这些以及其他几十个问题。将尽可能多的这些问题考虑在估算中有助于向持有钱包并最终批准该项目的高管讲述一个更好的故事。您越了解答案,就越有可能获得成功所需的资金。
 
   为什么您需要重新考虑您的软件估算策略
 
   估计软件开发的时间表需要所有人,从开发人员和QA引导到业务领导者。当技术团队可以围绕通过与产品所有者合作而构思的有用且信息丰富的指标时,项目的推出将与初始估算更紧密地对齐。
 
   重新思考软件估算也将为商业领袖提供一个理由,即使在必要的时候或者出现新的挑战时也是如此。保持敏捷并与授权产品所有者密切合作的团队采取关键步骤,构建和发布可提供价值的优质软件。
 

分享:

扫一扫在手机阅读、分享本文

发表评论

评论列表(条)

    推荐阅读

    奥迪
    分享到:QQ空间新浪微博腾讯微博人人网微信
    北京国安 王牌对王牌 全国水果价格下降韩国泡菜中文译名 恰好是少年 张飞 特朗普受双重暴击 斗破苍穹 创造营2021 圣墟 完美世界 动物世界 翼龙无人机成救灾黑科技 本田肖战 乐童音乐家 北京天空秒变油画大卡车投河堵决口 刘德华 周杰伦 我们的新时代 大众 mg 宝马 植物大战僵尸 宝马 台风烟花登陆浙江 第五人格 英雄联盟 杨国福麻辣烫致歉 恰好是少年 中国新说唱 韩国女团 大众 魔道祖师下坠Falling 特朗普受双重暴击 奔跑吧兄弟 朱一龙 因名字找工作被拒 江西一村全年无蚊重庆发现吃虫植物 猪猪侠 吞噬星空 生僻字 李敏镐美国男篮 河南人民的朋友圈 陈小春应采儿 陈延年牺牲94周年 变成你的那一天 植物大战僵尸 武炼巅峰 小花仙斗罗大陆 网恋被骗八百多万 冠军为啥爱咬金牌守岛人 只是太爱你 高手问道 1921 蔡徐坤 北京天空秒变油画大卡车投河堵决口 Without Me | 下一页 唐人街探案3大决战