用户名 密码 联盟服务 关于我们 联系方式 收藏本站
返回网站首页 PgMP认证,美国项目管理协会高端项目管理认证!大型项目与项目群管理Program Management全球权威认证


网站登录:会员 企业 专家 服务商
企业服务:PMP培训  内训课 公开课
工 具 箱:发表文章 提问题 发案例
首页动态 | 文库 | 下载 | 书架 | 访谈 | 专栏 | 专题 | 人才 | 培训 | 软件 | PMC 互动:活动 | 案例 | 问答 | 论坛 | 博客 | 圈子 
应用:基础工程软件制造活动研发  认证:PMPNPDPACPPgMPIPMPP2ISPMPIMCP建造师MPM  特色:热点奖项

PMI-ACP®认证

适合敏捷开发项目
敏捷项目管理最佳实践

网络课程

PMI-PBA®认证

重视项目商业分析
商业价值与需求分析能力

网络课程

NPDP®认证

产品管理国际认证
全球产品管理最佳实践

网络课

PMP®认证

单项目管理经典指南
年轻项目经理首选

北京 | 直播 | 录播

PgMP®认证

大型复杂项目全球标准
定位高级项目管理层

网络班

PfMP®认证

链接战略与项目
实现组织资源投资回报

全球直播

软考项目管理

信息系统项目管理师
系统集成项目管理工程师

计划 | 报名 | 经验

敏捷项目管理ACP认证培训
国际产品经理NPDP认证

论软件开发中的三种重要角色

作者:刘天北   提交人:[刘天北]   属性:提交人转载   发布时间:2004/5/17   点击:3127   【收藏本文

    ...因为人的灵魂中,有着某种三头政体,或者说,三个对手,三重政权,它之扰乱这一共和国的安宁,并不减于它之搅扰罗马的国制。
                              ----托马斯·布朗 《医生的宗教》I.19talent.mypm.net

    1。“三”据说是玄学家们偏爱的数字。对于这种怪癖或狂热,我只能自认免疫力不足:在“三段论、三权分立、三位一体...”这个似乎无休止的列表上,我甚至想再加上一点儿自己的贡献——在我看来,通常称为“软件工程”的学科至少包括三个重要的组成部分:产品设计、系统构架设计和项目控制,而相应地,软件开发队伍中也有三个重要角色:产品经理、系统架构师和项目经理。service.mypm.net

    《人月神话》一书的读者都能理解“概念完整性”对于软件系统的重要性。概念完整性指的是,软件系统作为一个整体,对于使用者体现出的概念上的一致性、清晰度和简洁度。按照该书作者Brooks的看法,概念完整性是设计软件时需要考虑的首要因素,而为了确保概念完整性,应该要求1)区分系统设计和系统实现工作;2)系统设计的工作由一个人或不多的几个达成共识的人完成。这里谈的“系统设计”,基本上对应于我说的“产品设计”,即,确定软件系统的功能、性能指标、交互模式等方面的需求。质言之,产品设计者决定“做什么”的问题,而把“怎么做”的问题留给实现人员(implementers)来完成。项目经理圈子

    这样就引入了第一组工作划分。这里的重点是,产品设计应该由专人负责,而不是交给“程序员”代庖。相反的实践,即让具体开发者确定产品设计细节的做法,在国内软件业似乎仍很常见,但正如《人月神话》所言,这是一种非常危险的尝试。首先,如果产品的各个设计细节由多个开发者按各自的设想确定,那么概念完整性就几乎一定会被破坏。其次,具体开发者往往更注重系统实现中的技术因素,而对最终使用者的需求、动机和感受都缺乏体认,因而单纯出自程序员的产品设计,总是会偏离使用者对业务和易用性的实际需要,很难获得用户的欣赏——有一个略显过分的比喻甚至说,让程序员做产品设计,无异于让精神病患者们自己运营疯人院。项目管理者联盟

    而谈到产品设计或系统需求确定,另一种流行的误解是,这应该是客户的任务:“需求调研人”至多需要记录下客户的所有需求,就能形成完美的需求规格设计书。天知道(至少,任何做过委托开发的人都知道)这种论调和国内客户的实际情况之间的差距。不止一次,我拿到的全部客户需求就是:开发一套电子商务系统。句号。设计产品或确定系统需求不仅需要行业、领域经验(这是“客户”的优势所在),更需要大量同类系统的使用经验(甚至开发经验)以及较强的抽象能力、表达能力等等。而目前很多客户,由于接触同类系统有限,自身业务流程也远未标准化,若指望他们提出清晰、明确的需求,好比是让一个只会喊“饿”的小孩儿进饭馆点菜。开发团队必须委派专人,通过耐心诱导和反复尝试才能获知他们的实际需要。项目管理者联盟

    负责产品设计的“专人”通常称为“产品经理”。我心目中理想的产品经理,应同时具备较高的商业素质和较强的技术背景。项目管理培训

    具体地说,首先,一个优秀的产品经理要有深厚的领域经验,也就是说,对该软件系统要应用到的业务领域非常之熟悉。比如,开发房地产销售软件的产品经理,应该对房地产公司的标准销售流程了如指掌,甚至比大多数销售人员还要清楚。如果开发的是通用产品,他/她还具备对市场、潜在客户需求的深刻洞察力。项目管理者联盟

    其次,他/她应该善于完成从使用者视角到开发者视角的转化,善于将繁复的实际业务抽象为概念模型和人机交互操作。项目管理者联盟

    再次,他/她在技术方面也应该具备足够的知识,能对特定需求的可行性做出初步的衡量,能够做出方案选型的抉择。功能需求往往符合Pareto's Principle(20-80原则),怎样设计一个开发代价最小,而覆盖需求最多的功能集,怎样确定各个功能在实现时的优先度,是产品经理必须懂得的艺术。另外产品经理应该知道采用特定开发平台、特定工具产品的优势和代价,并从商业角度出发做出选择。PgMp.mypm.net

    最后,他/她还应该能够确定系统在人机交互方面的主要特征。程序员设计的产品为世人讥评,很大程度上要归咎于糟糕的交互(UI)设计。产品经理应该能够从商业角度出发,了解特定客户/潜在客户群在人机交互方面的需求,并能衡量特定的人机交互模式的实现难度——在很多场合中,某个微小的操作模式的变化会导致整个系统实现构架的变化,因此,尽早确定UI的主要特征,并要求它们在整个系统内保持一致,对于概念完整性和系统技术构架都是至关重要的。pmp.mypm.net

    对一次软件开发来说,产品设计是源头,是核心。因而产品经理的工作质量也直接关系到开发的成败。记得一位业内资深人士曾说,合格的产品经理需要一份MBA学历,再加上原先若干年的技术开发经验。综合考虑以上素质,我相信他提出了相当中肯的要求。blog.mypm.net

    如上所述,产品设计是一个复杂、困难的过程,其中充斥着争论和妥协、权衡和决断,并且,根据软件处理的实际业务不同,这个过程的内涵也千差万别。让我们暂时告别这段恶魔般的旅程,轻快地考察另一个较为清晰的领域:“系统构架设计”。项目管理者联盟

    系统构架,是对已确定的需求的技术实现构架。与产品设计相比,系统构架设计的工作更明确,而目前该领域也已经形成了较为成熟、完善的方法论和一整套易于掌握、传授的知识。相应地,系统架构师是一个不折不扣的技术人员,主要着眼于系统的“技术实现”。他/她的责任是最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节、扫清主要难点。因此他/她应该是特定的开发平台、语言、工具的大师,对常见应用场景能马上给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价。PgMp.mypm.net

    这里,最容易导致误解的部分是产品经理和系统架构师的区别。我感到现有的不少论述和实践都倾向于将二者混为一谈。但在我看来,如果把开发软件比作摄制电影,产品经理之于系统架构师,就正像编剧之于导演。产品经理虽然要有一定技术背景,但仍应属于“商业人士(business people)”,而系统架构师则肯定是一个技术专家。二者看待问题的立场、角度和出发点完全不同。当然,就像有时电影导演也出任编剧(甚至存在“作家电影”流派),对于特定的开发领域或项目,产品经理和系统架构师这两种角色的重合也可能是无害、甚至有益的(我能想到的一个领域是编程语言的设计),但即使如此,不加区别地对待需求和实现、产品设计和系统构架设计,肯定是危险的。如果你处在一人权充两种角色的情况下,你应该时刻意识到自己目前进行的是哪一种职责,并据此调节视角和思路。项目管理者联盟

    我感到这两种角色的含混还来自人们对“architect”这个表达方式的不同用法。Architect和architecture,这组显然是借自建筑学的隐喻,经常被不加区别地使用在产品设计和技术实现这两个不同的方面。Brooks本人在《人月神话》做出的“architect”和“implementer”区分,基本上对应于我在上面谈到的“产品设计”和“技术实现”,但是由于“技术构架”本身也可以称作architecture,所以一般谈到system architecture或system architect时,人们关注的却主要是技术实现方面。正如Martin Fowler所说,人人都想被称为architect而不只是engineer,所以这里用语的含混可能也体现了不同领域的人们对architect这个好词的争夺。项目管理者联盟

    必也正名乎。有一派哲学理论认为,多数“大问题”实际上都源自琐碎的语词误用。希望上述讨论也能通过区分名称而澄清软件开发中的一个重要事实。项目管理者联盟文章

    如果继续上面的电影隐喻,那么摄制组中的“制片”职责也就对应于我所说的“项目控制”。显而易见,项目控制工作与上面谈到的产品设计、构架设计都不同,如果说产品设计偏重于“商业”、系统构架设计偏重于“技术”,那么项目控制注重的就是“管理”。它主要关注的是项目本身的进度、质量等方面。软件开发项目需要专人负责这些内容,我愿意称此为“项目经理”。项目管理者联盟

    项目控制/管理已经形成了一个专门的学科(Project Management),对于软件项目经理,其职责也未脱离该学科的描述,包括项目计划、进度跟踪/监控、质量保证、配置/发布/版本/变更管理、人员绩效评估等方面。优秀的项目经理需要的素质,并不仅在于会使用几种软件或是了解若干抽象的方法论原则,更重要的在于从大量项目实践中获得的宝贵经验,以及交流、协调、激励的能力,甚至还应具备某种个性魅力或领袖气质(charisma)。通俗地说,也许学校里的学生会主席要比“学习尖子”更适合这样的职位。转自项目管理者联盟

    由此可见,项目经理和系统架构师在职责上有很大差异。混同这两个角色,往往也会导致低效、无序的开发。特别是,从性格因素上讲,单纯的技术人员倾向于忽视“人”的因素,而这正是管理活动的一个主要方面。另外,就像战争中的空军掩护(air cover)一样,专职的项目经理能够应付开发过程中大量的偶发事件和杂务,对于一个规模稍大的项目(《人月神话》似乎说的是6个人以上),这些杂务本身就能占用一个全职工作者的几乎全部时间。

    2。也许我已经论证了上述三种角色分工的必要性。笼统地说,正如其他人类制度一样,分工自身也同时具有益处和代价。如果允许一个空泛的概括,分工的优点至少有:项目经理博客

    1)集中特定的知识、技能——想想自己左右手、左右脑的分工,我们也许就可以理解这对提高生产率的重要性;项目管理者联盟

    2)职责明确,不同职责的人为自己做出的决定负责;PgMp.mypm.net

    3)增进交流:各个角色之间为确保顺畅的协作,必须要求高质量的交流,这也就能使很多原本不言而喻的事情书面化、明晰化。项目管理者联盟文章

    但分工也有其自身的弊病。首先,不少人天性追求完满,要让他们接受分工,只完成整个工作的一个枝节部分,可能是非常痛苦的事。我记得自己刚刚参加工作后参与开发的一个系统,直到开发接近尾声,项目经理才在一次每周例会上说:“大家开发了这么久,对整个系统的用途可能还不很清楚,今天我们简单谈谈”——这时我才知道自己参与的是整个店铺系统的销售子系统的订货部分的一个底层数据模块。 项目经理圈子

    另外,分工往往导致等级制度和不同角色间的疏离。既然分工的要义是把高要求的工作集中在少数人手中,在少数和大多数之间,不同的工种之间,必然会导致等级差异和隔阂。《人月神话》中也谈到,在区分了产品设计和技术实现之后,单纯的实现者会感到仅仅听命于人,常常缺乏独自开发时的“成就感”。这也是素朴的、混沌未开的开发过程一旦引入分工,就必然产生的异化。项目管理者联盟


<<上一页 1 2 下一页>>
项目管理者联盟PMP认证中心
[发表评论]
本站热点
· 华师大CTO学院:科创生态建设与创新项
·宏发电声江玫瑰谈PgMP:“下好一盘棋”
·PgMP:交付能力与创造未来的项目管理方
·开放讲座|《项目组合管理与PfMP认证》
·开放讲座|项目组合管理与PfMP认证
·开放讲座|PgMP:项目管理思维与方法论
·开放讲座|《项目组合管理与PfMP认证》
·网络讲座|《项目组合管理与个人职业发展》
·开放讲座|《项目组合管理与PfMP认证》
栏目说明
    《文库》栏目为项目管理者联盟网站核心栏目,收录了十大行业项目管理文章5000余篇,囊括了项目管理五个阶段、九个知识领域的相关文章,是广大项目管理爱好者学习的知识库,欢迎大家发表原创文章、转贴文章,或直接发给编辑。须联盟会员且登陆后才能发表文章。
敏捷项目管理ACP培训
项目管理活动
活动QQ群:531390275
免费积累PDU,仅500人

2022年项目管理活动计划
2021活动精彩回顾
原创排行榜
 项目管理评论杂志 311 高扬 106
 乔东 100 项目管理 84
 高国伟 61 人月神话 60
 张为 59 郭致星 52
 蒋昕炜 46 肖杨 38
 曾伟强 37 潘德有 36
搜索文章
关键词:
行  业:
团 队   成 本   风 险   进 度
沟 通   采 购   质 量   合 同
更多>> 专题集锦

企业项目化管理

PMO实践与应用

如何处理项目客户关系

更多:
经理访谈
更多:
个人专栏

王树文

赵春明

高国伟

更多:
项目管理者联盟特刊
联盟特刊是对网站会员发行的内部刊物,刊物内容包括:案例及分析等,得到了会员好评。
电子期刊:
特刊下载:
2017合刊  2016合刊  2015合刊 
2014合刊  2010合刊  2009合刊 
2008合刊  2004合刊  2005合刊 
2006合刊  2007合刊       
施工企业管理
《施工企业管理》创刊于1986年1月,中国施工企业管理协会主办,是反映施工企业管理杂志。
浏览往期:
建造师杂志
《建造师》杂志由清华国际工程项目管理研究院主办,是中国面向建设企业管理人的高端杂志。
浏览往期:
更多>> 推荐文章
09-02·项目集管理:构想一种不同.
08-17·项目经理“催活儿”的正确.
08-17·建筑工程项目管理中施工现.
08-17·进阶项目经理必备的复盘方.
08-17·项目管理协会PMI发布新人才
08-17·互联网大厂项目经理面试的.
08-17·项目经理要如何提高自己的.
08-17·管理改进中几个确实有用的.
08-17·项目经理提升职场能力的20.
06-14·项目经理搭建团队,需要看.
06-14·5A学员董雏:PMP取证重要,
06-14·成功管理能源项目的技巧和.
06-14·拥抱敏捷—计划发布与冲刺
06-14·从PMP到PgMP :不畏浮云遮.
06-14·这30+项目管理工具,优秀项
06-14·深度剖析项目管理五大痛点.
关于联盟 | VIP会员 | 培训服务 | PMP认证 | PgMP认证 | 刊物出版 | 沙龙会议 | 人才服务 | 广告投放 | 联系我们 | 友情链接

项目管理者联盟 版权所有 | 京ICP备10055250号-11 | 京公网安备 11010202009440号

如转载本站文章,必须于文章开头处注明转自“项目管理者联盟”,并注明原作者
PMI,Project Management Professional, OPM3, PMBOK, PMP,PgMP,PfMP,PMI-ACP,PMI-PBA
and the PMI Registered Education Provider logo are registered trademarks of the Project Management Institute, Inc.