构建之法现代软件工程(第五次)

这周我阅读了《构建之法》第六第七章

  • 敏捷开发的原则:

  

(1)尽早并持续地交付有价值的软件以满足顾客的需求;

(2)敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势;

(3)经常发布可用的软件,发布间隔可以从几周到几个月,能短则短;

(4)业务人员和开发人员在项目开发过程中应该每天共同工作;

(5)以有进取心的人为项目核心,充分支持信任他们;

(6)无论团队内外,面对面的交流始终是最有效的沟通方式;

(7)可用的软件是衡量项目进展的主要指标;

(8)敏捷流程应能保持可持续的发展。 领导, 团队和用户应该能按照目前步调持续合作下去;

(9)只有不断关注技术和设计才能越来越敏捷;

(10)保持简明 - 尽可能简化工作量的技艺 - 极为重要;

(11)只有能自我管理的团队才能创造优秀的架构, 需求和设计;

(12)时时总结如何提高团队效率, 并付诸行动。

  • 由Scrum软件开发方法论得出的敏捷步骤:

  1.找出完成产品需要做的事情。

  2.决定当前的冲刺需要解决的事情。

  3.冲刺(同时进行每日立会来进行面对面的交流)

  4.得到软件的一个增量版本,发布给用户。

  • 敏捷流程的经验教训:

  1.敏捷宣言表明的是一些优先级,不必当作圣旨或者教条来争论。

  2.Scrum Master不是一个官,而是一个没有行政权力的沟通者,就像微软的PM那样。他/她同时还要在团队中做具体的工作。直接把原来的“经理”变成Scrum Master,大多行不通。

  3.一些项目需要很多暗箱操作和政治角力才能搞定,Scrum会把这些矛盾都摆到明处。这有好处,也有风险。

  4.在复杂的项目里,让一线团队成员做决定。

  5.创业公司的团队其实经常是运行在Scrum的模式中(只不过大家太忙,没工夫论证自己到底有多么Scrum)

  6.在Scrum计划阶段的估计不是一个“合同”,领导们不要把它当成一个合同。估计总是不准的。坚持短期的Sprint,这样即使不准的估计也不会有大的损害。

  7.不要和管理层谈“流程”,他们只关心“结果”。

  8.在大型团队、跨地区的团队,或者复杂项目中,Scrum并没有非常完美的答案,Scrum的创始人也承认这一点。

MSF是微软解决方案框架,MSF的9条基本原则:

  1.推动信息共享与沟通,第一个原则,就是所有信息都保留并公开,讨论要包括所有涉及的角色,决定要公开并告知所有人。当然,对牵涉到技术机密、安全性等信息要采取必要的保护措施。

  2.为共同的远景而工作,“共同的远景”是指产品的远景。我们做一个产品,不管是应用软件、行业软件,还是通用软件,要明确项目的目标是什么。

  3.充分授权和信任,在一个高效的团队中,所有的成员都应该能得到充分的授权,他们有权在职权范围内按照自己的承诺完成任务,同时,他们也充分信任其他同事能实现各自的承诺。

  4.各司其职,对项目共同负责,在项目进展的过程中,对于每一项任务,每个人都要明确以下几点。

  • Who:谁负责
  • What:做什么,具体的执行方案,什么叫做“做好了”
  • When:什么时候开始,什么时候结束
  • Why:为什么是这样安排(和项目的远景是否吻合),在什么情况下可以变更?

  5.交付增量的价值,现在的软件产业,特别是和互联网相关的产业,变化非常快,用户希望产品团队经常提供更新,以适应新的需求。

  6.保持敏捷,预期和适应变化,软件工程,唯一不变的是变化。所以干脆别幻想客户的需求会在第一时刻很明确,然后保持不会变。要注意,我们是预期变化,不是期望变化。

  7.投资质量,软件开发过程大部分时间花在了解/设计/变更/再了解/再设计的过程中。我们要重视质量,但并不是要不惜一切代价达到最高的质量标准(有人倒吸了一口凉气),因为提高人/过程/工具的质量是要花成本的!我们不是为提高质量而提高质量。我们要讲投资的效率。比如,在做快速原型的过程中,有些部分可以做得粗糙一点。

  8.学习所有的经验,在学习过去的经验的同时,也要避免让过去的经验妨碍解决现在的问题 。

  9.与顾客合作,在项目开发过程中,要一直保持与客户沟通交流,因为商业价值是由客户说了算的。

  • MSF的团队模型:

  在MSF团队模型中,任何技术项目都必须达到特定的关键质量目标,才能够被认为是成功的项目。任何一个角色无法实现其目标,都将危及整个项目。因此,每个角色都被认为是同等重要的,重要的决定都要共同作出。

  我认为在一个项目结束的时候,每个角色都应该问自己这样的问题——我是否达到了我的质量目标?

  • MSF过程模型:

  MSF过程模型是从传统的软件开发瀑布模型和螺旋模型发展而来的,它把瀑布模型中基于里程碑的规划优势与螺旋模型中增量迭代的长处结合了起来。

  团队用里程碑来检查工作是否结束和同步各个角色的进度,以此来确定当前阶段的目标是否已经实现。此外,里程碑标志着每个阶段的结束,此时团队应该引导成员转移工作的重心,并鼓励队员以新的视角来看待下一阶段的目标。

转载于:https://www.cnblogs.com/Marooned/p/6941138.html

构建之法现代软件工程(第五次)相关推荐

  1. 活泼的行文 推荐 《构建之法 - 现代软件工程》 邹欣著

    两周前买了邹欣的<构建之法 - 现代软件工程>,原计划年前看完吧,结果一看就放不下,用了两周看了第一遍,觉得非常好,特此推荐给大家.购买链接如下 http://item.jd.com/12 ...

  2. 速读《构建之法 现代软件工程》的五个问题

    P52 关于软件工程的思维误区   ,书中分析了软件开发中工程师的一些思维误区,但是该如何正确的避开这些误区,如何养成正确的高效的软件思维呢? p90 关于如何正确的给予反馈,书中给了一些建议,但是正 ...

  3. 迷路在现代软件工程中的羔羊——略读邹欣老师《构建之法》及讲义有感(附上源代码管理软件以及CI/CD调研Demo)

    迷路在现代软件工程中的羔羊--略读邹欣老师<构建之法>及讲义有感(附上源代码管理软件以及CI/CD调研Demo) 项目 内容 这个作业属于哪个课程 北京航空航天大学2022春季软件工程(罗 ...

  4. 构建之法 第三次心得

    构建之法 第四.五章心得 学习了第四第五章之后,我了解到了两人合作的注意要点,还有团队和开发流程.软件都是在相互合作中完成的,合作的最小单位是两个人.每个人的标准都不一样,对于什么是好的代码规范未必认 ...

  5. 读《构建之法》1-5章

    <构建之法>第一至五章,我了解了软件工程的重要性,它就像楼房的建设,是一项大工程,必须有设计,步骤,工具,有能力,有计划,还要有团队合作才有可能实现这么一个工程. 第一章:概论 读第一章的 ...

  6. 软件项目管理-构建之法-四周总结

    写在前面 课程名:软件项目管理  授课人:东北师范大学 杨贵福( http://www.cnblogs.com/younggift/) 教材:<构建之法 - 现代软件工程> 作者:邹欣老师 ...

  7. 快速通读《现代软件工程——构建之法》

    在快速通读<现代软件工程--构建之法>后,我有如下问题: Q1:第一章通过形象的例子告诉我们什么是软件工程,介绍了软件工程的各个阶段,对软件工程的概念及它的特性做了较为生动而详细的介绍,那 ...

  8. 《构建之法》学习总结1——软件工程概论,团队组织及管理,开发流程

    写在前面: 这是我作为一个软件工程专业学生的第一篇个人技术博客,虽然我接下来的人生中还会有无数像这样的博客,但这是一个开始,接下来我将会从一个软件工程专业的大学生向一个合格的程序元转变.说实话现在,这 ...

  9. 小强怎样练成——读《现代软件工程——构建之法》第三章有感

    小强怎样练成 ----读<现代软件工程--构建之法>第三章有感 一.知道自己吃几碗干饭 先秦时期的"革命家"告诉我们"知人者智,自知者明",&quo ...

最新文章

  1. 数据预处理代码分享——机器学习与数据挖掘
  2. ibatis--百度百科
  3. jenkins 手动执行_Jenkins Git client插件命令执行漏洞(CVE201910392)
  4. LeetCode —— 148. 排序链表(Python)
  5. C# .net Static 干什么的
  6. 百面机器学习—2. 特征工程与模型评估要点总结
  7. sp导出法线_sp导出贴图步骤_sp导出贴图
  8. msg邮件转eml邮件
  9. 中望CAD工具栏消失不见的解决方案
  10. Jlink20P接口定义
  11. 机器学习实战 | 综合项目-电商销量预估进阶方案
  12. 关于虚拟机Ubuntu联网问题
  13. Cadence Allegro学习之铜皮(走粗线)的使用方法+罐铜+铜皮切割
  14. Intel处理器将被苹果M1处理器降维式打击
  15. key_t键和ftok函数
  16. 桌面图标注册表对应项
  17. 创意者更新发布在即:欧美Win10份额已超Win7
  18. 小米9008授权 授权救砖 教程
  19. 苹果Apple正式发布iPad2一代降价超千元
  20. android o 结构光流程,【OPPOFindX评测】O-Face 3D结构光:最科幻的交互方式-中关村在线...

热门文章

  1. 微软为什么从 C/C++ 转向了 Rust?
  2. Linux - Ubuntu
  3. 用Java实现Stream流处理中的滑窗
  4. 【vuejs深入三】vue源码解析之二 htmlParse解析器的实现
  5. java 线程池(2)
  6. Scala微服务架构 三
  7. 树莓派迅雷远程下载 | 树莓派小无相系列
  8. Android之SharedPreferences详解
  9. openStack 云平台管理节点管理网口流量非常大 出现丢包严重 终端总是时常中断问题调试及当前测试较有效方案...
  10. 杭电 1272 poj 1308 小希的迷宫