《技术公司,规范管理》
(吴渔夫 Fishman 火石网络董事长 写于2000.2)
鉴于目前互联网技术的蓬勃发展,作为公司的技术部门领导者,在公司项目的技术开发和管理中起着非常重要的作用。到底要用什么样的方法,才能给部门管理和公司产品带来高效率和高质量的效果呢?我认为,必须做好以下的几项工作。
一、制定开发规范
对于技术管理工作,相信很多人比我有经验得多。在这里值得一提的是,建立规范对管理一家公司,对员工做好本职工作,对培训新员工,提高工作效率和防止出错起着不容置疑的作用。
当公司的部门架构设立了之后,每个职位都必须准备一份工作职责范围,日常工作内容和工作规范。把如何做好该工作岗位,如何书写工作报告,如何制订工作计划等等的内容都通过规范文档详细做好,可以达到事半功倍的效果。
一个完善的软件产品,通常需要一个团队默契地协同工作,组成这个团队的人,包括了:项目经理、系统分析员、开发人员、产品人员和测试人员等。技术部门严格制订的开发规范,有助于统一描述项目的规划,容易协调。凡事有规范可依照。软件工程中的需求、分析、编码、测试等都有标准的模板,一致的书写风格,可以保证项目的顺利进展和如期完成。
1.开发规范的内容,主要包括:项目管理规范、需求分析规范、系统分析规范、程序开发规范、技术报告规范、数据库设计规范、软件测试规范等。
2.项目管理规范,包括项目开发中的进度安排和调度、人员分工和配合、技术难点的分析、风险评估、项目报告和总结、项目质量控制、项目的验收手续等内容的书写格式。
3.需求分析规范,包括需求分析文档的封面、目录、软件产品的定义、项目名词解释、功能列表、需求规定、面向的客户、运行条件、客户要求等内容的书写格式。
4.系统分析规范,包括系统分析文档的封面,目录、引言、总体设计、解决方案、详细设计、技术接口、逻辑结构等内容的书写格式。
5.程序开发规范,包括代码的编写风格、编程要求、代码的效率及质量、函数划分、变量使用、代码可测性、代码单元测试、程序版本与维护等内容的书写格式。
6.技术报告规范,包括技术问题、研究环境、解决方法、性能比较、注意事项、存在问题等内容的书写格式。
7.数据库设计规范,包括封面、目录、引言、数据库、数据表、字段的定义风格、类型、含义等内容的书写格式。
8.软件测试规范,是贯穿整个软件开发流程的软件质量保证体系,使软件开发与测试同步进行,提高软件开发质量和效率,减低软件开发的维护成本。包括测试要求、测试流程、测试计划、测试要点、错误列表、测试报告等内容的书写格式。
9.开发规范在项目开发的工作中设计标准的作用,鞭策所有的开发人员共同遵守。最重要的是项目经理要严格把关,督促项目小组的成员严格执行规范。就可以形成软件文档的统一风格,便于今后的软件升级、代码维护和后续交接工作。
二、实施项目管理
项目管理的含义,不能简单地认为是把工作任务分发给每个人员,然后幻想他们将会取得一个预期的结果。事实上,许多本来可以很成功的项目往往因为这类想当然的方法而导致失败。
项目成功的关键因素在于:清楚地界定目标及项目任务、高层管理者的支持、有能力的项目经理、有能力的项目团队、充足的资源、主顾/客户的参与协商、良好的沟通、对客户的积极反应、正确的技术。
1.项目计划
对项目进行计划,安排进度或行动方案是很有必要的。项目计划能显示出将如何在预定的时间内按时按质量完成项目任务。试图没有预先计划就执行项目,就象没事先看说明书,就动手组装收音机一样。
2.执行项目
即实施解决方案。项目经过计划后,就开始进行了。在项目经理的领导下,项目团队将执行计划。
3.控制项目
当项目工作正在执行时,监控过程,确保一切按计划形式是很重要的。有效的项目控制的关键是定期及时地测量实际进程,并与计划进程相比较,并采取相应的对策。
4.结束项目
项目结束后,应当善于总结在项目中的经验教训,形成报告文件,以便改善未来项目的工作效率和结果。
三、挑选项目经理
项目经理是开发团队的灵魂任务,需要具有以下的素质。
1.项目经理通过对工作的计划、组织和控制的领导,从而为项目团队完成项目目标提供领导作用。项目经理的最终职责是确保全部工作优质准时完成。
2.项目经理通过计划、组织、控制来领导项目工作,但决不可大权独揽,应使团队成员积极参与近来,使项目能圆满完成。
3.优秀的项目经理还必须具备坚强的领导能力、培养团队成员的能力、非凡的沟通技巧、良好的人际交往能力、处理压力和解决问题的能力、合理授权的能力以及管理时间的能力。
4.领导意味着项目经理所说的所做的一切都会成为成员的榜样。如果项目经理希望成员为了使工作赶上进度而加班的话,项目经理应该首先留下来而不是提前离开。
5.有能力的项目经理懂得激励队员的因素,并能设计出一种富于支持和鼓励工作环境。方法包括:促成项目会议,从而使全体成员加入讨论;与成员单独会谈,倾听他们的意见;对有建设性的建议表示肯定和认可。鼓励团队成员互相学习。口头鼓励、表扬、赞赏或者奖品,都可达到很好的效果。
6.项目经理应该创造一种学习氛围,使成员能从从事的工作、经历或观察的境中获取知识,鼓励成员创新,承担风险,作出决定。
7.项目经理必须是一个良好的沟通者,需要定期及时地跟部门经理,团队成员沟通。
8.项目经理和团队中的每位成员都要建立一种良好的关系。可以利用多种途径进行交流。如:吃午餐、体育活动、娱乐活动、短途旅游等,可以促进团队成员的关系。
9.培养项目经理所需要的能力,可以通过获得经验、寻求别人的反应、自我批评总结、改正错误、与其他项目经理探讨、参加培训、阅读等方法来提高。
10.作好项目规划,确认需要做什么工作,由谁负责、需要多少时间、制订项目表格,产生阶段性的成果和形成报告,考虑各种可能的结果。
11.进行进度控制,分析项目进度,找出哪些地方需要纠正;确定应采取哪种具体的纠正措施;修改计划,将纠正措施列入计划;重新计算进度,估计纠正后的成果。
四、管理技术人员
由于从事软件开发的人都很聪明,比较内向固执而且不好管理。组成项目团队后,如何使协调他们的工作,处理好开发人员之间的关系,共同向一个既定的目标迈进也对产品的顺利完成有着很大的帮助。
项目团队是为实现一个共同目标而协同工作的一组成员。项目团队的发展有形成,震荡,正规和表现四个阶段。
1.形成阶段
形成阶段是团队发展过程中的起始步骤。团队成员开始互相认识,大家都有一个积极的愿望,合作开始。这个阶段的情绪特点是激动、希望、怀疑、焦急和犹豫。在形成阶段,项目经理要进行团队的指导和任务安排工作,并提出团队的口号和目标。
2.震荡阶段
任务总是比预期的更繁重更困难,进度跟计划安排有所出入,成员对项目经理的工作作风有意见等现象,说明团队进入了震荡阶段。项目经理应该对每个人的职责和成员相互之间的行为进行明确的规范和分工,要能介绍和容忍团队成员的不满和情绪。召开团队会议,允许团队成员提出问题,做找出解决问题的办法。
3.正规阶段
经受了震荡阶段的考验后,项目团队进入了发展的正规阶段。通过合作,团队成员之间、团队与项目经理之间的关系确立好了。这一阶段,随着成员之间的相互信任得以发展,开始大量地交流信息、观点和感情,合作意识增强。
4.表现阶段
项目团队积极工作,急于实现项目目标。此阶段的工作效率很高,团队有集体感和荣誉感,信心十足。项目经理应当完全授责授权,对有成果的成员进行表扬。并把注意力集中在工作进度和计划调整上。
五、验收项目状况
为了保证软件开发的顺利完成,公司的管理者应该有效和经常地跟项目经理沟通,保证项目的进展,验收项目的里程碑,及时发现存在的问题并进行解决。
1.口头沟通
在口头沟通时,要谨慎和互相尊重,不要使用蔑视,攻击性的言语或者身体语言。项目团队成员需要主动跟其他成员和项目经理进行及时的联系,以获得和提供信息,而不是坐等到下周召开团队会议的时候才提出。口头分配任务的时候,要接受任务者复述他的工作,以免造成偏差。
2.书面沟通
在确认决策和行动时,以备忘录或者电子邮件作为工作安排的方法要比个人的记忆力更合适。如果项目团队有人离开,书面信息可以给其他成员的交接工作带来便利。
3.举行会议
3.1)会前提供一定的时间给团队成员思考问题,明确会议目的。
3.2)项目经理必须准备会议提纲。
3.3)按时开始会议。如果每次都等待迟到者,就会形成不按时开会的习惯。
3.4)指定人员进行会议记录。
3.5)在12小时内公布会议结果。