构建之法---敏捷流程

最近为了完成java设计模式和uml的大作业算是花了不少时间来动脑理解和动手编写代码,也开始发现代码的神奇和美妙,java竟然可以开发简单的小游戏,而且代码并不向想象中那样难以理解,其中的规律似乎很神奇。带着这种愉悦美好的心情读《构建之法》,或许会比以前收获更多。

继瀑布模型之后又前辈们提出了“敏捷”,1.敏捷这个词听起来就是反应灵敏迅速而有效,而在软件按工程里,敏捷不同于现有做法之处在于:敏捷的价值观和流程是个人和交流、可用的软件、与客户合作、响应变化,而现有做法的则是流程和工具、完备的文档、为合同谈判、执行原定计划。

2.敏捷的开发原则是尽早并持续交付有价值的软件以满足顾客需求;只有不断关注技术和设计,才能越来越敏捷;只有能自我管理的团队才能创造优秀的架构、需求和设计。

3.敏捷的流程可以分为以下四步:第一步-找出完成产品需要做的事情;第二步-决定当前的冲刺需要解决的事情,整个产品被划分成几个互相联系的冲刺,产品订单上任务被进一步细化,被分解为以小时为单位,订单上的任务是团队人员根据自己的情况来认领;第三步-冲刺,在冲刺阶段,外部人士不能直接打扰团队成员,一切交流只能通过scrum大师来完成,这一措施较好地平衡了“交流”和“集中注意力”的矛盾,冲刺期间,每日都开个例会,每日例会强迫大家向同伴报告进度,迫使大家把问题摆在明面上,同时启动每日构建,用建民的图表来展现整个项目的进度,图表可以是燃尽图,想象我们把一堆待完成的事完成了,冲刺阶段是时间驱动的,时间一到就结束,这个特点看似不起眼,其实有效地断了各种延期的想法,很棒啊;第四步-得到一个软件的增量版本,发布给用户,并在此基础上又进一步计划增量的新功能和改进。

4.但理论遇上现实或多或少都会出现问题,比如在第一步中我们应该怎样体现各个需求和任务间复杂的依赖关系呢,第二步中成员认领任务不均怎么办呢,第三步中每日例会都是流水账怎么办呢,以及燃尽图只列出任务的数目,无法展示项目的拖延情况;这时就可以有更好的改进了,应该明确定义好一个任务,还应记载完成这个任务还需要多长时间,已经花了多少时间虽然重要,但那不是管家(已经是沉没成本了),关键是我们离目标还有多远。还有燃尽图,书中作者提出了以时间来度量,比如实际剩余时间,预估剩余时间,实际花费时间等。

5.敏捷适用于产品可靠性不高,容忍经常出错,需求经常变化,团队人员数量不多,有资深的程序员带队,公司鼓励变化等情况,而不是必须有较高可靠性、不容许出错的商业情况,也不是要有极高可靠性、精益求精的科学计算、复杂系统的核心组件,这两种应该用计划驱动和形式化的开发方法。

最后,我觉得敏捷是一个有自己应用场景的好方法,能提高团队成员开发的积极性和团队凝聚力,思维也非常明确简介,简单粗暴,直奔主题,强调可用的软件、可度量的进度、每日例会、面对面的交流等直接有效的流程和方法,不仅在软件开发方法中占据一席之地,在生活中应用也能有很好的效果,短学期的开发实践很期待用这个方法。

时间: 2024-08-06 11:55:09

构建之法---敏捷流程的相关文章

《构建之法》学习(6)——敏捷流程

<构建之法>学习(6)--敏捷流程 1.敏捷的流程        "敏捷流程"是一系列价值观和方法的集合.   1.1敏捷开发原则   尽早并持续地交付有价值的软件以满足顾客需求 敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势 经常发布可用的软件,发布间隔可以从几周到几个月,能短则短 业务人员和开发人员在项目开发过程中应该每天共同工作 以有进取心的人为项目核心,充分支持信任他们 无论团队内外,面对面的交流始终是最有效的沟通方式 可用的软件是衡量项目进展的主要指标

四渎《构建之法》——计划估计、敏捷流程、项目经理和用户场景

本周再次打开<构建之法>,这次我阅读时重点在于学习敏捷流程.项目经理和用户场景等相对较为宏观的内容. 第六章开篇即简单地介绍了敏捷开发的流程:Product Backlog->Sprint Backlog->Sprint->软件的增量发布.同时提出了一些敏捷开发的特色之处:团队成员自己主导任务的估计和分配,使其能动性得到较大的发挥:通过每日"例"会进行面对面的交流,报告工作进度.今日要工作的内容.遇见的问题:通过燃尽图或看版图展现项目进度.这是一种和我们之

构建之法---初识篇(团队、流程和敏捷流程)

这周主要是看了第五章和第六章,主要内容包括团队和流程以及敏捷流程. 首先来说什么是团队?团队有一个集体的目标,团队要一起完成这个目标,一个团队的人,不一定要同时工作,团队成员有各自的分工,互相依赖合作,共同完成任务.此外,团队的模式也是多种多样的,我觉得不管什么样的流程,只要有一个合理的机制,有一个合理的规则就是可以的,我觉得还是要有一个人去领导整个团队,其实对于现在的我来说,我更喜欢主治医师模式.但是必须保证大家不是打酱油的,要每个人都有贡献. 关于开发流程,瀑布模型是单项的,不可逆的生产过程

构建之法学习(第六章 敏捷流程)

第6章  敏捷流程 本章主要介绍了敏捷流程及其原则,Backlog.Burn-down.Sprint.Scrum方法论.以及什么时候选择敏捷的开发方法,什么时候选择其他方法. 1.敏捷的流程 定义:"敏捷流程"是一系列价值观和方法论的集合. 现有的做法 敏捷的做法 流程和工具 个人和交流 完备的文档 可用的软件 为合同谈判 与客户合作 执行原定计划 响应变化 2.敏捷开发原则 尽早并持续地交付有价值的软件以满足顾客需求 敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势 经常发

构建之法(第六章 敏捷流程)

第六章主要讲了    1.1敏捷流程及其原则,Backlog,Burn-down,Sprint,Scrum方法论    1.2什么时候选择敏捷的开发方法,什么时候选择其他方法.   1.敏捷的流程:"敏捷流程"是一系列价值观和方法的集合.    1.1敏捷开发的原则: 1. 尽早并持续地交付有价值的软件以满足顾客需求 2. 敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势 3. 经常发布可用的软件,发布间隔可以从几周到几个月,能短则短 4. 业务人员和开发人员在项目开发过程中

构建之法第五周感想 敏捷流程和MSF

这周我学习的是敏捷流程和MSF的知识.敏捷流程是一系列价值观和方法论的集合.敏捷开发的原则是:1.尽早并持续交付有价值的软件以满足顾客的需求2.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势.敏捷流程的步骤是:第一步,找出完成产品需要做的事:第二步,决定当前的冲刺需要做的事情:第三部,冲刺:第四部,得到软件的一个增量版本:第四步,放松一下,总结上一次的经验教训,争取下一次做的更好.所以敏捷流程的经验教训是:敏捷宣言表明的是一些优先级,不必当作教条来争论:在复杂的项目里,要让一线团队成

《构建之法》学习(5)——团队和流程

<构建之法>学习(5)--团队和流程 1.非团队和团队   团队共同的特点: 团队有一致的集体目标,团队要一起完成这目标 团队成员有各自的分工,互相依赖合作,共同完成任务 2.软件团队的模式       一窝蜂模式       主治医师模式 有首席程序员,他/她负责处理主要模块的设计和编码,其他成员从各种角度支持他/她的工作.       明星模式 主治医师模式运用到极点,可以蜕化为明星模式,在这里,明星的光芒盖过了团队其他人的总和.       社区模式 社区由很多志愿者参与,每个人参与自己

《构建之法—现代软件工程》读书笔记之——敏捷开发

敏捷开发是一系列价值观和方法论的集合.在敏捷的大旗下,我们可以看到好几种软件开发的方法论,我们在这里主要分析Scrum这个方法论. 从Scrum方法论中分析,敏捷开发一共分四步: 第一步:找出完成产品需要做的事情--Product Backlog Backlog翻译成"积极的工作","待解决的问题","产品订单".产品负责人主导大家对于这个Backlog进行增删改的工作.每一项工作的时间估计为天. 第二步:决定当前的冲刺需要解决的事情--Spri

构建之法(概论,个人技术和流程)

构建之法这本书第一章给我们讲述了软件以及软件工程的含义. 软件=程序+软件工程.书中用编写出加减法题目的程序的例子生动形象的说明了程序,软件,工程之间的关系,以及软件工程的一些概念.程序,在这里指的是源程序,就是一行行的代码.他们是建立在数据结构上的一些算法.但软件工程的内容远不止这些.软件工程的核心部分包括和软件开发活动(构建管理.源代码管理.软件设计.软件测试.项目管理)相关的内容.广义上的软件工程也包括用户体验.用户界面设计等.所以,一个推论是:软件=程序+软件工程,一个扩展的推论是:软件