《构建之法》读书笔记w5

从第4章中所描述的“双人合作”中的一个2个组合进化成一群人的团队,本第5章则介绍不同软件团队可能拥有的工作模式和常用的开发流程。

团队并不会是一群乌合之众临时聚集所组成的,一个标准团队有一致的团体目标,团队要一起完成这目标。而且一个团队的成员不一定要同时工作,成员间有各自的分工,互相依赖合作,共同完成任务。

软件团队有各种形式,适用于不同的人员和需求。有不成熟的“一窝蜂模式”,一人主管的“主治医师模式”和“明星模式”,志愿合作的“社区模式”和“业余剧团模式”,团队自由度高且没有干扰的“秘密团队”,专门解决棘手时间的“特工团队”,软件处于稳定成长阶段且大多软件公司采用的“交响乐团模式”(门类齐全,各司其职,听从指挥,重在执行),强调个性化,有创意的回应的“爵士乐模式”(与“交响乐团模式”对立)。还有,很多软件团体最后往往都变为“功能团队模式”,就是具备不同能力的同事平等协助,共同完成一个功能。项目完成后又重新组织,去完成下一个功能。最后,一个“官僚模式”使得团队有了组织上领导和被领导的关系,使得合作变难。

除了团队结构模式,一个软件团队的开发工作流程也各有不同,各有好坏。其中,最出名的就是在软件刚兴起时从别的成熟行业(硬件设计、建筑工程)借鉴改成的“瀑布模型”。其遵循“前期程序设计、分析、程序设计、编码、测试、使用”这个基本模式步骤。因为用户的及早介入、讨论、复审都是很重要的,应该让顾客正式的、深入的、持续的参与到项目中来,但瀑布模式要完成后才能发现一些问题 ,使回去修改会很困难。使用瀑布模式要对软件定义明确,每一步都要验证,技术成熟且成员熟悉流程和技术。

统一流程(RUP),想瀑布模式一样重计划,重事先设计、重文档表达,特点是把软件开发的各个阶段整合在一个统一的框架里。RUP的规程(工作流)分为业务建模、需求、分析和设计、实现、测试、部署、配置和变更管理、项目管理、环境。RUP的流程分为初试阶段、细化阶段、构造阶段和交付阶段。(迭代开发图P99)还有渐渐开发的流程,MVP(最小可行产品)和MBP(最强最美产品)。都是为了从“开发、发布、听取反馈、根据反馈做改进”循环中走出来。

团队软件工程的原则是:

1.使用妥善定义的流程,流程中的每一步都是可以重复,可以衡量结果的。

2.团队的各个成员对团队的目标、角色、产品都有统一的理解。

3.尽量使用成熟的技术和做法。

4.尽量多收集数据,并用数据为团队做理性决定。

5.制定切合实际的计划和承诺,团队计划要由负责具体执行的角色来制定

6.增加团队的自我管理能力

7.专注于提高质量,争取在软件开发早期发现问题,做全面且细致的设计工作。

时间: 2024-10-03 08:39:31

《构建之法》读书笔记w5的相关文章

构建之法——读书笔记(8)

<构建之法>第十&十一章 主要讲述了在软件设计前期的需求分析问题上的方法和实践经验,分为"典型用户和场景"以及"软件设计与实现". 其中第十章大部分内容包含: 用户的分类(典型用户可以包括以下内容: 1. 名字(越自然越好) 2. 年龄(不同年龄和收入的用户有不同的需求) 3. 收入 4. 代表的用户在市场上的比例和重要性(比例大不等同于重要性高,如付费的用户比例较少,但是影响大,所以更重要 5. 使用这个软件的典型场景 6. 使用本软件/服务的

构建之法读书笔记之五

今天我学习了构建之法的第五章——典型用户与典型场景.我们都知道,软件开发最终都是服务于用户,所以用户主导着我们的开发方向.软件开发离不开用户,所以能够搞清楚用户隐藏的要求也是软件开发过程中的的一个重要的课题,这就涉及到了典型用户. 典型用户,顾名思义,能够代表大部分用户的用户.很多时候,不考虑典型用户的话,软件的开发不可能把所有的方面都做的尽善尽美,开发人员不可能把所有的方面都能考虑到.这时候,典型用户就站了出来.但同时,典型用户也有两面性——受欢迎的与不受欢迎的.那些能够按照开发者期望进行操作

软件 = 程序 + 软件工程(构建之法读书笔记一)

在我正式开始阅读这本书之前,我对于软件工程这个词汇的概念还是模糊的,认为它只是停留在是一门学科,一个专业,或者是一大堆硬生生的理论知识,然而当我读完构建之法这本书的推荐序和第一,第二版前言开始,我就深刻意识到我之前对于软件工程的肤浅认识是多么错误. 我看书一般喜欢从从书的封面开始看起,或许这也是大多数人看书的习惯,·在本书的封面素描着一副鲁班锁,刚开始让人感觉有点奇怪,明明是一本讲软件工程的书,为什么要用鲁班锁做为封面图案呢?原来玄机深藏于鲁班锁的内部,这鲁班锁从外部看,是严丝合缝的十字立方体,

构建之法读书笔记

周末我抽空将<构建之法>第一章读完,感觉对软件工程又有了新的认识. <构建之法>开篇便写到:软件=程序+软件工程.我认为这是对软件的一种及其精炼的解释.程序即是指一行行代码,软件工程则包含了各种软件开发活动,包括构建管理.源代码管理.软件设计.软件测试.项目管理等等,是把系统的.有序的.可量化的方法应用到软件的开发.运营和维护上的过程. 作为一名机械专业的学生,我认为软件设计是我们必须掌握的一门技能.机械行业,除了大家普遍所能看到的机械结构,每一个设备还包含有控制.软件等部分,一个

构建之法读书笔记_1

本周我快速地阅读了一遍<构建之法>,提出以下几个问题: 1在满足客户需要的同时,我们有些什么原则需要坚持. 2软件测试方法有什么?做软件测试只是找BUG吗? 3什么是敏捷流程?怎样去根据自己的项目选择开发方法? 4第三章中有提及考级的相关内容,但是在社会工作中,实践经验比证书更重要,我们应该如何平衡理论知识与实践之间的关系? 5当今市场对软件有哪些主要需求,安全软件并不能填满所有的漏洞,它的发展前景真的有那么好吗?

构建之法读书笔记之三

在学习了构建之法第四章,第五章之后,写一下我的感想. 代码规范一直是我们在学习过程中一个老生常谈的话题.专业技能过硬与否只是一方面,代码规范同样也是一个举足轻重的方面.比如最开始的注释,在我们写一些很短的代码十几行,几十行代码的时候,如果不写注释,说白了,那么短的代码,谁都能找得到.但是,万一代码量上了三位数呢.几百行的代码,找那么一个错误,难度可是不小.再加点难度,四位数,五位数,甚至做项目的时候呢.没有注释,八成项目经理都不要你了. 代码规范有很多方面,处了注释,还有缩进,行宽,括号,分行,

构建之法读书笔记之二

由于近几周进行构建之法的学习很少,所以这周一下子看了三个周期的内容. 既然选择了软件工程专业,就决定了我们将来要朝着软件工程师的方向发展.那么,问题来了,如何成为一名合格的软件工程师,在成为一名软件工程师的过程中,我们又有那些需要注意和学习的地方呢. 软件工程师的成长道路上,首先对我们自己的专业技能有很高的要求.所以第一步,我们要丰富自己的专业技能,并奇瑞要很好的衡量自己的能力.这样一来,就有涉及到了衡量我们能力的标准.这里又有一个问题,对于这些衡量标准,我们不能抱着仅仅不被OUT的态度,不能只

构建之法读书笔记3

软件开发流程: 写了再改模式:适合只用一次的小程序 RUP统一流程:将不同类型的工作划分为规程和工作流. 老板驱动的流程:老板在整个流程中占据领导地位. 渐进交付的流程:现发布一个版本,然后根据反馈进行修改然后再发布,不断反复直到用户满意或无法进行下去时停止.MVP:最小可行产品,即先做出一个实现了关键功能的很小的软件供用户使用体验,然后根据用户反馈继续开发.MBP:最强最美产品,即等到产品做得完美了后再进行发布. TSP原则:优秀的模式和流程的共同点的总结. 瀑布模型以及瀑布模型的各种变形:适

构建之法——读书笔记(6)

第8章 需求分析 8.1 软件需求 寻找需求: 1. 获取和引导需求(Elicitation) 软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出对软件的需求. 2. 分析和定义需求(Analysis&Specification) 这是指对从各个方面获取的需求进行规整,定义需求的内涵,从各个角度将需求量化(需求实现的最后期限,实现需求大致所需的时间和资源成本,各个不同需求的优先级,需求带来的收益,等等). 3. 验证需求(Validation) 软件团队要跟利益相关者沟

构建之法读书笔记01

第一章讲述了学生与老师的关系,很多内容都是老师上课所涉及到的,那就是如何让我们学好软件工程,在很多时候我们都是有惰性的,需要老师给与压力,也就是老师说的要想让我们真的学会游泳,就要下水,同时老师还需要踹我们一脚,不仅是在学士或者在游泳的过程中,都要让我们感到压力,那样才能激发我们求生的本能,同时能够让我们创造奇迹. 软件工程融汇了很多技术,书中更是列出了十多种相关科目,在感觉到博大精深的同时,有深深的感觉学习这门的压力,看到了软件工程的目标,就是创造“足够好”的软件,而足够好也是给我们纠正了,不