这次我读了《构建之法》的第五章——团队和流程
部分总结摘抄:
1.非团队和团队
团队有一致的集体目标,团队要一起完成这目标。
团队成员有各自的分工,互相依赖合作,共同完成任务。
2.软件团队的模式
2.1主治医师模式
有一个主刀医师,其他人为其服务。
2.2明星模式
将主治医师模式运用到极点,蜕化为明星模式。
2.3社区模式
社区的很多志愿者,每个人参与自己感兴趣的项目,贡献力量,大部分人不拿报酬。
2.4业余剧团模式
在一个项目中,不同的人挑选不同的角色。
2.5秘密团队
软件项目在秘密状态下进行,别人不知道他们具体在做什么。
2.6特工团队
团队由有特殊技能的人士组成,负责解决一些棘手有紧迫性的问题。
2.7交响乐团模式
家伙多,门类齐全。各司其职,同时看指挥,重在执行。
2.8爵士乐模式
不靠谱,没有现场指挥,人数较少。
2.9 功能团队模式
具备不同能力的同事们平等协作,共同完成一个功能。
2.10官僚模式
脱胎于大机构的组织架构,几个人报告给一个小头目,几个小头目报告给一个中头目,依次而上。
3.开发流程
软件开发流程的目的是为了提高软件开发、运营和维护的效率,以及提升用户满意度、软件的可靠性和可维护性。
写了再改模式;瀑布模型;瀑布模型的各种变形;Rational Unified Process 统一流程;老板驱动的流程;渐进交付的流程;TSP原则。
个人体会:
在这学期我们进行了团队项目的开发。感觉很多团队的模式都是主治医师模式,即一个大佬负责编程序,其他人为其服务。如书中所言:一个学生干活,其余学生跟着打酱油。
这种模式的弊端是非常大的,只会造成强者更强,弱者更弱,甚至被淘汰。
而改进方法即应该将团队模式发展为功能团队模式,具备不同能力的同学们平等协作,共同完成一个功能。不可否认团队中的成员能力参差不齐,但在做自己擅长的部分时同时向他人学习来弥补自己的短处。也许这样,将定能开发出第一章所说的“足够好”的软件了。