《构建之法》——软工学习进度(5)

敏捷流程

1.定义: 敏捷流程是一系列价值观和方法论的集合。流行做法的价值在得到肯定的同时,我们也发现敏捷的做法更能带来价值。

2. 敏捷开发的原则:

①.尽早并持续地交付有价值的软件以满足顾客的需求。

②.敏捷流程欢迎需求的变化,并利用这种变化来提高用户的竞争优势。

③.经常发布可用的软件,发布间隔可用从几周到几个月,能短则短。

④.业务人员和开发人员在项目开发过程中应该每天共同工作。

⑤.以有进取心的人为项目核心,充分支持信任他们。

⑥.无论团队内外,面对面的交流始终是最有效的沟通方式。

⑦.可用的软件是衡量项目进展的主要指标。

⑧.敏捷流程应能保持可持续的发展。领导、团队和用户应该能按照目前的步调持续下去。

⑨.只有不断关注技术和设计,才能越来越敏捷。

⑩.保持简明——尽可能简化工作量的技艺——极为重要。

?.只有能自我管理的团队才能创造优秀的架构、需求和设计。

?.时时总结如何提高团队效率,并付诸行动。

3.敏捷开发的步骤:

①找出完成产品需要做的事情。分析、细化、理清相互关系、估计工作量等工作。

②决定当前的冲刺需要解决的事情。团队成员能主导任务的估计和分配,他们的能动性得到较大的发挥。

③冲刺。较好的平衡了“交流”和“集中注意力”的矛盾。冲刺期间,团队通过每日例会来进行面对面的交流,又称每日例会,强迫每个人向同伴报告进度,迫使大家把问题摆在明面上。

④得到软件增量版本,发布给用户。在此基础上进一步计划增量的新功能和改进。

4.敏捷流程的问题:

① 怎样在计划中体现依赖关系

② 把一个任务分解到一个可以执行的冲刺任务时,我们要考虑一系列的因素。

③ 定义好任务究竟是什么,任务的完成到底意味着什么。

④ 谁来验证增量是否满足了事先的计划,如果发现了新的问题,改进了原来的计划,这是好事还是坏事。

5.总结:

这一章的内容主要向我们介绍了什么是敏捷流程,以及它的特点和作用,以及相应的步骤。以我的理解,敏捷流程就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

敏捷开发认为对变化进行响应的价值重于始终遵循固定的计划。他们最终的焦点是向用户交付尽可能多的价值。除了最简单的项目以外,用户不可能知道他们所需要的所有功能的每个细节。不可避免地在过程中会产生新的想法,也许今天看起来是必需的功能,明天就会觉得不那么重要了。随着小组获得更多的知识和经验,他们的进展速度会比开始的时候期望值慢或者快。对敏捷开发来说,一个计划是从某个角度对未来的看法,而具有多个不同的角度看问题是有可能的。

时间: 2024-09-30 07:05:04

《构建之法》——软工学习进度(5)的相关文章

《构建之法》——软工学习进度(2)

如何衡量一个软件工程师 如何衡量一个软件工程师?这是<构建之法>第三章的核心问题.第一章讲述了团队的流程,第三章则是对第一章的具体描述,从笼统的团队具体到个人.软件开发流程不光指团队的流程,还包括了个人开发流程,因为软件团队是由个人组成的,简而言之,个人在团队中也有独立的流程.那么问题来了,如果我们去面试,该如何定义我们自身呢?又或者说,看到一个同行的软件工程师,该如何形容他的技术? 第三章通过对足球的比喻,向我们形象的阐述了这个问题的关键.足球中有传接.盘带.射门等具体技术,映射到软件工程上

《构建之法》——软工学习进度(3)

合作与审核 首先是代码的规范问题.关于这个代码规范,我并没有花很多时间去阅读,可能是自己的习惯,代码风格一向都是简约而规范.就比如在写一些if语句的嵌套时,很多人都习惯了不加括号,即使加括号可能是多此一举但我还是习惯加括号,不为别的,就为自己甚至别人看上去能更加清楚,这并不是画蛇添足,我觉得更像是画龙点睛.不过这一节对变量的命名我倒是深有感触,我们习惯了教科书上的一些命名,所以有时候看到问题不假思索的就为变量命了书上常出现的名字.但是当我们之后再去复核时,我们往往不懂这些变量在这个问题中的意义,

《构建之法》——软工学习进度(7)

软件设计与实现 图形建模和分析方法:①表达实体和实体之间的关系: 思维导图:思维导图没有严格的语法定义,一般来说是从图形的正中开始写下一个概念,然后按照绘图者所关心的属性拓展.几乎每个人都能马上开始画图.思维导图形式灵活,适用于很多鼓励探索.发散思维的场合,但是它的图形元素缺乏严格的语法和语义. 实体关系图:着重于表现现实世界中的实体和它们之间的关系.在我们分析实体之间的关系时,这就是一个理解和抽象的过程.当我们要表示实体之间的静态关系时,ERD时一个合适的工具. UCD:用例图的元素简单,绘图

软工学习记1

这学期,我们分了方向,专业方向.也许向老师说的那样学习好的选了计科,我大概属于学习差的吧.高中的紧绷让我到了大学不知道该干嘛了,荒废了整个大一,到现在还不知道自己读了大学学会了干什么.现在我要追赶了,毕竟差的不是一点半点.分了方向,有了任务,也大概自导自己该干嘛了.开始感觉还是挺无从下手的,不过信心还是有的.也算亡羊补牢吧. 这俩星期自己抽空看了看这本构建之法.粗略明白了点要想开发一个堪称完美的软件是十分困难的.需要大量人力时间.软件等于程序加软件工程,软件开发的阶段不同,我们所需要的标准花费的

构建之法第八章学习心得

今天,我学习了构建之法第八章软件需求,人们为了解决现实社会和生活中的各种问题,要求助于软件.人们的需求五花八门,那么软件团队如何才能准确而全面地找到这些需求呢? 需求分析1.获取和引导需求 软件团队需要找到 软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出对软件的需求. 不同的项目需要不同的手段,这一步骤也被叫做"需求捕捉",形容真正的需求稍纵即逝,需要靠火眼金睛和敏捷的身手来发现并抓住它们.另外,很多时候用户并不知道自己确切的需求,或者不愿意表达完整的需求,软件团队需要设

《构建之法》小组学习心得

baba爱你小组  组长:阮俊  组员:钱洪章.黄维.光萍.张启飞.王学飞 这周我们小组学习了<构建之法>第八章需求分析的内容. 人们为了解决现实社会和生活的各种问题,要求助于软件.人们的需求五花八门,那么软件团队如何才能准确而全面的找到这些需求呢?主要有这几个步骤: 1.获取和引导需求 软件团队需要找到软件的利益相关,了解和哇挖掘他们对软件的需求,引导他们表达出真实的需求.另外,很多时候用户并不知道自己确切的需求,或者不愿意表达完整的需求,软件团队需要设身处地,替用户着想,引导出需求. 2.

软工学习笔记——代码规范

上大学以来写了这几年的代码,却一直没怎么关注过代码规范相关的问题,直到软工课上讲了之后,才开始有所顾及.上课的时候回头看看自己写过的那些代码,真是丑死了,几个月前自己写的代码现在就已经读不懂了. 看了书上的相关章节,对于我来说,我觉得我的代码主要注意这几点: 1. 少写冗余代码,已经用不到的代码段就应该删去.(我今天刚刚发现我的昆特牌Online项目中竟然还存在有两个没用的类) 2. 多利用空行来将代码小规模地分段. 3. 大段的无用代码不要一直注释着,该删就删.(我的项目里经常会有一大堆没用的

软工学习记4

随着学习的进程越走越远,我们的团队也更加确定.在人员分工.开发项目方面都做出了明确的规划.有了个目标,我们便不是那么迷茫,困惑着去学习,学习了这么久到底能干什么?这个问题很关键.我和我的队友们也达成了共识,决定尝试着去做一下一个基ASP动态网页开发技术的二手书贩卖系统.我们的分工也十分明确. 牟得力主要负责总体的规划,也就是我们的小领导.钱政捷主要负责数据库的建立和对接,杨子琪版式设计后期处理美化,我呢,就是开发ASP网页主题的构建咯. 对于一群对编程并不太擅长的学渣来说,一个有着太复杂功能的系

构建之法第二周学习体验

首先我学习了个人能力的衡量与发展.软件工程中有一项是软件开发流程,目的是为了提高软件开发.运营和维护的效率.但是软件开发流程不光是指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的.单个成员在团队中的流程包括:1.通过交流.实验.快速原型等方法,理解问题.需求或任务2.提出多种解决办法并估计工作量3.与相关角色交流解决问题的提案,决定一个可行的方案 4.执行,把想法变成实际中能工作的代码,同时验证方案的可行性和其他特性5.在测试环境中测试实现方案,修复Bug6.在解决方案发布出去后,对