`
utensil
  • 浏览: 152371 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

文档与团队

阅读更多

Utensil按: 此文是我在renny的博客实习回来,说说心理话 的回复,讲了个人对文档与团队的一点粗浅理解。现在放到自己的博客里来存个照。

 

文档

 

关于文档的重要性,我说一个自己的经历:

之前为某外国开源类库写一个实用工具,有两个core developer review,往来都是e-mail沟通,但基本上是一个人写的,但在核心功能实现之后,我由于时间原因不得不搁置下来,我最后就用Doxygen给软件 写了非常详尽的文档,说明了设计思路、可扩展的开发接口、存在的问题以及TODO等等。我搁置很久之后,那个对我工作了解的最少的core developer轻松地接手了维护。

我这样做是因为我深知:

这个实用工具,如果没有为它的核心类写份文档,在我停止开发之后,最有可能的命运就是因为维护问题而从类库的util中消失,或者变成别人写的新实现,而他们却无从了解旧设计在产生过程中所遇到的实际问题以及相应的适应性改变,要提炼出一个更好的设计会更困难。

文档是软件生命的有机成分,能在作者离开后延续它生命,原有的经验和代码得以重用,或对新的设计有启发。而光溜溜的源代码,可能在环境变后都无法编译了,可能时过境迁自己都理解不了了,又有谁来试图理解和维护?曾经花在上面的心血,就此白费。

解耦的确是写程序中非常重要的一环,但是内聚所代表的“把相关的内容尽可能集中,方便理解和维护”,在实际编程中更难做到。而文档在这上面能有一定帮助。

写作文档的过程也是一次清理接口和重构的过程,因为如果接口设计得不好,文档写起来就非常困难,非常冗长。可以以“好的代码不需要注释和文档”的思想来指导编码,不过不能因此而觉得文档无用。

强调文档重要性,不是个学院派的唠叨,实践中挺重要的,就像单元测试一样,没有,始终是个致命伤。

 

团队

关于团队的问题,的确是一个很令人头疼的问题。

在学校里,能者往往居组长,组长往往变苦力。这其实是团队非常原始的形态,可惜这样一种原始的形态仍然不断在实际工作中重现、定型、死循环化。这种形态的另外一个变种是组长是甩手掌柜/催命神,副组长做苦力。

和很多同学相比,我并不是一个有很好组织能力的人。但大学四年,一个很重要的收获,就是在一次次做组长的团队中,每一次和前一次相比,我都更从苦力状态中挣脱出来,团队也更从孤立单干、陷于碎片的状态中挣脱出来。

并 不至于变成了甩手掌柜,我仍然把握住最为核心,某些事情团队中只有我才能做好的事情,我依然自己完成,但一次比一次剥离出去让组员做的事情更多。到后来, 我手上不会再有劳动力密集型的工作,工作量也成了团队中最少的,但我却能更好地调动团队,让他们去做他们有积极性做的事情,而这些事情能为我省不少心,同 时又充分发挥了他们的特长和能力,保证了进度和最终的质量。

早沟通,早让他们参与其中,以及自己心中预先对不同难度的各种任务的分布有个 基本的概念,有些人可以一直参与做个了解状况的闲人,后期可做预备队来解燃眉之急。如果有同学技术不行,我会制造给他一种项目需要他的力量的感觉,让他紧 迫起来,不至于觉得自己什么事都做不了,什么责任都不用负,也就毫不关心。至少他会在项目期间试图去学一些相关的基础知识,如果了解项目,后期调用他,他 也能有相应的功能,呵呵。

而且远在了解敏捷开发的结伴编程之前,我在宣传部就用了结伴的管法。每一张海报,都由两个人完成,其中一个指定 为主要完成海报的人,因为PS这个事情本来能合作的就有限。另外一个人其实对这张海报什么都不用做,(往往有另外的任务在身),但会需要督促前者的进度, 在前者陷入审美困境的时候给他建议,闲下来也可以做前者的助手。如果进度和质量不过关,两个人都要负责。

这个管法是从我自身的工作效率低 下的体验中总结出来的,因为我会把正事搁到最后一刻加班做,之前的设计酝酿阶段和找资料阶段往往因为一点不知方向在何就停顿下来。因为做海报,特别需要灵 感和方向感。一个人做的时候我往往感觉到需要另外一个人和自己一起才带劲。所以在管团队的时候,我就用了这个办法,把这另外一个人制度化。

当然,这些措施也未必有效,说下自己心得,与博主分享,欢迎大家指正。

 

 

 

2
0
分享到:
评论
1 楼 liugf 2009-08-06  
期待跟多好文章!

相关推荐

    开发团队中的文档编写者

    你可以通过与服务组或技术支持团队交流、参与相关论坛讨论或进行用户调查来获取这些信息。 任务分析则涉及理解读者将如何使用文档。如果文档是为了指导软件安装,你需要详细描述每个步骤;如果是API文档,你需要...

    团队开发文档及代码团队开发文档及代码

    团队开发文档及代码团队开发文档及代码团队开发文档及代码团队开发文档及代码团队开发文档及代码

    GeniusWiki团队协作和文档管理wiki系统

    在社区方面,GeniusWiki的官方网站geniuswiki.com不仅提供软件下载,还设有论坛和技术文档,用户可以在这里获取最新的更新信息、提交问题或与其他用户交流经验。这种活跃的社区环境有助于推动产品的持续改进和发展。...

    It团队在线Api文档管理

    标题中的“IT团队在线Api文档管理”指的是在信息技术领域中,团队协作的一种高效方式,即通过在线平台来管理和共享API(应用程序接口)文档。API文档是软件开发中的关键部分,它详细描述了不同系统或服务之间的交互...

    如何标准化需求文档提升团队效率和质量?.docx

    【标准化需求文档提升团队效率和质量】 在软件开发和项目管理中,标准化需求文档是确保团队协作高效且质量稳定的关键。需求文档是项目执行过程中最重要的沟通工具,它清晰地传达了项目的期望和目标,帮助团队成员...

    精品软件工具--右墨文档,一个类石墨文档的团队协作在线文档工具,软件工程小学期课程设计。.zip

    - **评论与讨论**:团队成员可以在文档中添加注释,进行讨论,促进问题的解决。 - **任务分配**:支持创建待办事项和任务列表,分配给特定成员,跟踪项目进度。 4. **格式兼容与模板库**: 右墨文档可能支持导入...

    团队建设与沟通半天email版 文档资料 文档资料.pptx

    团队建设与沟通半天email版 文档资料 文档资料.pptx团队建设与沟通半天email版 文档资料 文档资料.pptx团队建设与沟通半天email版 文档资料 文档资料.pptx团队建设与沟通半天email版 文档资料 文档资料.pptx团队建设...

    接口文档解决方案让接口文档管理变得方便、快捷 Torna采用团队协作的方式管理和维护接口文档,将不同形式的文档纳入进来统一维护

    此外,Torna提供了一个强大的Wiki功能,使得团队能够创建与接口相关的辅助文档,比如使用指南、常见问题解答等。这些文档可以帮助新加入的成员快速理解项目背景和接口使用方法,降低学习曲线,提高团队的整体效率。 ...

    一个非常适合IT团队的在线API文档、技术文档工具.zip

    6. **自定义域名**:为了更好地符合企业形象和便于团队成员记忆,ShowDoc 允许绑定自定义域名,将文档站点与企业品牌相结合。 7. **搜索功能**:内置的搜索功能帮助用户快速找到文档中的关键信息,提高工作效率。 ...

    软件开发常用文档(16个文档)

    在软件开发过程中,文档起着至关重要的作用,它们是团队沟通、项目管理、质量保证以及后期维护的基础。以下是一些关键的软件开发文档及其详细解释: 1. **项目开发计划**:这是项目启动阶段的关键文档,它定义了...

    开发文档模板[全套].zip

    《软件开发文档:产品经理与程序员的协作指南》 在软件开发过程中,良好的文档是团队协作、沟通理解的关键。"开发文档模板[全套].zip"提供了一整套完整的开发文档模版,旨在帮助产品经理和程序员更好地理解和执行...

    ddldrive(团队文档库客户端电脑版)v1.1.1中文安装版

    团队文档库客户端电脑版是科研在线团队文档库的Windows电脑客户端,科研在线团队文档库是科研在线推出的一个面向团队的文档协作与管理工具,支持文档云存储、专属团队空间、多客户端同步、移动办公等功能,非常适合...

    数据库文档模板 数据库文档模板 数据库文档范例 数据文档 程序设计文档

    文档介绍部分,包括文档的目的与范围,明确了文档的意图是为了详细描述数据库的设计和实施,以便于项目团队成员理解数据库的整体架构。同时,读者对象通常包括项目管理者、系统分析员、开发人员和后期维护人员。参考...

    软件开发文档模板

    在软件开发过程中,文档起着至关重要的作用,它不仅是团队沟通的桥梁,也是项目管理和质量保证的基石。东软集团作为国内知名的IT解决方案提供商,其软件工程开发规范为业界树立了良好的典范。以下是对"软件开发文档...

    ShowDoc就是一个非常适合IT团队的在线文档分享工具,它可以加快团队之间沟通的效率

    ShowDoc就是一个非常适合IT团队的在线文档分享工具,它可以加快团队之间沟通的效率。通过showdoc,你可以方便地使用markdown语法来书写出美观的API文档、数据字典文档、技术文档、在线excel文档等等。如果不想编辑...

    程序员项目交接文档

    程序员项目交接文档概要 IT 项目交接文档概要是程序员在项目交接过程中的重要文件,它对项目的开发、测试和维护起着至关重要的作用。本文档概要将对程序员项目交接文档的主要内容进行概要介绍。 人事模块是程序员...

    文档总结文档总结文档总结

    尽管这里只列出了一个“新建文件夹”,但在实际操作中,这个文件夹很可能包含了与文档总结相关的各种文件,如PDF、Word文档、Excel表格、PPT演示文稿等。这些文件可能包含了项目计划、需求规格、设计草图、源代码...

    软件开发需求分析文档.zip程序开发文档软件开发文技术档下载

    软件开发需求分析文档.zip程序开发文档软件开发文技术档下载软件开发需求分析文档.zip程序开发文档软件开发文技术档下载软件开发需求分析文档.zip程序开发文档软件开发文技术档下载软件开发需求分析文档.zip程序开发...

Global site tag (gtag.js) - Google Analytics