`

【Ray谈项目管理】之二 软件开发中的项目经理

阅读更多
问题

前面我们已经提到项目管理和项目经理是在国内最经常被滥用的词汇。很多软件公司把项目经理开发经理混为一谈,忽略二者在专业领域之间的不同,让许多原本应该程序开发中大放异彩的资深程序员,去从事不擅长的沟通、交流、计划工作上去。

因此我们有必要看看项目经理在软件开发开发中的角色与责任(R&R),以及项目管理者这个角色是如何设计用来帮助确保软件开发过程如愿进行得。

项目管理者在非主线的软件开发流程就有了的第一个角色,他不参与“实际工作”。项目管理者这个角色是为了确保软件开发过程如愿进行而设立的。项目经理通常和开发经理紧密配合,建立开发流程、推动开发流程,并为流程划分轻重缓急。




开发团队中的角色群

PMI的PMBOK通过定义什么是项目管理,从而把项目管理的角色定义为项目经理。该定义如下:

“项目管理是将相关知识、技能、工具、技术应用到项目活动中去以满足项目需求。通过这些应用,并将项目管理过程划分为初始、计划、执行、监控、完成等阶段,以达到项目预期。项目经理就是负责达到项目预期的人。”
在软件开发中,项目管理者的职责是驱动工作按流程进行并完成之。从最早的需求定义阶段,到用户培训的结束之后,项目经理应该是贯彻其始终的角色之一。项目经理与开发团队和业务关系人一起工作,确保将要开展的工作符合客户需求,开发各阶段都按既定的时间框架进行。

举个例子来看,这可能是某个软件公司的组织结构图,我们可以看到项目经理在其中的位置:



每个角色都有他自己的责任:

领域问题专家 SME (Subject Matter Experts):领域问题专家带来需求的那些人。他们了解软件该做什么和流程该如何工作。SME的角色和其他角色有一些不同,随着不断有新的内部外部客户被引入来帮助系统设计,SME会经常变换。SME通常不是来自IT部门,除非方案是正在为IT设计的。通常来说,SME是那些从系统中获得好处的人。

功能分析员FAs(Functional Analysts) -功能分析员是个艰巨的角色,因为SME可能不太清楚如何实施某些技术能促进业务流程,因此FA需要从SME那里引导出清晰、简练、无任何歧义的需求。

方案架构师SAs(Solutions Architect) - 架构师负责将从功能分析员创建的需求分解成一系列架构和设计文档,以便其他团队可以根据这些文档正确创建方案。方案架构师通常也负责寻求能解决问题的适当技术。

开发负责人DL(Development Lead) - 开发负责人这个角色关注于围绕着SA的架构提供更详细的东西,包括创建详细的编程规范。开发负责人通常还要为那些需要了解某个概念或者遇到某些难题的开发人员提供最直接帮助。

开发人员Dev (Developer) - 他们是开发流程的心脏和灵魂,开发人员按开发负责人提供的规格书参与直接编码。

质检员QA(Quality Assurance) - 质检这个角色经常不讨好,因为他们在产品发布给用户之前要查找一切可能的错误。用尽一切可能的技术手段,包括校验数据输入范围、摆弄正式的系统、自动测试脚本,质检团队负责保证方案的质量,并且满足FA提供的需求。有时候QA有个更不讨喜的名字--测试员。

实施人员Deploy(Deployment) - 实施人员负责把所有编译过的代码、配置文件打包,然后发布到在特定的环境和系统中。实施人员关于让方案能被使用。最后,这个角色可能会包括自动的软件安装过程,或者只是简单的将文件拷贝到适当的地方,然后执行之。

培训人员Training - 培训的角色负责为系统,同时也为讲师或者在线培训准备文档,他帮助用户更好地了解系统是如何工作的,他们可以做些什么。

项目经理PM(Project Manager) - 项目经理负责确保项目的持续性报告、风险防范、时间表、和成本控制。项目经理是个问题解决者的角色。他们试图把问题扼杀在摇篮里,以便能多快好省地解决它们。

开发经理DM (Development Manager) - 开发经理负责管理冲突项目间的轻重缓急。开发经理同时也负责那些无法在团队内部解决的问题的申告。

这样的团队角色不唯软件开发所独有,R&D 的团队都有类似的角色,从事类似的工作。

一加一的问题
没有一个项目会毫无阻力、没有麻烦的结束,如果项目都那样,这个世界就不需要项目经理了。

项目经理,对于一个团队履行它的使命和发展负责的人。因此创造出一个大于其各组成部分的总和的真正的整体,创造出一个富有活力的整体,应该是其第一使命。即人们经常谈论的管理,通过管理则可以把在自然界1+1〉2的不可能转变为可能。为履行这一使命,项目经理应该做什么呢

In that the project manager is often intimately involved with the business stakeholders they are often working closely with the functional analyst during the early stages of a project. The functional analyst is focused on getting the details of what the system must do and the project manager is focused on determining what the success criteria are and helping to educate the stakeholders about how the process works.

The project management role is generally responsible for status reports, which are frankly more tools about instilling a sense of urgency and demanding definite answers than they are a process for generating reports. They expose resource and scheduling issues as well as provide a communications vehicle for issues as they begin to occur. The project management role is typically spreads across several projects and potentially development teams. The project manager is frequently working on more than one project at one time - unlike many of the other roles in the project who may be dedicated. The project manager need not be an IT specialist, although this is helpful. The nature of their role is to provide broad based oversight.

In the software development process, the project manager is one part prodding and one part smoothing over problems in the process. They're there to make sure that the process goes forward and they use a variety of processes, meetings, and documents (artifacts) to ensure continued forward progress and to identify problems as soon as possible.

The project management role must be capable of executing details with regular consistency. They must also be able to take a step back from those details to look at the big picture to evaluate things like risk and the accuracy of time estimates. All of this takes a measure of restraint and good listening skills. The restraint prevents the project manager from jumping in before it's time and the listening helps to ensure that the real problem is eventually understood - and can be disseminated to everyone.

Project managers are the keepers of the process. Whatever the process is they're responsible for making sure that it executes well. In some organizations this includes the software development methodology. The project manager is the one that makes sure that the process is adhered to so they can get the predictable results they desire.



While the software industry is nascent, the project management industry is enjoying the advancement of a powerful organization in the Project Management Institute . They have assembled a guide to the body of knowledge for the project management profession that is often referred to as the PMBOK Guide. This organization has developed a widely recognized certification, Project Management Professional (PMP), which has both practical experience requirements as well as traditional testing requirements.


参考:
http://www.projectmanagerplanet.com/tools/article.php/3526491/Anatomy-of-a-Software-Development-Role-Project-Manager.htm
  • 大小: 8.8 KB
  • 大小: 18.5 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics