与一般工程项目涉及的领域经过长时期的发展、技术相对成熟不同,我们都知道现在的科技发展依然还处在大爆炸时期,各种技术发展一日千里,CPU速度几乎每隔18个月就翻一番,与之关联的计算机体系结构、软件架构等也发展非常迅速。例如PC上的通信标准几乎每年都变得更快,标准不断更新。C、C++、Java、Python、GO等开发语言更是迅速更迭,各类操作系统、协议、标准等随时更新,这些都是IT项目必须面对的,因为这些都会增加项目过程中的风险。
为了处理好技术发展迅速带来的问题,IT项目团队必须在先进性、实用性、经济性、成熟性等方面进行权衡,片面追求技术的先进性往往会事与愿违。在保证项目采取的技术具有相当的前瞻性、先进性和可扩展性、可集成性的同时,从需求出发,注意技术的可靠性、成熟性和经济性。
1.2.1 传统项目管理理论不适用
在软件开发中,软件开发的特殊性决定了传统或工程项目管理方法并不能解决IT项目的特殊问题。举一个简单的例子,如果碰到进度慢、有延期风险的项目,建筑工程可以通过增加资源的方式加快进度,但是一个软件开发项目如果出现同样的问题,寄希望于增加编程人员的数量来追赶工期,只能造成更大的麻烦。小弗雷德里克·布鲁克斯(Frederick P.Brooks Jr.)在《人月神话》中诞生的著名的Brooks法则:为落后进度的项目增加人数,只会使进度更加落后。
1.2.2 重构业务和适应组织
我们都知道,IT的主要应用主体在业务和管理领域,通过重构业务来降本增效和高效管理。也就是说,一个组织希望通过信息系统传达其特定的管理理念,将这些管理理念和公司的发展战略与业务逻辑进行整合是信息系统实施的关键目标。
这就意味着会破坏原有的游戏规则,也是绝大部分IT项目困难重重的原因。如何处理好信息系统涉及的组织及其对应的业务和战略目标,是成功管理IT项目的关键。
1.2.3 人才管理的障碍
对于IT项目,很多人会关注技术,或者只关注技术。其实,技术知识是IT项目管理中很小的部分。大多数情况,IT项目经理都是技术出身,技术不是大问题,虽然技术发展很快,但是只要懂原理,随时注意技术的发展和带来的风险,就不是管理IT项目最大的障碍。
人才是管理IT项目最大的障碍,就是习惯性地把人才角色化、工具化,把人才当作固定的模块来处理。这些习惯来源于我们走上管理岗位之前积累的工作经验,那时我们可能是办事员、技术员或开发者,也被如此对待着。所以,走上了管理岗位,即是如此。
这种习惯也是问题的开始,一旦习惯了把人才当作一个名词、一种工具、一个模块,那么在你的眼中,他就不是人了,至少在当前项目环境中,你不会用对待人的方式去对待他,可想而知,后果会演变成什么样。
就像汤姆·狄马可和蒂姆·李斯特在1987年出版的对软件工程做出重大贡献的《人件》一书中说的那样:“我们行业的主要问题实质上更侧重社会学,而不是科学技术。”
“在IT项目管理中,管理人员的职责不是要人们工作,而是创造工作的可能。”(摘自《人件》)
另外,容易犯错是人类与生俱来的弱点,这也是人性的体现之一,不论科技多么发达,解决问题的手段多么高明,只要还是人才在主导一切,事故就可能会发生。科技越发达,解决问题的手段就越高明,面临的麻烦就越严重。
所以,我们在事前就应该尽可能地想得周到、全面,采取多种应对风险措施,防止偶然的人为失误导致的灾难和损失。因此,项目管理简直就是预防“墨菲定律”应验的最好的做法。