项目管理是一种普遍存在于各行各业的管理实践,其核心目标是通过有效的规划、组织、指导和控制工作流程,以满足特定项目的需求和目标。尽管项目管理的基本原则和方法在不同领域大致相同,但在IT领域,项目管理有着其独特的特点和挑战。
本文将探讨IT项目管理与传统项目管理之间的区别,以及这些区别背后的技术和行业因素。只有在深入了解两者之间的区别之后,你所掌握的项目管理知识和技能才能“对症下药”、灵活运用,遇到再多的坑也能轻松应对。
下文将从项目特性、专项管理和敏捷方法的运用等3个方面重点介绍。
一、项目特性
* 技术依赖性
IT项目通常涉及软件开发、系统集成、硬件部署或网络建设等技术密集型工作。项目经理和团队成员需要具备相应的技术知识和技能,以确保项目能够顺利进行。此外,IT项目的成功往往依赖于最新的技术趋势和创新,这要求项目管理团队不断学习和适应。比如开发一款手机APP,项目团队就需要实时关注最新的手机型号、设备分辨率、硬件性能、操作系统版本等,以保证产品适配最新的设备,甚至可以利用最新的技术特性而开发出不一样的APP功能,不至于因技术落后而影响项目的成功。
相比之下,传统项目通常涉及建筑、制造、物流等领域,这些项目通常有更明确的物理输出,如建筑物、产品或服务。虽然不同工种仍然有非常高的技术要求,但这些项目的成功更多地依赖于资源的有效分配、时间的合理安排和质量的严格控制。
* 不确定性
IT项目往往具有高度的复杂性和不确定性,因为它们需要不断适应快速变化的技术环境和用户需求。IT行业的技术变化非常快,可能一款设备、一种技术框架,甚至一门开发语言,过一两年就被更好用、性能更好的所替代。
而传统项目,也可能面临变化和不确定性,但它们通常不如IT项目那样频繁或剧烈。项目在初期选定的设备、技术通常能稳定很长时间,用户需求也不太变化太快。比如汽车行业,好的车型往往可以持续畅销好多年,虽说一款汽车型号通常一年更新一次,但核心三大件5-10年内都可以用在新的车型上,不用做太大更新,当然也是因为其研发成本非常高。
二、专项管理
项目管理领域细分有多个专项管理,重要的如进度管理、成本管理、质量管理、风险管理等等,在PMBOK(Project Management Book of Knowledge)项目管理知识体系中,将项目管理划分为了五大过程组和十大知识领域,这些过程组和知识领域的划分对于项目管理的细致全面把控非常有帮助,有考过PMP证书的同学一定非常了解,不了解的也可自行查阅资料。本文因针对IT项目管理,我们将着重对其相对于传统项目的差异部分进行阐述,如成本管理、质量管理、风险管理等。
* 成本管理
IT项目因其成本结构跟传统项目有差异,在成本估算的时候区别较大。
传统项目的成本多集中于物理资源和人力资源上,物理资源如设备仪器通常有明确的单价,人力资源通常也是按计件工时来计算,市场较为透明,成本容易估算,一旦估算完成,最终的实际成本不会偏差太大。
而IT项目中,成本包括有硬件设备、专利许可费、软件服务费、人力成本等,专利许可费因不同的技术类型费用不定,软件服务费会因提供服务的企业自主定价而差异巨大,人力成本也因不同技术领域不同技术能力而难以简单定价。IT项目因其成本结构复杂,难以估算,通常在报价后还能有很大的调整空间,有做过IT项目外包的项目经理一定深有感触。
* 质量管理
质量管理在IT项目和传统项目中的主要区别在于质量管理的对象,弄清楚需要把控什么东西的质量,就清楚了两者之间的区别。
IT项目管理中,质量控制往往涉及的是软件系统,而传统项目中更多侧重于物理设备。对象不同,所采用的质量控制方法就不同,使用的质量检测工具也不同。
IT项目中的质量控制方法如单元测试、代码审查、漏洞检测、自动化测试、兼容性测试、性能测试等手段,使用的工具在不同的方法中因开发语言和框架不同也多种多样。传统项目中的质量控制方法如抽样检测、强度测试、耐久测试等,使用工具往往有统一的国家或国际标准。
* 风险管理
风险管理是项目管理中非常重要的领域,风险往往决定项目的成败。管理风险首先是要识别风险,然后建立风险应对策略和实施风险应对。
要识别IT项目和传统项目中的风险,回顾一下前一章节的项目特性就清楚了,主要是技术依赖性和不确定性,那么IT项目的风险管理主要就这两方面。
在技术方面,IT项目中的风险可以划分为软件缺陷、外部依赖更新、兼容性问题等。软件缺陷通过加强软件测试可以解决;外部依赖通常不可预测,但可以定期检测定期更新机制提前发现,及时解决,避免风险影响范围扩大;兼容性问题同样是因为外部系统或硬件更新导致,项目团队需要及时关注外部环境。
在不确定性方面,IT项目中常常面对的是硬件故障、网络攻击等。IT项目通常是C/S架构,硬件故障主要看服务器,服务器硬件故障通常不可预测,比如机房空调坏了、断电、断网等,通常需要做好服务器的灾备方案,主服务器不可用时还有备用服务器可以提供服务;网络攻击是更难预防的,项目初期不会面对,但等项目上线有用户量之后,指不定有不怀好意的黑客前来光顾,建议配备好健全的安全防护措施,比如做好防跨站攻击、加防火墙、加网关限流等等。
相对来看,传统项目的风险更多在于外部环境的不确定因素,比如自然灾害、政策变化等。
三、敏捷方法的运用
2001年诞生了《敏捷软件开发宣言》,从名称看,敏捷方法就是为IT项目而生的,因为敏捷强调快速响应变化和快速交付,与IT行业的特点非常契合。敏捷方法后来被大规模的使用,产生了很多方法论,如Scrum、极限编程(Extreme Programming)、测试驱动开发(Test Drive Development)等,如今Scrum方法是使用最为广泛的。
敏捷项目管理方法在IT项目中广泛使用的同时,一些传统项目也在尝试,但不可以为了敏捷而敏捷,明确项目是否符合敏捷的核心宗旨,即项目是不是需要快速响应变化?项目是不是需要快速交付?当两个问题的答案都肯定之后才说明项目是符合的,再去采用合适的敏捷方法。
当然IT项目也不是都应该敏捷,更合适的做法是:根据产品的生命周期去运用,通常在打造一个新的产品时,我们按照传统项目管理的模式去做,这样能保证产品的第一个版本是完整可用、质量过关的,在产品进入迭代期后,再采用敏捷的方法,不断跟随市场和用户的需求变化而变化。
总结
聊IT项目与传统项目管理的区别,主要是因为项目管理领域的知识通常是大而全的,我们在实际项目中不可能完全运用,往往都是需要裁剪和变化的。在IT项目管理中,要根据其技术依赖性和不确定的特点,针对成本、质量和风险选择合适的管理工具,适当运用敏捷方法。
希望本文对各位IT项目经理或想要成为IT行业的项目经理的同学有所帮助,欢迎留言讨论。