Barry Boehm的软件工程七原则与敏捷实践

人月神话的神话色彩 - Boehm的模型和数据分析 文章目录人月神话的神话色彩 - Boehm的模型和数据分析 人月神话的神话色彩 - Boehm的模型和数据分析 很多年来,人们对软件生产率和影响它的因素进行了大量的量化研究,特别是在项目人员配备和进度之间的平衡方面。 最充分的一项研究是Barry Bochm对63个软件项目的调查,其中大多数是航空项目和25个TRW公司的项目。他的《软件工程经济学》(Sofware Engineering Eco... 阅读详情




大概在5年以前曾经从网上搜到了Barry Boehm提出的软件工程的七原则(Seven Basic Principles of Software Engineering),这是Barry Boehm1983年发表的文章,在网上搜到的是别人对这七个原则的转译与介绍,看后觉得怪怪的,总是觉得有些地方不能准确把握这七个原则的含义。于是去google搜其原文,未果,最近终于搜到了原文,因此更能准确把握Barry Boehm老先生的原意。


有人将题目翻译为软件工程的七个基本原理,其实,principles在此处还是翻译为原则更为准确。


依据原文我的对于各原则的理解如下:


原则一:使用分阶段的生命周期计划管理(manage using a phased life-cycle plan)

(1)一定要有项目计划;

(2)项目要划分生命周期阶段,每个阶段都要有计划;

(3)计划要分层或分阶段逐步细化;

(4)要使用项目计划管理项目,不能弃之不用。


原则二:执行持续确认(perform continuous validation)

(1)尽早发现错误。大部分缺陷是编码之前注入的,缺陷越早修复成本越低。

(2)尽早发现错误的措施:

深入评审;

设计阶段编写用户手册、使用手册、数据准备手册;

原型;

模拟;

自动化的检测工具;

设计审查与走查;

等等。


原则三:坚持规范的产品控制(maintain disciplined product control)

执 行配置管理,确保工作产品之间的一致性。


原则四:使用现代化的编程实践(use modern programming practices)

  采用现代化的开发方法、开发实践提升软件的效率与质量。


原则五:坚持结果的清晰的责任(maintain clear accountability for results)

对于项目的阶段产出、各个小组之间的承诺、每个人的产出与承诺要明确、要可验证。 


原则六:使用少而精的人员(use better and fewer people)

(1)人与人之间的效率差别达10倍甚至25倍以上,因此要使用精英团队。

(2)采用多种方式提升沟通的质量与效率:

不要通过加人的方式解决进度问题

项目的初期不要太多的人员

为高性能提供高的回报

淘汰低性能者

使用自动化的辅助工具


原则七:坚持过程改进的承诺(maintain a commitment to improve the process)

识别、分析技术与过程的改进,建立持续改进的机制。




如果仔细去分析敏捷的软件开发方法,则可以发现,恰恰敏捷的实践很好的满足了上述的七个原则:

Barry Boehm七原则

敏捷实践

原则一:使用分阶段的生命周期计划管理

采用迭代的生命周期模型
增量式交付
制定交付计划与迭代计划

原则二:执行持续确认

现场客户随时执行功能测试
测试驱动开发
持续集成
sprint review

原则三:坚持规范的产品控制

现场客户或product owner负责维护需求
持续集成

原则四:使用现代化的编程实践

系统隐喻
重构

原则五:坚持结果的清晰责任

时间箱管理
开发人员认领任务
用户故事的验收准则
每日站立会议
测试驱动开发
持续集成
现场客户功能测试
sprint review

原则六:使用少而精的人员

每个项目小组不超过10人
采用一专多能,交叉职责的人员
自我管理的团队
每周工作40小时

原则七:坚持过程改进的承诺

sprint retrospective







ArcGIS | 全球新冠肺炎地图数据下载和处理 ArcGIS 阅读详情

相关推荐

Halcon像素比例标定(误差大)-相机标定

一种简易标定: 像素比例标定,如果需要精确一些则需要在高度和宽度上都需要计算,然后求出比例系数。需要高精度标定板和相机,以及多次标定才能达到稳定的状态,这种标定简单,但是误差大。 read_image (Img0008, 'D:/00项目代码/000视觉软件/02Halocn算法20190501/04测量20190424/07_比例计算测量标定/IMG0008.jpg') rgb1_to_...

SSSS的博客 3984

Barry W. Boehm——COCOMO模型之父、软件过程螺旋式模型之父,10大风险

Barry W. Boehm——COCOMO模型之父、软件过程螺旋式模型之父,10大风险: 开发人员短缺, 不能实现的进度和预算, 开发了错误的软件功能, 开发了错误的用户接口, 华而不实的需求, 需求不断地变动, 外部执行的任务不符合要求, 外部提供的组件不符合要求, 实时性不符合要求, 超出了计算机科学发展的水平。

五加乘 3404

Python量化交易入门:天勤量化TqSdk保姆级教程(含避坑指南)

本文提供Python量化交易入门指南,重点介绍天勤量化TqSdk的使用方法,包括环境配置、核心API实战、策略开发技巧及实盘部署。教程涵盖中国期货市场,帮助个人投资者快速掌握量化交易技术,避开常见陷阱。

weixin_29065791的博客 830

杂谈Barry Boehm的软件工程七原则与敏捷实践

大概在5年以前曾经从网上搜到了Barry Boehm提出的软件工程的七原则(Seven Basic Principles of Software Engineering),这是Barry Boehm1983年发表的文章,在网上搜到的是别人对这七个原则的转译与介绍,看后觉得怪怪的,总是觉得有些地方不能准确把握这七个原则的含义。于是去google搜其原文,未果,最近终于搜到了原文,因此更能准确把握Ba

麦哲思科技 3911

RTX 4060笔记本也能跑!保姆级教程:用Ollama在Windows上部署DeepSeek-R1-8B模型

本文详细介绍了如何在RTX 4060笔记本上通过Ollama本地部署DeepSeek-R1-8B模型,提供从环境配置到性能调优的全流程优化指南。针对笔记本用户的显存、散热等问题,给出了量化模型选择、启动参数优化及散热解决方案,帮助用户在消费级硬件上高效运行大语言模型。

weixin_28745067的博客 524

玄机-Linux权限维持-后门

玄机-Linux权限维持-后门

m0_46439803的博客 763

第五章 软件工程基础知识

缺乏统一的定义:● Barry Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必须的相关文件资料。●IEEE:软件工程是:①将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;②对①中所述方法的研究。● Fritz Bauer:在NATO会议上给出的定义,建立并使用完善的工程化原则,以较经济的手段获得能在实际机器上有效运行的可靠软件的一系列方法。

辣香牛肉面的博客 1483

从零到一:Qt与PCL的跨平台开发环境搭建全攻略

本文详细介绍了从零开始搭建Qt与PCL跨平台开发环境的完整流程,涵盖Windows、Linux和macOS三大平台。重点解析了Qt5与Qt6版本选择、PCL库安装配置、VTK集成等关键技术要点,并提供跨平台CMake项目模板和常见问题解决方案,助力开发者快速构建三维点云处理应用。

weixin_29280657的博客 382

【软件工程中的螺旋模型】

螺旋模型是一种风险驱动的软件开发过程模型,由Barry Boehm于1986年提出。它将软件开发过程分为多个循环迭代的阶段,每个阶段都包括需求分析、设计、编码、测试和评审等活动。与瀑布模型不同的是,螺旋模型强调风险管理和迭代开发,通过反复的迭代来降低项目风险。

武帝为此的博客 2174

DeepSeek:为文化创意产业注入AI新动能

沪南胜境,闵行新章。随后,2024 年 5 月,DeepSeek 宣布开源第二代 MoE 大模型 DeepSeek-V2,以其比肩 GPT-4Turbo 的卓越性能,以及仅为 GPT-4 百分之一的价格优势,迅速在市场中掀起波澜,收获了 “AI 届拼多多” 的独特名号,让更多人看到了高性价比 AI 大模型的可能性。创作者自身也应提高对创作伦理的认识,树立正确的创作观念,在使用 AI 工具时,保持对创作的主导权,充分发挥自己的创造力和想象力,将 AI 作为创作的辅助工具,而不是替代品。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 1962

【AI 赋能:Python 人工智能应用实战】16. BERT微调实战:中文新闻分类全流程(附模型蒸馏+ONNX部署完整代码)

中文新闻分类是NLP领域的经典实用任务,BERT模型凭借双向上下文建模能力,能有效解决中文歧义与长文本依赖问题,但存在推理速度慢、资源占用高的痛点。本文以THUCNews中文新闻数据集为核心,提供从数据预处理、BERT微调、模型蒸馏到生产部署的全流程实操指南。首先详解THUCNews的多编码读取与清洗(解决gbk/utf-8兼容问题);然后实现BERT微调,加入早停机制与混淆矩阵可视化,验证准确率达93.8%;接着用DistilBERT完成模型蒸馏,在仅损失0.6%准确率的前提下,将推理速度提升2.7倍。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 1098

螺旋模型是一种风险驱动的软件开发过程模型,由Barry Boehm于1986年提出

✅ **本质区别一句话总结**: > 瀑布模型**忽视风险的时间性**,敏捷模型**利用时间压缩风险暴露窗口**,而螺旋模型**把时间花在风险决策上——不解决关键不确定性,就不启动开发**。

[Blog][Domain] programb.blog.youkuaiyun.com 432

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

软件工程 7 原则与敏捷实践

原则一:使用分阶段的生命周期计划管理;原则二:执行持续确认......

blackcat123的博客 599

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

软件工程师必备的7条黄金法则:Boehm原理实战解析

本文深入解析软件工程泰斗Barry Boehm提出的七条黄金法则在现代软件开发中的实战应用。从分阶段计划管理到持续改进机制,结合持续集成、微服务架构等当代实践,帮助软件工程师在保证交付速度的同时提升代码质量。特别适用于敏捷开发团队和云原生技术场景。

weixin_42531886的博客 351

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

软件工程 .

from http://blog.youkuaiyun.com/liushuijinger/article/details/6737068   分类: 软件工程 2011-08-31 12:23 558人阅读 评论(4) 收藏 举报   目录(?)[-] 软件工程的各种定义 BarryBoehm 运用现代科学技术知识来设计并构造计算机程序及为开发运行

hrdzkj的专栏 556

现代软件工程 第七章 【MSF】练习与讨论

7.7 移山开发方法——比TFS敏捷更精简 几个软件学院的学生来请教阿超,同学们自豪地说,我们要用全套TFS敏捷开发模式开发项目! 真的?阿超不敢相信。 同学: 对!我们要用全5个工作项类型 – 任务、缺陷、场景、风险、服务质量需求、 阿超: 你们有多少实战项目的经验?哦,都没有。这么说这是你们第一个真正的实用项目,我建议你们先忘记这么多工作项类型,把时间花在写代码上好了。 同学: 可是老...

SoftwareTeacher的专栏 290

软件工程之总体概述

软件工程也看了一段时间,对

你若盛开,清风自来 2261

软件工程

基本信息   软件工程一直以来都缺乏一个统一的定义,很多学者、组织结构都分别给出了自己的定义:    BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 IEEE:在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究

天残地缺IT的专栏 469

软件工程简介

软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构分别给出了自己认可的定义: BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 IEEE:在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究 FritzBauer:在N...

weixin_30763455的博客 140

软件工程技术发展思索

为克服软件危机,1988年10月在北大西洋公约组织(NATO)召开的计算机科学会议上,Fritz Bauer首次提出“软件工程”的概念,试图将工程化方法应用于软件开发。而自软件工程的概念提出以来,对其定义就有不同说法: Barry Boehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。 IEEE:在软件工程术语...

aishao2817的博客 416

我的软件工程课目标

软件工程一直以来都缺乏一个统一的定义,很多学者、组织机构都分别给出了自己的定义:BarryBoehm:运用现代科学技术知识来设计并构造计算机程序及为开发、运行和维护这些程序所必需的相关文件资料。IEEE:在软件工程术语汇编中的定义:软件工程是:1.将系统化的、严格约束的、可量化的方法应用于软件的开发、运行和维护,即将工程化应用于软件;2.在1中所述方法的研究FritzBauer:在NATO会议上给...

qq_36322091的博客 103

软件工程预测模型之COCOMO

原文为GeeksforGeeks网站Link 分类 Cocomo(Constructive Cost Model)是基于代码行的回归模型。它是软件项目的程序成本估算模型,通常用作可靠地预测与项目相关的各种参数的过程,例如大小、工作量、成本、时间和质量。它由Barry Boehm在1981年提出,该研究基于63个工程,使他成为了记录最好的模型之一。 模型的关键参数有两个,工作量和进度。 工作量: 完成单个任务所需要的人工,通常用人月来表示。 进度: 完成整个工程所需要的时间,和工作量成比例。通常用时间单位表

赵星汉同学的博客 6493
上一篇: 先敏捷再规范
下一篇: 敏捷始于客户
bamboolsu
博客等级 码龄22年 200粉丝 394原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值