软件开发范畴中的很多词有多义,比如开发这个词,在方案阶段,开发是指项目的整个过程,而在编码阶段,开发则指编码。同样,本文中的实施也是如此,在方案阶段,实施表示整个项目的开发过程,而在软件开发结束之后,又指软件的安装部署工作等。
本文中的实施是第二种含义。
简单的说,软件的实施工作是指软件系统完成测试工作之后,安装和部署到客户环境中的过程。
这个环节并不轻松,如果出了问题,虽然不至于功亏一篑,但也会造成不好的印象,影响项目的周期和验收,这是老板不愿意看到的。
那么,实施阶段需要注意哪些问题呢?
1、准备好相关软件产品。软件包括开发并且通过测试(可能不限Alpha测试和Beta测试)的系统以及相关的辅助软件,比如Jdk、Tomcat、MySql等。这里要注意一下软件产品的版本,一般公司会定义实施版本,这个实施版本是相对于开发版本、测试版本而言的,大家都知道,敏捷开发的前提是严格的版本管理,如果版本乱了,迭代也就无从谈起了。
2、准备好实施文档。实施文档主要是指实施方案、软件安装说明、培训文档等。
3、做好培训工作。一般情况下,会将培训工作安排在实施阶段,即在安装部署的同时或之后,安排培训工作。也有的会在用户测试之前进行培训,实际上都是可以的,教材上说的只是一种场景,在实际工作中,各种可能性都可能存在,项目经理要灵活地安排计划,其目的也是为了方便开展工作和配合用户的时间计划。培训工作也是比较复杂的,如果详细描述,可能需要好几个章节,这里就不再详述了,以后有机会再详细介绍。培训工作也是考察项目经理的组织能力和计划能力的重要环节,不可以掉以轻心。
4、制定好实施计划。这是非常必要的,一般来说,涉及到甲方配合的环节都需要认真做好计划,并且尽可能减小粒度。计划需要呈报双方领导,得到确认后方可执行。此外,计划要考虑到种种意外,所以需要有几种预案,如果发生一种意外,则启动备选方案,以免工作停滞不前。
5、挑选好实施人员。在大型项目中,实施工作是非常庞杂和繁重的,精心挑选好各类实施人员是顺利完成实施任务的保证。可能缺乏项目经验的项目经理无法想象到大型实施的场景,所以也无法充分地组织和安排各类人员的工作,我只能说,这种能力需要经历,需要从小项目到大项目的渐进的经历,不要期望毫无项目经验的人去承担这项工作,如果那样的话,实际上也是项目的一种风险,而且是巨大的风险。要不怎么有诸葛亮挥泪斩马谡的故事,这马谡实际上是个能人,可惜缺乏经验,无法驾驭实际的、恶劣的、大型的战争场面,失败也是必然的。安排实施人员是考验项目经理的组织能力和用人能力,如何做到有条不紊、知人善用,对项目经理来说是非常重要的。
6、注意做好安装测试。一般系统在出厂前都会做安装测试,但那是实验室环境,用户环境和实验室环境是大相径庭的,尽管我们也可能尽力的模拟用户环境。所以在安装之前需要测试一下用户环境,然后再正式安装部署。其次部署完毕之后也需要安排测试人员做一次用户环境测试,测试无误后再回复环境并提交用户做后续测试。
7、做好实施阶段的反馈工作。实施阶段的事情非常多,并非仅仅是安装部署,有人说实施人员同时也是售前、售后、需求人员、测试人员,这话一点不过,实施人员承担了处理现场一切工作的重要任务,注意,是一切工作。项目经理需要提前建设好实施人员的反馈机制以及项目组的内部处理机制,确保系统顺利部署。
实施阶段还有很多其他的问题需要注意,这里就不一一描述了。总之,项目经理和我们的产妇一样,在经历艰难的十月怀胎之后,生产环节尤其关键。综管我们的项目,一路走来,都是很辛苦的,所以我觉得我们的项目经理应该得到尊敬,但同时也对项目经理的能力提出非常高的要求。