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

简介: 该文讲述了信息系统项目经理在项目开发阶段应关注的要点。首先,需组建项目小组,确保团队中包含熟悉客户业务的成员,以便有效沟通。其次,选择稳定的技术栈,避免使用未经充分测试的新版本以降低风险。此外,项目经理应合理分解任务,设定可检查的交付标准,并利用项目管理工具控制进度和时间。通过敏捷开发方法提高效率,同时避免过度加班。建议项目经理充当客户与开发团队间的桥梁,减少现场开发带来的冲突。

前言

之前文章讲了在 项目开始阶段,作为一个信息系统项目经理应该做好哪些内容(参见 如何做好一个信息系统项目经理,一个项目经理的个人体会和经验总结(一)),这一篇我们继续聊聊在 项目开发阶段,项目经理又需要做好哪些事情呢?😃

二、项目开发阶段

项目开始阶段 ,你已经明白了要做哪些事情,也清楚了你手上的筹码以及你做这个项目的总体策略,就可以进行项目开发了,在这个阶段,作为一个做好一个信息系统项目经理,需要做好哪些事情呢?我的体会主要有以下几点:

1. 首先是成立项目小组,组建开发团队

成员的组成根据企业的规模和项目的不同,相差较大,很难有什么具体要求,大企业或者比较大的项目,成员配置会比较完整,比如有项目经理、行业专家、产品经理、系统分析员、系统架构师、美工、前端工程师、后端工程师、测试工程师等等,在中小企业或者比较小的项目,就享受不了这种待遇了,往往项目经理加几个前后端技术人员就是标配了,有时候还没有前端工程师,团队里每个人都需要身兼数职。

但是,不管怎么样,成员里一定要有精通客户业务的人,很多小项目里,这个人就是项目经理本人,大项目里会配备行业专家(Industry expert),这样和客户沟通起来才不会鸡同鸭讲,双方才可以相互理解。

我经常看到的情况是我们的技术人员和客户交谈时满口的专业术语,结果搞得客户一头雾水,反过来,他还指责客户不懂技术。

其实,明白自己想做什么的客户已经是很好的客户了,不知道自己要做什么,更不懂怎么做还要指手画脚的客户到处存在,所以要明白,是客户选择了你,而不是你选择了客户,有了客户你才有工资拿,要多劝告我们的技术人员心平气和一点吧。

2. 其次是选择技术。

其实技术没有太多的选择余地,当前比较流行的高级开发语言如 Java、C# 等都大同小异,可能它们有各自侧重和擅长的方向,但基本上无论选择哪一个都能实现客户的目标,所以一般是团队熟悉哪一种技术就选择哪一种。

当然,要说没有太多的选择余地也不太正确,因为每一种技术都有新旧版本,我的建议是尽量选择稳定的旧版本,而不要选择最新的版本,因为最新的版本相关文档比较少,里面可能有些 "坑" 还没有被测试出来,用的人也不多,有时候踩到 "坑" 时,真的很难找到解决方法,很耽误进度。

在这一方面上,我是有 "血" 的教训的,很多年以前做过一个广交会的项目,当时微软新出的 Visual Studio 2003 有一项新技术叫连接池,微软当时在发布会和官方文档上极力推荐这项技术,认为是提高性能的不二之选,所以我们的项目组采用这项技术,项目顺利地开发完成了,也顺利地通过压力测试和验收,但没想到上线的第一天,程序就挂掉了,我们的技术人员认为是并发压力太大的原因,但诡异的是,服务器的 CPU 和 内存的占用率都不高,技术人员调试了很久也找不到原因,最后只好宣布项目失败,直到后来 N 年后,在另外一个项目也出现这种问题,偶然间才发现是连接池满了没有自动释放的原因,但当时真的怎么也没有考虑到这方面。

一般技术人员都喜欢钻研技术,展示自己的高超水平,所以他们总是倾向于采用最新的技术,作为项目经理的你一定要坚决杜决这种风险,当然,这需要项目经理懂一些技术,如果不懂,就比较被动了,只能依赖团队中比较成熟的技术人员的意见。

在选择技术上,问题也不全是来自团队内部,有些客户比较懂技术,有时候会被某种新技术打动,坚持要你采用那种新技术,这时作为项目经理的你就应该说服他:你选我做这个项目,就应该容许我采用自己最喜欢的方式做事情,新技术之所以有诱惑力,就是因为吃亏的人还不多,我不希望你成为第一批受害者。_

3. 控制好项目进度和开发时间

合理分解工作任务是有效控制开发时间和项目进度的前提,有条件的话,可以找几个关键组员,比如客户业务专家、系统分析员等等,做一下项目模块划分工作,比如项目分成几块去做,每一块完成什么,模块之间的信息如何交换等等。需求定义的是做什么的问题,而这里就是怎么做的问题。

在分解工作任务时,有一点是必须要注意的,就是最终可交付成果一定要是可以被检查的,比如,【界面要求:美观大方、简洁明快】,这个要求我就不知道如何检查,又比如我见过一个计划,里面有一个任务【开发人员调研熟悉 Elasticsearch 搜索引擎】,这个任务,调研什么程度算熟悉,结果也很难被检查。所以,时刻考虑如何检查结果,是分解工作任务时一个重要的考量。

采用一个项目管理工具会让你的工作更加明确,比如 Jara、Worktile、禅道等之类的工具,通过这些工具,可以更清晰地知道这个项目有多少件事情要做,每件事情需要什么资源,他们之间的前后关系如何,消耗的时间有多长,完成后有什么标志等。

按照我多年的经验,分解工作任务和评估时间之后,在项目管理工具上往往会惊奇地看到,甘特图上项目的结束时间通常会远远落后于你的计划结束时间(签合同的人永远不会先征求你的意见的),所以需要想方设法进行时间控制,优化任务路径和加班是通常会使用的方法,但是加班太多会使团队成员变得更疲倦,长期来看不一定真的能提高工作效率,而任务路径再优化也不太可能把所有的工作任务安排到计划的时间结束,一个有效的方法就是对任务有所取舍,列出任务的优先级,集中精力完成优先级高的任务,对于优先级比较低的任务,可以考虑牺牲它们的时间(也意味着质量),比如有十件事情,如果什么都赶进度,其结果可能就是十件事情你一件也没做好,但如果按照任务的优先级投入资源,结果是有三件做成了精品,三件完成,还有四件因为某些原因延误,这样的成绩单就靓丽了很多,所以正确排列事情的优先级也是一个项目经理能力的主要体现。

如果提高开发效率?我的体会就是采用敏捷开发效果会比较明显,每天10 - 15分钟左右的站立会议会让团队成员的工作目标更加聚焦,可以每周或者每两周设置一个 Sprint,每隔一段时间就有成果出来,这样对于团队的士气会是很好的激励,对客户和公司领导来说,时不时就能看到成果,也是一个好消息。

另外我插一句:我是极其不主张到客户现场开发的,尤其是一大群技术人员直接和客户交流,很容易引起冲突和矛盾(技术人员的本性决定的),我的建议是软件开发人员还是在公司做项目,项目经理和项目实施人员到现场与客户交流沟通,做好客户和研发人员的桥梁,这样会比较和谐些,效率也比较高,我曾经见过一个公司,很喜欢让技术人员到客户驻场开发,结果人员流失非常严重,项目还没完成,人员已经换了两三波,这样项目进度肯定是要延误的,项目质量也不高。

未完待续

相关文章
|
10月前
|
机器学习/深度学习 人工智能 算法
人机融合智能 | “人智交互”跨学科新领域
本文围绕“以人为中心AI(HCAI)”理念,提出人-人工智能交互(人智交互)这一跨学科领域及框架。文章定义了人智交互的基本理论、关键问题与方法,并探讨其开发流程和团队协作模式,强调该领域的研究意义。文中分析了智能时代人机交互的新特征,提出“人智组队”的新型人机关系,指出智能系统可作为“辅助工具+合作队友”存在。同时,文章通过对比AI学科与人因科学的优势与不足,阐明跨学科合作的必要性,为未来人智交互研究提供方向。本章旨在为后续内容构建基于HCAI理念的研究与应用框架。
971 0
|
9月前
|
弹性计算 网络协议 安全
【转】如何配置服务器的端口映射?
本文详解端口映射原理及配置方法,涵盖家庭、企业与云环境,包含静态、动态与双向映射类型,并提供常见问题解决方案。
2042 6
|
前端开发 Java 编译器
阿里巴巴生态应用在Arm平台性能优化实践
本次方案的主题是阿里巴巴生态应用在 Arm 平台性能优化实践,分别从背景介绍、编译优化实践、总结和展望三个方面介绍了本主题。 1. 背景介绍 2. 编译优化实践 3. 总结和展望
306 3
|
SQL 存储 Oracle
19 PostgreSQL 锁类型,锁模式,锁冲突,死锁检测的介绍|学习笔记
快速学习19 PostgreSQL 锁类型,锁模式,锁冲突,死锁检测的介绍
19 PostgreSQL 锁类型,锁模式,锁冲突,死锁检测的介绍|学习笔记
|
运维 供应链 监控
一文带你了解什么是TOGAF?及TOGAF的应用?
TOGAF(The Open Group Architecture Framework)是由The Open Group组织开发的企业架构框架,提供了一套方法论、工具和术语,帮助企业设计、规划、实施和管理企业架构。其核心是架构开发方法(ADM),涵盖从架构愿景到实施的各个阶段。TOGAF支持跨部门协作、持续改进和项目成功,适用于新系统开发、系统升级、业务流程优化和组织变革管理等场景。
4361 1
一文带你了解什么是TOGAF?及TOGAF的应用?
|
弹性计算 应用服务中间件
请将文件MP_verify_N8no8dpNO9n7wuBZ.txt上传至XXX指向的web服务器(或虚拟主机)的目录
请将文件MP_verify_N8no8dpNO9n7wuBZ.txt上传至XXX指向的web服务器(或虚拟主机)的目录
1838 0
请将文件MP_verify_N8no8dpNO9n7wuBZ.txt上传至XXX指向的web服务器(或虚拟主机)的目录
|
数据可视化 uml
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
UML图讲解,关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系。
6633 0
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
|
测试技术
软件复杂度量化:McCabe度量法及其环路复杂度的计算方法
McCabe度量法(McCabe's Cyclomatic Complexity)是一种经典的方法,用于度量软件程序的复杂度。通过计算程序中独立路径的数量,帮助开发人员评估代码的维护难度和测试覆盖率。本文详细介绍了McCabe度量法的原理、计算方法及其在实际应用中的作用。
3043 0
|
SQL 关系型数据库 MySQL
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
MySQL根据某个字段包含某个字符串或者字段的长度情况更新另一个字段的值,如何写sql
778 0