文档章节

阅读《构建之法》,谈对理想团队模式构建的设想和对软件流程的理解

乔胜超
 乔胜超
发布于 2016/03/24 17:05
字数 865
阅读 28
收藏 0

       一、我们在开发、运营、维护软件的过程中有很多技术、做法、习惯和思想。软件工程把这些相关的技术和过程统一到一个体系中,叫做“软件开发流程”,软件开发流程的目的是为了提高软件开发、运营和维护的效率,以及提升用户满意程度、软件的可靠性和可维护性。

       瀑布模型。瀑布模型是最早出现的软件开发模型,在软件工程中占有重要的地位,它提供了开发的基本框架。从瀑布模型开始的各种模型都有一个共同点:重计划,重事先设计。重文档表达。这一类的方法中集大成者要算Rational统一流程(RUP)。RUP把软件开发的各个阶段整合在一个统一的框架里。

       要完成一个复杂的软件项目,团队的各种成员在不同阶段做不同的事情,这些不同类型的工作在RUP中叫做规程或者工作流。简单的说包括:业务建模、需求、分析和设计、实现、测试、部署、配置和变更管理、项目管理、环境几方面。

      

       二、一个团队,首先要有一致的集体目标,团队要一起完成这个目标,但是一个团队的成员不一定要同时工作。其次。团队成员要有各自的分工,互相依赖合作,共同完成任务。

       一个理想的团队,应该有团队贡献维度,就像GE公司那样。把任务做得最好,贡献在最上面的20%的人员给予最好待遇,而做的最差的,贡献最少的10%给予明显不同的待遇。这样可以让最后的人警醒一下,而且也可以让公司给予人员不同的水平发布不同程度的任务。

       一个团队,想要良好的合作,需要经历几个不同的阶段。最主要的是中间的磨合阶段,每个人都会有自己的个性和独特的见解,这就需要队员们努力去磨合。一旦磨合完成,一个团队的工作效率将会大大上升。


       三、TSP原则:抽象总结了优秀的模式和流程的共同点。1.使用妥善定义的流程,流程中的每一步都是可以重复、可以衡量结果的。2.团队的各个成员对团队的目标,角色,产品都有统一的理解。3.尽量使用成熟的技术和做法。4.尽量多的收集数据,并用数据来帮助团队做出理性的决定。5.制定切合实际的计划和承诺,团队计划要有负责具体执行的角色来制定。6.增加团队的自我管理能力。7.专注于提高质量,争取在软件生命周期的早期发现问题。最有效提高质量的办法是做全面而细致的设计工作。

       这些原则虽然抽象,但是每个团队在做Postmortem的时候,可以对照检查,看看自己的团队在刚刚过去的软件生命周期到底提高了多少。

     

 

© 著作权归作者所有

共有 人打赏支持
乔胜超
粉丝 0
博文 3
码字总数 1988
作品 0
浦东
私信 提问
2013年"其实你不用去远方--长沙十月好代码"活动

时间:2013年10月20日(星期日)下午13:30(13:00开始签到) 地点:湖南师范大学外国语学院515学术报告厅 收费:本次活动不收取任何费用。 报名:请点击 http://city.oschina.net/changsha/e...

王蓉
2013/10/09
1K
20
精益设计Lean UX 读书笔记

第一部分 简介及基本理念 第1章 为什么要用 Lean UX Lean UX 是一种新的设计流程。 Lean UX 是一种新的工作思维方式。 Lean UX 是一种管理软件的方式。 第2章 基本理念 2.1 Lean UX的三大基础...

lilugirl
2014/04/26
0
0
智慧城市路在何方?——浅谈智慧城市在管理决策中应用的一些设想

本文共19622字,阅读可能需要40分钟,共分为三部分: 1.初心篇:为什么需要智慧城市以及什么是智慧城市? 2.操作篇:如何建设智慧城市? 3.设想篇:一些关于智慧城市的思考及可能的远景应用设...

南国乐
07/11
0
0
不会阅读源码?那是因为你还没看过这篇文章

摘要:随着越来越多的公司使用敏捷开发,能够阅读别人的代码比以往显得更重要。这就需要学习一些如何提高这项技能的技巧。本文提供了几种提高代码阅读技巧的方法。 在软件开发人员的职位描述...

伊竹凌
08/24
0
0
【2018新年巨献】像阿里巴巴一样高效工作!(含视频、文章、PDF文件)

阿里巴巴逐年增加的双11营业额和财年集团收入的背后隐藏着怎样的秘密?这18年来,它又是用怎样的工作方法、工作形式打造出高效、创新的企业帝国。带你全方位了解阿里的开发、产品、运营、销售...

云效平台
2017/12/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

码云项目100,水一发

简单回顾一下: 早期构想最多的,是希望能将PHP一些类和编码分区做得更细,所以很多尝试。但不得不说,PHP的功能过于单一,是的,也许写C/C++扩展,可以解决问题,那我为什么不用C#或者Golan...

曾建凯
今天
3
0
Spring应用学习——AOP

1. AOP 1. AOP:即面向切面编程,采用横向抽取机制,取代了传统的继承体系的重复代码问题,如下图所示,性能监控、日志记录等代码围绕业务逻辑代码,而这部分代码是一个高度重复的代码,也就...

江左煤郎
今天
4
0
eclipse的版本

Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环...

mdoo
今天
3
0
SpringBoot源码:启动过程分析(一)

本文主要分析 SpringBoot 的启动过程。 SpringBoot的版本为:2.1.0 release,最新版本。 一.时序图 还是老套路,先把分析过程的时序图摆出来:时序图-SpringBoot2.10启动分析 二.源码分析 首...

Jacktanger
今天
6
0
小白带你认识netty(二)之netty服务端启动(上)

上一章 中的标准netty启动代码中,ServerBootstrap到底是如何启动的呢?这一章我们来瞅下。 server.group(bossGroup, workGroup);server.channel(NioServerSocketChannel.class).optio...

天空小小
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部