http://www.extremeplanner.com/blog/2007/02/managing-distributed-software-teams.html
这篇blog文章讲的是如何管理分布式的软件开发团队。现如今许许多多的软件开发团队都面临跨办公室、跨楼层、甚至是跨地域、跨时区的协同合作开发,一个完整的团队被拆散成2个或者更多的小团队,如何管理好这样的“分布式”团队,值得我们思考。
这篇blog的作者给我们开了个好头,他整理了如下几点:
1- 让开发人员结对完成设计和编码,让组员保持沟通;
2- 让项目的信息可以在线看到;
3- 周期性的让组员面对面交流;
4- 每天都开会,会议不必很正式很长,主要目的是让所有人都对项目现状、自己的工作和组员们遇到的困难有所了解;
5- 使用多种沟通和交流的工具/平台,如电话、IM、blog、Wiki。
我觉得尤为重要的是:
1- 把项目信息放在一个方便的、大家都能看到的地方,并保持更新,这个可以通过Wiki来做,关键是需要专人维护,Wiki是死的人是活的,Wiki有多大价值完全在于维护它的人给它多少信息如何组织这些信息;
2- 保持沟通的畅通,随时掌握团队其他人的现状和遇到的问题,也让他人掌握自己的进展和困难,这就体现出daily meeting的重要。
分享到:
相关推荐
### 软件开发需求管理工具深度解析 在软件开发领域,需求管理是确保项目成功的关键环节之一。...无论是追求全面的协作能力、企业级的需求管理还是分布式团队的高效沟通,这三款工具都能在软件开发项目中发挥重要作用。
Git是一款强大的分布式版本控制系统,由Linux之父Linus Torvalds于2005年创建,主要用于管理和跟踪软件开发过程中的源代码变更。在“分布式源代码管理工具 Git 1.8.4 官方多语中文版”中,我们讨论的是Git的1.8.4...
配合"Incredibuild3"这样的工具,可以简化分布式编译的设置和管理过程。Incredibuild是一个流行的分布式构建系统,它支持多种编译器和构建工具,如Visual Studio、GCC等,能够无缝地集成到现有的开发流程中。通过...
通过管理不同的服务器,分布式系统可以将文件集中管理,建立统一的目录体系。用户只需要访问一个统一的目录,就可以找到所需的文件,而无需知道文件的实际物理位置。此外,文件实际上分布在加入共享环境的多台独立...
Git是世界上最受欢迎的分布式版本控制系统,它为软件开发团队提供了高效、灵活的代码管理方案。在本文中,我们将深入探讨Git的基本概念、常用命令以及一些高级技巧,帮助你更好地掌握这个强大的工具。 **一、Git...
Git是一种分布式版本控制系统,它通过特定的机制实现对代码的版本管理。这些机制主要体现在版本库本地化、快照保存、基于内容的寻址、快照合并等方面,下面我将一一介绍这些知识点。 1. 版本控制的重要性:在软件...
它被广泛应用于软件开发、文档管理以及协作项目,因其高效、灵活和可扩展性而受到全球开发者的青睐。由于Git的官方网站下载速度可能对某些用户来说较慢,这里提供了一个Windows版本的Git安装包,方便需要它的用户...
Borland CaliberRM 是一个基于 Web 和用于协作的需求定义和管理工具,可以帮助分布式的开发团队平滑协作,从而加速交付应用系统。该工具辅助团队成员沟通,减少错误和提升项目质量,提供了集中的存储库,能够帮助...
总的来说,`Go-git-bug`为开发者提供了一个集成了bug跟踪功能的Git工具,使他们能够在熟悉的Git环境中高效地管理bug,提高软件开发的效率和质量。通过了解和掌握`Go-git-bug`,开发者可以进一步优化其开发流程,提升...
3. 软件发布:管理员上传、审核、发布软件,包括软件信息(名称、版本、描述、截图等)和下载链接。 4. 软件搜索:提供搜索框,用户可以通过关键词查找所需软件。 5. 下载统计:记录每个软件的下载次数,为数据分析...
这些系统通过客户端-服务器模式或分布式模型来实现代码的管理。协同开发团队必须建立清晰的使用规范和流程,以减少错误和提高工作效率。 2. 持续集成与持续部署(CI/CD)的实施 持续集成与持续部署是现代软件开发...
通过电子邮件发送文件显然不能满足现代分布式团队的需求,因此需要使用软件版本控制系统(SVCS)来同步开发工作。文档中提到在过去,集中式服务器基础设施如CVS和SVN曾经非常流行,但现在越来越多的项目采用以Git为...
分布式内存数据库在现代软件开发中扮演着至关重要的角色,它们提供了高速的数据访问和处理能力,尤其是在大数据和实时分析场景下。Morpheus 是一款专为此目的设计的分布式内存数据库,其C++代码风格规范是确保代码...
Borland CaliberRM是一个基于Web的协作需求定义和管理工具,特别适合分布式开发团队。它强化团队间的沟通,减少误解,提升项目质量。CaliberRM提供集中的需求存储库,让团队能在早期阶段就清晰地定义和澄清项目需求...
但是,从【标题】和【描述】中,我们可以了解到这是一本关于软件架构师在专业实践中需要了解的关键知识点的电子书,其内容应该是围绕软件架构设计、开发最佳实践、技术选型、团队协作、项目管理以及行业趋势等方面。...
- **构建管理**:自动化编译、链接和测试过程,提高构建效率。 - **问题跟踪**:记录和跟踪软件缺陷,确保及时修复。 - **发布管理**:协调软件版本的部署过程,确保发布的稳定性和安全性。 ##### 现有工具 目前...
根据提供的文件信息,我们可以归纳出以下相关知识点: ### 一、Java毕业设计及课程设计概述...通过参与这样的项目,不仅可以掌握相关技术知识,还能锻炼团队协作能力和项目管理能力,为未来的职业生涯打下坚实的基础。
软件测试是软件开发过程中的关键环节,确保产品的质量和用户...测试团队负责发现和报告问题,促进早期修复,协助项目管理,确保软件符合特定市场和用户需求。测试不仅是技术活动,也是管理职责,对软件的成功至关重要。