浅谈项目管理

         要想一个项目,能够快速,准确的开发出来,必须有一套良好的机制来保证,从需求符合度,质量,进度等各个方面给予及时的控制,才能够符合市场的需要。当然,并不是说只要有了一套良好的机制,就能保证项目的成功,但是,如果没有一套良好的机制作为保证,那么项目成功的几率必然会降低很多。

         什么样的机制,算是一套良好的机制呢?至少应该从以下两个方面进行:1)人;2)项目管理。下文将分别从这两个方面,进行阐述。

1.  人

不管在哪家公司,什么环境下,人才是至关重要的。没有了合适的人,即使有着世界上最先进的管理理念,都无处可施,跟别谈把一件事情做好了(最极端的例子,就是乔布斯同志了)。

 

那么一个项目中,到底需要哪些人员呢?分别作什么才是合适的呢?通过实际的经验可以发现,一个项目团队中,至少需要以下几种角色的人员:

1)  项目经理

2)  产品经理

3)  核心开发人员

4)  外围开发人员

5)  测试人员

如果你所在的公司,刚好有能力配置以上角色,那么无疑你是幸福的;如果没有,那么也别气馁,通过自己的努力,向这个方向发展。

 

假设能够按照上面的角色组建一个项目团队,那么按照什么比例进行组建比较合适呢?我建议是一个项目团队,不要超过7-8人(人少了,灵活性大,而且目标容易达成一致且容易实施),具体如下分配:

1)  项目经理一名

2)  产品经理一名

3)  核心开发人员一名

4)  外围开发人员两至三名

5)  测试人员两名

 

如果前面条件都符合了,自然就会有一个疑问,那么这些角色都是哪种类型的比较适合担任呢?都干什么呢?

1)  项目经理

该角色必须懂得技术,且一般建议由资深(技术能力)人员担任。主要负责整个项目研发的控制。

2)  产品经理

该角色也需要懂得一些技术,应由公司的服务部门人员担任。主要负责项目与市场的紧密结合。

3)  核心开发人员

资深技术专家担任,负责项目核心技术的开发。

4)  外围开发人员

技术人员,负责项目的应用开发,比如像API,界面等。

5)  测试人员

测试人员,负责整个项目的测试,文档的编写,项目的培训等。

 

好了,到了这里,项目的团队,就组建完成了,必备的条件,已经具备了,后面就是实际的项目管理过程了。

 

2.  项目管理

项目管理不能够直接套用很多公司的项目管理理念,比如像IBM公司的IPD流程。而是应该在这些流程的基础之上,根据实际的环境,重新整理出实际有效的流程,这样才能符合实际的工作环境。

一般情况下,应该都需要有以下几个环节(不同公司可以根据实际情况进行修改):

1)  项目流程

凡事必须有据可循,有章可依。才能在实际做的过程中,让一个项目能够合理的进行,不要因为一些小事而影响整个进度。

目前做的比较好的就是IBM的IPD流程了,其原理图大致如下(这个是IBM位华为做的项目管理流程):


至于每个阶段的具体含义,大致如下(更具体的请上网搜索吧):

a.  概念

对产品机会的总体吸引力及是否符合公司的总体策略作出快速评估。

b.  计划

清晰的定义产品及竞争优势,理解业务计划,制定项目计划及资源计划,确保风险可以被合理的管理。

c.  开发

设计产品,并将在经过批准的最终业务计划中的技术开发、制造及行销策略和计划进行集成。

d.  验证

进行必要的设计更改来使产品符合需求,验证产品,发布最终的产品规格及相关文档。

e.  发布

发布产品并制造足够数量的满足客户在性能、功能、可靠性及成本目标等方面的需求的产品。

f.  生命周期

在产品稳定生产到产品生命终结期间内对产品进行管理。

 

2)  项目监管

有了良好的项目流程,那么就必须要有人进行相应的监管,否则再好的流程,都没有用武之地了。

一般情况下,项目监管,应包含以下几个方面:

a.  流程管理

检查项目开发过程中,是否按照项目流程执行,并检查相应的资料是否齐全。

b.  进度监控

按照项目计划表检查每个里程碑,是否按照计划执行。

c.  变更管理

管理项目开发过程中,需求的变更记录。

d.  风险管理

在项目开发过程中,及时对可能存在的风险进行预警。

e.  考核管理

管理项目考核以及项目中的人员考核。

在项目监管的过程中,负责人需要定期向公司高层提交相应的项目分析报告,及时让高层了解到最新的项目进展。

        

3)  项目开发

一说到项目开发,大家很自然的就会想到是设计和编码工作,但实际上设计和编码工作只是项目开发过程中的一部分,而非全部。那么项目开发包含哪些呢?

a.  项目开发管理

a)  需求变更管理

用于管理在项目过程中需求的变跟,处理。基本上MainSoft就足够使用(不足就是收费的)。

b)  源码管理

用于管理在项目过程中源码的版本控制及备份。基本上SVN就足够使用。

c)  BUG管理

用于管理在项目过程中BUG的记录,处理。基本上Mantis就足够使用。

d)  工作日志管理

用于管理在项目过程中日常工作记录,疑难问题记录及解决。基本上MainSoft就足够使用(不足就是收费的)。

b  项目研发

a)  设计

设计产品的架构,以及分析可能存在的风险。

b)  编码

编写产品的代码。

c)  评审

代码Review。

 

4)  项目测试

项目测试分为两种,一种为研发自测,俗称单元测试;一种为集成测试,由专业的测试部门对项目进行验收测试。这个部分说的只是集成测试部分。

 

关于测试的流程或者标准,大家可以参考以下几个文档,我这里就不再进行过多的描述:

1)  IEEE Std 829-1998

2)  GB/T 15532-2008

3)  ISO9001

 

一般情况下,测试基本上分为以下几个阶段:

1)  测试计划

根据项目需求文档,编制项目测试计划。一般与项目产品设计同步进行。

2)  测试用例设计

根据测试计划,设计测试用例,至于设计用例的方法,测试项相关在此不进行描述(因为网络上一堆相关的文档)。

3)  测试编码

根据测试用例编写测试代码。

4)  测试执行

执行测试用例,这里如果有条件的话,一定要做自动化测试,而且市面上也有好多软件,比如LoadRunner,QTP等,当然了,也可以自己来写,比如使用C#的UIAutomation类就可以实现界面的自动化测试。

5)  测试报告

根据测试结果提交测试报告。

 

5)  项目改进

其实此部分就是项目的生命周期阶段,需要不断根据项目在市场上的表现,进行相应的项目改进,基本上项目改进需求的来源有几个部分:

1)  公司的服务部门

2)  公司对客户的调查

3)  竞争对手产品的变化

4)  市场销量的变化

如果一旦确认进行项目改进,就可以进入项目管理阶段重新评定项目。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值