zoukankan      html  css  js  c++  java
  • 《构建之法》读书笔记第5章——团结就是力量?

    本章节讲的是团队编程
    随着现在软件规模越来越大,团队编程的作用也愈加凸显。
    团队模式有以下模式:

    1. 一窝蜂模式:一堆人上来就干,没有协调性因为这样的团队存活时间不长,所以被观察到的不多
    2. 主治医师模式:首席程序猿工作,其余人打辅助,不少学校的软件工程的团队作业沦为这种模式,只靠团队中一两个完成任务,其余人打酱油。
    3. 明星模式: 主治医生的极端版本
    4. 社区模式:Unix和Linux属于这种,依靠严格的质量管理和志愿者参与完成
    5. 业余剧团模式:学生的实践培训项目大概属于这种
    6. 秘密团队模式:苹果研发发Macintosh以后的系统和不少创业公司团队属于这种
    7. 特工团队:由特殊技能的专业人士组成,比如早年解决千年虫的团队和负责网络安全的团队
    8. 交响乐团团模式:大多数大型软件公司开发团队采用这种模式,比如office系列
    9. 爵士乐模式:比较散漫自由
    10. 功能团队模式
    11. 官僚模式:即老板驱动

    开发流程模式:软件开发过程中有很多种类的流程方法,目的是提高软件开发、运营和维护的效率,以及提升用户满意度、软件的可靠性和可维护性。书中总结的开发流程模式如下:

    1. 写了再改
      不少软件工程课程的作业属于这种模式:

    2. 瀑布模型
      img

    3. 统一流程模式(RUP,Rational Unified Process )
      把软件开发的各个阶段整合在一个统一的框架里,包括业务建模、需求、分析和设计、实现、测试、部署、配置和变更管理、项目管理、环境。并且每个阶段设置一个里程碑(milestone),分为初始、细化、构造、交付四个阶段,并且每个阶段可以迭代几次

    4. 老板驱动模式
      由公司老板或行政主管直接推动,在团队尚不成熟或者领导水平较高方能显出效果,但在领导是外行或者领导不在、不称职的时候会很麻烦。

    5. 渐进交付和MVP
      不断重复“开发→发布→听取反馈→根据反馈做改进”四个阶段,直到用户满意或者钱用完。09年开始一些互联网团队采用MVP方法,即—Minimal Viable Product,最小可行产品,具体做法是:把产品最核心的功能用最小的成本实现出来(或者描绘出来),然后快速征求用户意见。

    在介绍完团队模式和开发流程模式后,书中又介绍了优秀模式和流程的共同点(CMU软件工程学院把这些共同点抽象总结为Team Soft-ware Process(TSP)的原则):

    使用妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的。
    2.团队的各个成员对团队的目标,角色,产品都有统一的理解。
    3.尽量使用成熟的技术和做法。
    4.尽量多地收集数据(也包括对团队不利的数据),并用数据来帮助团队做出理性的决定。
    5.制定切合实际的计划和承诺,团队计划要由负责具体执行的的角色来制定(而不是从上级而来)。
    6.增加团队的自我管理能力。
    7.专注于提高质量,争取在软件生命周期的早期发现问题。

    团结就是力量,但是团队如何“团结”起来,同学们在完成团队作业前也可以好好看看这一章

  • 相关阅读:
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (四) 自动化部署
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (三) 服务观测
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (二) 部署微服务程序
    阿里云 k8s 部署 Spring Cloud Alibaba 微服务实践 (一) 部署 Nacos
    C++知识点
    libmkl 学习笔记
    基于tesseract-OCR进行中文识别
    poco编译与运行
    Linux下的I/O复用与epoll详解(转载)
    高并发网络编程之epoll详解(转载)
  • 原文地址:https://www.cnblogs.com/deerCode/p/7788940.html
Copyright © 2011-2022 走看看