如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(三)

简介: 如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(三)

前言

今天我们继续聊聊在 项目开发阶段,项目经理需要做好的事情 😃

4. 控制好项目开发质量

要控制好项目开发质量,主要是依赖测试,好的产品都是靠不断地测试,不断地试错做出来的,比如程序员单元测试,后期的整体测试,有修改时的回归测试等等,不管是多伟大的信息系统,都不能违背这个规律。

有一点很重要的,就是不要相信程序员的自测,最好从一开始就指定成员专门负责测试,即便是只有一个 QA,也比全部交给程序员的自测要好,因为大多数的程序员对于自己的技术有一种 “迷” 之自信,认为从自己手中产生的程序是不可能有问题的,所以不会对所有的路径进行测试,而且程序员对于自己写出来的程序常常有一种特殊的感情,有时候就算看到问题了,也舍不得删除有问题的代码,心存侥幸地希望客户不会发现问题(这也是为什么很多项目的代码中有一大段一大段地被注释掉而没有删除的代码的主要原因 _)。

测试工程师最好从一开始就参与到需求分析、系统分析等工作之中,只有对业务需求了然于胸,才能有的放矢的写出精准的测试用例,我以前工作所在的 BDNA 公司,爱尔兰的一个团队,给领导和客户演示系统时,都是让测试工程师上台做演示的,整个演示过程如行云流水般顺畅,效果非常好,他们的测试工程师真的是整个团队中最熟悉业务和软件流程的人。

在项目开始编码时,测试工程师就应该同步准备测试用例了。写测试用例时一定要注意详细地写输入条件,期待输出结果等,这样才能够确保交付的功能是可信任的,在测试的过程中除了关注软件功能之外,尤其要留意进行边界值测试,根据我多年的经验,绝大多数的程序员在实现功能时,通常只使用常规的数据进行自测,但实际生产环境的数据会很复杂,所以在交付给客户之后经常出问题。

在测试出 Bug 时,测试工程师最好地写上详细测试数据、实际输出结果和期待输出结果,这样方便程序员进行问题重现和定位,减少程序员和测试工程师之间矛盾(程序员和测试工程师之间矛盾绝对是一个开发团队里最常见的人员冲突 _)。

理论上在测试过程中,所有出现过的 Bug 都是可以重现的,但我们在实践过程中,确实也发现有相当一部分 Bug 很难重现,这绝大多数跟环境和数据有关,所以测试工作其实是一个很枯燥,很需要耐心的工作,在这方面,女性测试工程师会做得比较好。

安全问题最好一开始就重视上,国内的企业已经越来越重视这方面的问题,而国外的公司,特别是欧美企业,对于安全问题,已经达到苛刻的程度,我以前为美国企业 Flexera 工作的时候,就被这些安全问题折腾得很痛苦!

最后再强调一点,软件测试是一项贯穿整个项目开发过程的工作,只要代码有修改,就不能忽略回归测试和整体测试,程序员修改好一个问题,却产生 N 多个问题是很常见的事情。

5. 做好沟通管理

在项目的开发实施过程中,作为一个信息系统项目经理,现在你要面对三群人:你的领导、你的组员和你的客户,和这些人沟通,让他们知道你打算怎么做,什么时候要他们做什么准备,这些事情将是你的主要工作。

和客户领导沟通时特别要注意,除非你需要对方给你支持,那么你才需要讲得具体一点,否则,告诉他一切正常就可以了,而且态度要积极一些,千万不要说一些领导不懂的细节,比如:“王局长,最近项目进度还算正常,就是经常发生一些内存泄漏的情况…” 王局长:“(*&$@@”

和自己的领导汇报也要注意这个问题,除非他是一个技术高手,你需要他的技术经验,否则一般就汇报进度是否正常以及有问题时你的对策和打算就可以了,有些需要他支持的地方,比如资源调用需要说详细一点。

和组员开会,除了一些项目进度跟踪会议以外,还有很多讨论会,需要大家用头脑风暴方法给出解决问题。与会人员很多都是技术人员,他们的特点是注重细节、缺乏大局观、有点消极悲观、自尊心强(如果总结得不对,欢迎大家拍砖),所以,你作为会议的主持人,只要负责提出问题和记录下他们的观点,千万不要做评判者的角色。一个问题,有很多方面,从不同的角度看,可能是完全不同的,这些技术人员,他们往往精通一个方面,就自己的角度发表见解,除非一些很特别的情况,你都应该认为,他们提出的方案,从他们的角度来看是最合理的,所以,在会议上,你要充分尊重每一个人的意见,夸奖那些意见提得比较好的人,千万不要把会议带入无休止的争论。会后,你自己写文档,根据任务的优先级和轻重缓急来做决定。

6. 做好需求变更管理

最后再谈谈最让人头痛的需求变更问题,在我多年的项目开发和管理的职业生涯中,还没有见过需求不变更的项目,不管是多小的项目。可以说,在项目的开发实施过程中,需求变更是导致项目膨胀、延期和失控的最主要风险。

对于需求经常变的客户,你就一定要事先做好规矩:

一、统一联系人,客户指定一个人和项目组进行沟通,不能张领导、王领导都来说几句,如果他们意见不一致,那你只有得罪领导的选择了。所以,项目的最初就要定好规矩,我项目组只认一个的意见,有什么要求你们内部先统一再和我谈,我不想卷入你们内部业务部门之间的矛盾之中。

二、所有需求变更全部要有书面文字,这点切记!这样做好处多多:

  1. 有书面证据,以后他还想改,你有了他以前要求的证据,告诉他:你以前可是这么说的。
  2. 便于需求变更管理,需求如何慢慢演变的历史可以看清楚,从而更深切地体会客户的目。
  3. 对于客户来说,嘴巴一动最方便,反正是你们做,不花他的资源,所以要求是否合理,是否和项目的目的一致,他是不负责任的。但是如果要他写书面要求,还要签字盖章,他就要谨慎多了,而且一写东西,思想就会更加深入,很多无理要求也就这样胎死腹中了。

变更通常分为两种:

一种是部分更改了原先的目标,即需求变更;

另一种是没改变目标,但是客户不满意目前的实现方式,大到流程的实现,小到界面的布局,都是属于这类,碰到这种情况是难以避免的,主要是事先沟通的不够充分和客户随着项目的进展,慢慢想清楚了问题,改变了以前的思路。这时候,如果需要改并且你的战略是容许这种情况的,那么要注意下面两点:

  1. 确保以前的文档,就是记载着以前的结论的东西,客户是否签过字,如果没有,赶紧把你的工作停下来,赶快再和客户自己确认一下你的方案,然后让他签字,避免以后说话没有凭据;
  2. 和客户坐下来,探讨他修改的根本目的是什么,是不是有同样能达到相同目的、但是对你来说有代价更小的选择?

当接到客户正式提交给你的需求变更申请时,你需要做评估分析,分析对成本、进度的影响,在你的领导同意后,出相应意见书,主要是要说明更改设计的原因和指出由此带来的不确定后果(这个东西先写出来,后面如果真的发生了,至少不是你的错)。然后再让客户在上面签字。见过医院给病人做手术以前让家人签的免责条款吗?对,就学习那个,让大家都意识到任何的更改都有成本和代价。

项目开发阶段至此告一段落,下一篇准备聊聊项目验收阶段……


相关文章
|
4月前
|
监控 程序员 测试技术
多年的项目管理工作总结,分享软件项目经理把控好项目质量的 9 点经验
多年的项目管理工作总结,分享软件项目经理把控好项目质量的 9 点经验
|
4月前
|
测试技术 项目管理
如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(四)
如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(四)
|
4月前
|
敏捷开发 前端开发 架构师
如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(二)
如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(二)
|
4月前
如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(一)
如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(一)
|
6月前
|
敏捷开发 前端开发 架构师
如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结
该文讲述了信息系统项目经理在项目开发阶段应关注的要点。首先,需组建项目小组,确保团队中包含熟悉客户业务的成员,以便有效沟通。其次,选择稳定的技术栈,避免使用未经充分测试的新版本以降低风险。此外,项目经理应合理分解任务,设定可检查的交付标准,并利用项目管理工具控制进度和时间。通过敏捷开发方法提高效率,同时避免过度加班。建议项目经理充当客户与开发团队间的桥梁,减少现场开发带来的冲突。
136 0
|
项目管理
艾伟也谈项目管理,项目经理要如何看待技术?
  当上项目经理后,技术人员往往对自己的定位失去了感觉。其中最令人困惑的就是自身原有的技术标签,撕了也不是,因为技术还不能丢,贴着也不是,因为个人的成败往往决定于自己对团队的管理,而不再是自己的技术。  想要从这种困惑中摆脱出来,首先就要搞清楚下面几个问题:   Question 1——项目经理职位对技术到底有什么要求?  Answer:  想把项目管理工作做到点子上,两个观点要明确:  ①技术不是必须项。
970 0
|
测试技术 UED
技术人员应该如何让产品经理妥协
文章背景,来自于群内周五晚上的一次头脑风暴式的思维碰撞交流活动。活动主题由无痕哥发起。文章版权属于群内发过言的任何一位同学,我只是做了简单的梳理或整理。 1. 技术人员了解产品这个岗位所需要做的事情,然后试着从产品的角度出发,考虑当前页面功能的真实需求,挖掘更深层的可扩展需求,从而在另一个方面去引导产品。
1037 0
下一篇
DataWorks