文档章节

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

乔胜超
 乔胜超
发布于 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/09
2.8K
57
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
敏捷,文档,人才,文化——谈小公司研发管理

下面是最近对公司研发管理的一些思考,和大家一起讨论。 一:关于敏捷: 1)敏捷是否适合电信行业? 对于想互联网这样“小而快”的行业,敏捷开发无疑是适合的。但是对于电信行业这种“大而笨...

晨曦之光
2012/06/06
150
0
不会阅读源码?那是因为你还没看过这篇文章

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

伊竹凌
2018/08/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

IntelliJ IDEA创建第一个Spring boot项目

下载maven:http://maven.apache.org/download.cgi 开发工具:IntelliJ IDEA JDK: Java JDK1.8 ## 1.为了第一个项目初始化速度加快,我们先来配置maven: 添加配置: 选择Build,Execution,Dep...

凌宇之蓝
24分钟前
0
0
Coding and Paper Letter(四十五)

资源整理。 1 Coding: 1.Python库gempy,一种基于Python的开源三维结构地质建模软件,它允许从界面和方向数据隐式(即自动)创建复杂的地质模型。 它还支持随机建模以解决参数和模型的不确定...

胖胖雕
48分钟前
1
0
golang 声明一个指定长度的数组,用于后续添加

很多时候我们需要声明一个指定长度的数组,用于后续添加.在使用go的时候要注意,下面的第一个例子会有报错 "non-constant array bound",应该使用第二个例子. Length 是动态的值 有报错的例子 ...

漫步海边小路
51分钟前
0
0
Java NIO示例

Server端 /** * 《构建高性能的大型分布式Java应用》 * 书中的示例代码 * 版权所有 2008---2009 */package book.chapter1.tcpnio;import java.net.InetSocketAddress;i...

月下狼
56分钟前
0
0
发布xxl-job executor dotnet core 执行器的实现

DotXxlJob [github][https://github.com/xuanye/DotXxlJob] xxl-job的dotnet core 执行器实现,支持XXL-JOB 2.0+ 1 XXL-JOB概述 [XXL-JOB][1]是一个轻量级分布式任务调度平台,其核心设计目标...

假正经哥哥
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部