项目实施三个要素 业务,技术,人力

做软件项目最重要的是对项目人月的准确估算,对项目进度的严格控制。防止项目失控,亏本是第一要务。做到这点需要项目领导对项目相关的业务,依赖的技术,以及自己的团队要由十分深入清晰的了解。
业务即项目要做的是什么,什么功能,什么流程,什么样的数据定义。一般应用项目和具体的行业相关,需要十分了解目标行业的各种知识,业务流程和业务数据定义。和行业无关的通用软件产品,也要求对产品的功能,数据处理流程等方面做到清晰掌握。
技术即开发实施依赖的技术手段,工具,平台。包括各种编程语言,中间件工具,框架,整体的开发运行平台。在软件应用和产品越来越复杂的今天,只提编程语言这三尺剑,是无法纵横于软件江湖的,需要用其他重型武器来武装自己。只有掌握更多恰当合适的技术,才能做到开发时的事半功倍,同时保证开发出的软件具备好的品质。
常看到有些人争论业务,技术谁更重要,却脱离具体的场景和上下文。纯粹属于浪费吐沫,没有结果的辩论。对于项目的领导者包括技术负责人和项目经理而言,在做每个项目之前对项目涉及的业务和技术,的确要做这类分析和判断。判断业务和技术各自的范围和复杂程度,自己已经了解和掌握的部分占到整体的比例,两方面还有哪些未知因素可能会造成大的问题等等。举两个例子,如果要使用复杂事件处理技术做一个网络监控平台,业务是通常的业务,但技术比较新,属于技术重要于业务的项目,需要投入更大的精力去研究复杂事件处理技术,相关的事件处理引擎产品;如果开发一个金融证券行情发布系统使用了消息中间件技术,那就是业务重于技术的情况。不论是IBM的MQ还是TIBCO RV, 掌握这些产品的功能和使用绝对要容易于对行情发布系统业务的掌握。所以我们需要在具体的场景和上下文中,判断业务和技术的重要性,来决定我们的工作重点和投入分配。
目前存在一种现象,很多软件平台厂商夸大平台工具的作用,让很多甲方误解以为使用这些工具可以直接实现一些业务逻辑,或者让实现业务逻辑变得非常简单容易。其实这是不可能的。软件平台工具通常实现的只是公共的技术层面的功能,是行业,业务无关的产品。而实现复杂的业务逻辑,只能依赖于应用系统的开发,技术工具不能替代开发者实现业务逻辑。类比于写文章,文章的内容是业务,书写的工具是技术。不论是使用笔还是使用Word软件,工具本身不会写文章。当然他日计算机智能化了, 那时工具就成精,程序员就可以退休了。
人力即项目团队,包括架构师,开发,测试等。 项目的领导者需要对项目组成员有比较准确的认识,每个人掌握的业务和技术程度,每个人的能力以及包括性格方面的特点。知人善用,用好每个人,给他们合适的位置和任务,了解每个人完成任务的程度,决定自己对他们做多大程度的监控和指导。
项目最重要的是判断工作量(这决定了钱的多少),控制好进度(这决定了是否能按时付款)。而这些依赖于项目开始之前,项目领导对项目相关的业务,技术和人力的掌控。只有清晰的知道开发实现什么,拿什么来开发,由谁来开才能准确地估计出工作量和工作进度,才能控制好项目。有个经验。业务,技术以及人力,如果在三者中有两个方面你不很了解的话,最好放弃这个项目,风险大过收益。在投入成本有限的情况下,做生不如做熟。

猜你喜欢

转载自zlushangnwpu.iteye.com/blog/739684
今日推荐