如何组织团队开发软件?其软硬件环境?要注意的事项?(200分)

  • 主题发起人 主题发起人 baoling
  • 开始时间 开始时间
B

baoling

Unregistered / Unconfirmed
GUEST, unregistred user!
如何组织团队开发软件?其软硬件环境?要注意的事项?
如何管理及维护代码不同的版本?
 
硬件:
服务器一台: 用户存储代码和公共文档.如果涉及网络数据库的开发,安装数据库服务器.
客户机若干: 用于程序员开发,其中最好有一台安装不同的操作系统用于以后测试使用;
另外最好还要安排一台用于数据库和文档,代码的备份.
软件:
1.服务器端选择的操作系统可以是WinNT,Win2K Server或者Unix.
2.各个电脑上要安装VCS或VSS,用于代码维护和管理.
3.一些文档工具,例如Office,Visio.
4.另外最好开一个内部的邮件服务(例如EasyMail),程序员可以每天通过内部email向
负责人汇报进展,同时程序员之间可以通过email交流,协商.

其实,团体合作的难处并不在于软件或硬件,最重要的是有一到两个项目设计和负责人(或者
称为项目经理PM),PM的责任是负责制定规范,任务分配,掌握进度以及协调各个程序员之间的
矛盾(例如接口).
在商业开发中,PM的地位是不可动摇的,例如:PM决定了模块设计,只要从逻辑上正确,即使
在技术处理上有点落后和愚昧,但是这就是标准,程序员必须服从.否则在一些问题上,
公说公有理,婆说婆有理,一个问题可以有很多不同的解决方法,各有各的优缺点.这时候
必须有一个人来指定标准,即使是强迫性的.至于由于PM的决策不当,那不是程序员的责任,
自然有更高一层的管理人员来管理,而如果程序员固执己见,未按照规范做,即使最后
系统通过了,从管理的角度上,我认为必须警告这样的程序员.
总而言之,在团体开发中需要注意的事项为:
1.分清职责;
2.制定规范(或者是一定的权威)
3.程序员需要有个性,但是程序员也要有纪律性.
一点在团体开发中的体会,见笑见笑.
 
1、分工合理
2、兵贵精不贵多
3、绝对的文档支持
4、用SourceSafe之类的东西保证程序代码和文档的版本统一
 
http://jp.njuct.edu.cn/crystal/skill_all.asp?class=项目管理
 
to 房客:进不去呀
 
学习中
说说我的看法,如有不对请指正
1.完整的项目说明.
2.项目完成的过程中关键点的庆祝(用出鼓舞士气)
3.项目经理的组织能力
4.好用的项目管理工具
 
如何组织软件开发团队
专家、多面手还是他们的组合?
如何构建软件开发团队取决于可供选择的人员、项目的需求以及组织的需求。本文阐述了各种团队组织的策略。
有效的软件项目团队由担当各种角色的人员所组成。每位成员扮演一个或多个角色;可能一个人专门负责项目管理,而另一些人则积极地参与系统的设计与实现。常见的一些项目角色包括:
分析师
策划师
数据库管理员
设计师
操作/支持工程师
程序员
项目经理
项目赞助者
质量保证工程师
需求分析师
主题专家(用户)
测试人员
您是如何组织项目团队的?是采用垂直方案、水平方案还是混合方案?以垂直方案组织的团队由多面手组成,每个成员都充当多重角色。以水平方案组织的团队由专家组成,每个成员充当一到两个角色。以混合方案组织的团队既包括多面手,又包括专家。
一个重要的考虑因素是可供选择的人员的性质。如果大多数人员是多面手,则您往往需要采用垂直方案,同样,如果大多数人员是专家,则采用水平方案。如果您正引入一些新人,即使这些人员都是合同工,则仍然需要优先考虑您的项目和组织。本文描述了形成团队组织的垂直、水平和混合方案,并指出了它们各自的优缺点。本次讨论的一个重要含意是您的团队组织和用于管理项目的手段之间应构成默契;任何方法上的失谐都很可能导致项目产生问题。
垂直团队组织
垂直团队由多面手组成。用例分配给了个人或小组,然后由他们从头至尾地实现用例。
优点

以单个用例为基础实现平滑的端到端开发。
开发人员能够掌握更广泛的技能。
缺点

多面手通常是一些要价很高并且很难找到的顾问。
多面手通常不具备快速解决具体问题所需的特定技术专长。
主题专家可能不得不和若干开发人员小组一起工作,从而增加了他们的负担。
所有多面手水平各不相同。
成功因素

每个成员都按照一套共同的标准与准则工作。
开发人员之间需要进行良好的沟通,以避免公共功能由不同的组来实现。
公共和达成共识的体系结构需要尽早在项目中确立。
水平团队组织
水平团队由专家组成。此类团队同时处理多个用例,每个成员都从事用例中有关其自身的方面。
优点

能高质量地完成项目各个方面(需求、设计等)的工作。
一些外部小组,如用户或操作人员,只需要与了解他们确切要求的一小部分专家进行交互。
缺点

专家们通常无法意识到其它专业的重要性,导致项目的各方面之间缺乏联系。
“后端”人员所需的信息可能无法由“前端”人员来收集。
由于专家们的优先权、看法和需求互不相同,所以项目管理更为困难。
成功因素

团队成员之间需要有良好的沟通,这样他们才能彼此了解各自的职责。
需要制定专家们必须遵循的工作流程和质量标准,从而提高移交给其他专家的效率。
混合团队组织
混合团队由专家和多面手共同组成。多面手继续操作一个用例的整个开发过程,支持并处理多个使用例中各部分的专家们一起工作。
优点

拥有前两种方案的优点。
外部小组只需要与一小部分专家进行交互。
专家们可集中精力从事他们所擅长的工作。
各个用例的实现都保持一致。
缺点

拥有前两种方案的缺点。
多面手仍然很难找到。
专家们仍然不能认识到其他专家的工作并且无法很好地协作,尽管这应该由多面手来调节。
项目管理仍然很困难。
成功因素

项目团队成员需要良好的沟通。
需要确定公共体系结构。
必须适当地定义公共流程、标准和准则。
项目团队士气是项目成功的一个因素
大部分项目成功的定义说的是项目如何按时完成、是否在预算内以及是否满足用户的需要。但是,在如今要找到好的软件专业人员都非常困难,更不用说留住他们的这种情况下,还需要将项目成功的定义扩展为包括项目团队的士气。可能在努力完成一个软件项目后,不料却因为压榨他们过度而失去了重要的开发人员,这样做可能会符合组织的短期需要,但它对构建一个高效的软件部门的长远利益来说肯定是有害的。衡量项目成功与否的一个重要手段是项目结束后团队的士气。在项目结束之际,项目团队的各个成员是否觉得他们从自己的经历中学到了一些知识、是否喜欢为这次项目工作,以及是否希望参与组织的下一个项目都是非常重要的。

 
多人接受答案了。
 
后退
顶部