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

           团队和流程

1.团队和非团队的区别

  非团队:乌合之众,临时聚集的,各自完成任务就走人,没有集体的一致的目标。

  团队:有一致的集体的目标,团队要一起完成这目标。有各自的分工,互相依赖合作,共同完成任务。

2.软件团队模式

  ①一窝蜂模式

    一个欢乐而随意的模式,一群人开始写代码,希望能写出好的软件,这是团队模式最开始的样子。

 ②主治医师模式

    就像手术台上,有一个主刀医师,其他人各司其职,为主刀医师服务。团队中有首席程序员,主要负责处理主要模块的设计和编码,其他成员从各种角度支持他的工作。

 ③明星模式

    主治医师模式运用到极点的模式。明星的光芒盖过了团队其他人的总和。

 ④社区模式

    “众人拾柴火焰高”,不意味着“随意”,每个人参与自己感兴趣的项目,贡献力量,大部分人不拿报酬。

 ⑤业余剧团模式

    这样的团队在每一个项目中,不同的人会挑选不同的角色。也就是说,在下一个项目中,他们的角色也会随之改变,并不会完全相同,但是也会听从一个中央指挥的指导和安排。

 ⑥秘密团队

    一些软件项目在秘密状态下进行,别人不知道他们具体在做什么。团队内部有极大的自由,较高的热情,没有外界的干扰。

 ⑦特工团队

    软件行业的一些团队由一些有特殊技能的专业人士组成,负责解决一些棘手而有紧迫性的问题。

 ⑧交响乐团模式

    软件领域处于稳定成长阶段的时候,众多大型软件公司的开发团队就会采取这种模式,特点就是家伙多,门类齐全;各司其职,各自有各自的专场。

 ⑨爵士乐模式

    不靠谱,没有现场指挥,平时有编曲者协调和指导乐队,人数较少。

 ⑩功能团队模式

    具备不同能力的同事们平等协作,共同完成一个功能。他们之间没有管理和被管理的关系,小组内的交流比较频繁。

 ⑪官僚模式

    脱胎于大机构的组织架构,几个人报告给一个小头目,几个小头目报告给中头目,依次而上。成员之间不光有技术方面的合作和领导,同时还混进了组织上的领导和被领导的关系。跨组织的合作变得比较困难,因为各自头顶上都有不同的老板。

3.开发流程

 ①写了再改模式

    和一窝蜂团队模式非常像,不需要太多其他准备或相关知识,大家上来就写代码,也许就能写出来,写不出来就改,也许能改好。

 ②瀑布模型

    单向、不可逆的生产过程。产品大多遵循【分析->设计->实现->销售->维护】这个流程。

 ③统一流程

    重计划,重事先设计,重文档表达。统一流程把软件开发的各个阶段整合在一个统一的框架里。主要完成的流程为:业务建模、需求、分析和设计、实现、测试、部署、配置和变更管理、项目管理、环境、初始阶段、细化阶段、构造阶段、交付阶段。

 ④老板驱动的流程

   由行政领导主导,或者由公司的老板驱动。

 ⑤渐进交付的流程

    把产品最核心的功能用最小的成本实现出来,然后快速征求用户意见。要求早获得用户反馈,可以在产品完成之前就发布,它也强调产品的核心价值,为了突出核心功能,别的辅助功能可以不考虑或者用别的平台提供的服务来代替。

4.模式和流程的共同点

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

 ②团队的各个成员对团队的目标,角色,产品都有统一的理解

 ③尽量使用成熟的技术和做法

 ④尽量多地收集数据,并用数据来帮助团队做出理性的决定

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

 ⑥增加团队的自我管理能力

 ⑦专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计工作

 

posted @ 2017-05-06 14:49  还有那半人心丶  阅读(92)  评论(0编辑  收藏  举报