团队和流程
1.团队和非团队的区别
非团队:乌合之众,临时聚集的,各自完成任务就走人,没有集体的一致的目标。
团队:有一致的集体的目标,团队要一起完成这目标。有各自的分工,互相依赖合作,共同完成任务。
2.软件团队模式
①一窝蜂模式
一个欢乐而随意的模式,一群人开始写代码,希望能写出好的软件,这是团队模式最开始的样子。
②主治医师模式
就像手术台上,有一个主刀医师,其他人各司其职,为主刀医师服务。团队中有首席程序员,主要负责处理主要模块的设计和编码,其他成员从各种角度支持他的工作。
③明星模式
主治医师模式运用到极点的模式。明星的光芒盖过了团队其他人的总和。
④社区模式
“众人拾柴火焰高”,不意味着“随意”,每个人参与自己感兴趣的项目,贡献力量,大部分人不拿报酬。
⑤业余剧团模式
这样的团队在每一个项目中,不同的人会挑选不同的角色。也就是说,在下一个项目中,他们的角色也会随之改变,并不会完全相同,但是也会听从一个中央指挥的指导和安排。
⑥秘密团队
一些软件项目在秘密状态下进行,别人不知道他们具体在做什么。团队内部有极大的自由,较高的热情,没有外界的干扰。
⑦特工团队
软件行业的一些团队由一些有特殊技能的专业人士组成,负责解决一些棘手而有紧迫性的问题。
⑧交响乐团模式
软件领域处于稳定成长阶段的时候,众多大型软件公司的开发团队就会采取这种模式,特点就是家伙多,门类齐全;各司其职,各自有各自的专场。
⑨爵士乐模式
不靠谱,没有现场指挥,平时有编曲者协调和指导乐队,人数较少。
⑩功能团队模式
具备不同能力的同事们平等协作,共同完成一个功能。他们之间没有管理和被管理的关系,小组内的交流比较频繁。
⑪官僚模式
脱胎于大机构的组织架构,几个人报告给一个小头目,几个小头目报告给中头目,依次而上。成员之间不光有技术方面的合作和领导,同时还混进了组织上的领导和被领导的关系。跨组织的合作变得比较困难,因为各自头顶上都有不同的老板。
3.开发流程
①写了再改模式
和一窝蜂团队模式非常像,不需要太多其他准备或相关知识,大家上来就写代码,也许就能写出来,写不出来就改,也许能改好。
②瀑布模型
单向、不可逆的生产过程。产品大多遵循【分析->设计->实现->销售->维护】这个流程。
③统一流程
重计划,重事先设计,重文档表达。统一流程把软件开发的各个阶段整合在一个统一的框架里。主要完成的流程为:业务建模、需求、分析和设计、实现、测试、部署、配置和变更管理、项目管理、环境、初始阶段、细化阶段、构造阶段、交付阶段。
④老板驱动的流程
由行政领导主导,或者由公司的老板驱动。
⑤渐进交付的流程
把产品最核心的功能用最小的成本实现出来,然后快速征求用户意见。要求早获得用户反馈,可以在产品完成之前就发布,它也强调产品的核心价值,为了突出核心功能,别的辅助功能可以不考虑或者用别的平台提供的服务来代替。
4.模式和流程的共同点
①使用妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的
②团队的各个成员对团队的目标,角色,产品都有统一的理解
③尽量使用成熟的技术和做法
④尽量多地收集数据,并用数据来帮助团队做出理性的决定
⑤制定切合实际的计划和承诺,团队计划要由负责具体执行的角色来制定
⑥增加团队的自我管理能力
⑦专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计工作