《20171103-构建之法:现代软件工程-阅读笔记》

就目前的团队开发的进度与不足之处,我又回过头来再次阅读了团队与软件开发流程相关的知识点。

 

一名码农心中的话:“作为一名按部就班的码农,多么希望能有一个稳定的环境加高效的环境,然后能高效的开发出别人伸出大拇指的功能,并且能够钱多事少(没有bug,好像又做梦了)。实现这一切的基础首先你得有过人的编程能力和超强的阅历。”

第五章 团队与流程

Question:什么是团队?团队一般有哪几种模式?
所谓团队,首先要有一致的集体目标,团队要一起完成目标。团队内部有自己的分工,互相依赖合作,共同完成任务。
关于模式,书中给出以下几种:

  1. 主治医生模式:有一个主刀医师,其他人都为医师服务。
  2. 明星模式:极端的主治医生模式,明星的作用超过其他人总和,靠一己之力力挽狂澜。
  3. 社区模式:志愿者参加,开源软件大部分都采用这种方式,不过成功的社区对代码的审查和签入质量非常严格。
  4. 业务剧团模式:团队中每个人选择不同的角色,下一场可能换另一种模式。个人觉得想多了解自己项目的体系,可以尝试使用这类模式,当然前提是人手充足。
  5. 秘密团队:秘密就是别人不知道,自由度高,一般的情况下不会使用这种。
  6. 交响乐模式:稳定成熟的团队。
  7. 爵士乐模式:自由有创造力,不拘泥于某些条条框框,某些土豪公司的实验室可能使用的是这种模式。
  8. 功能团队模式:绝大多数的软件公司既有的团队模式。
  9. 官僚模式:小公司、落后公司使用的制度,然饿国内确实有许多就是这样类型的团队。
开发流程
  1. 写了再改模式:此模式不适合成熟点规模的公司,只适合哪些 不常用的程序、用完就扔的原型或演示程序。
  2. 瀑布模式:非常经典的模式,很多场景现在还是这种模式或者在此基础上做一些修改。
  3. 瀑布模式的各种变形:包括生鱼片模式、大瀑布带着小瀑布等等相关模式。
  4. Rational Unified Process统一流程(RUP):瀑布模式有这个特点:重计划,重事先设计,重文档表达。而RUP是把软件开发的各个阶段整合到统一的框架里面,包括:业务建模、需求、分析和设计、实现、测试、部署、配置和管理、项目管理、环境、初始阶段、细化阶段、构造阶段、交付阶段。
  5. 老板驱动的流程:行政领导主导的流程,若老板不懂技术,弊病太多,不建议。
  6. 渐进交付流程,MVP和MBP:MVP(Minimum Viable Product,最小可行产品):提供最核心功能,抢占市场,再根据用户反馈改进。MBP(Maximal Beautiful Product,最强最美产品):产品更了解用户需求,提高最全最美的功能,如iphone4,不过对产品有非常高的要求。
  7. TSP(Team Software Process)的原则:(1)使用妥善定义的流程,流程中的每一步都是可以重复的、可以衡量的结果。(2)团队的各个成员对团队的目标,角色,产品有统一的理解。(3)尽量使用成熟的技术和做法。(4)尽量多采集数据,并用数据来帮助团队作出理性的决定。(5)制定切实可行的计划和承诺,团队计划要由负责具体执行的角色来制度。(6)增加团队的自我管理能力。(7)专注于提升质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法师做全面而细致的设计工作。

总的来说,这章内容较为理论化,干货不多,只怪自身太low了,只等能力强的时候回头看或许会有更多的感悟,因为切身经历过才会懂得更多。

posted @ 2017-11-03 11:01  Among  阅读(153)  评论(0编辑  收藏  举报