PM需要知道多少技术知识才能更方便地和开发进行沟通

如题,PM需要知道多少技术知识才能更方便地和开发进行沟通

阅读 4.6k
2 个回答

2年前写过一个项目经理技术概览指南给一个PM小妹妹看,贴出来给大家参考下。
该文章尽量从非技术人员的角度解释,有些部分限于我的个人能力以及为了通俗易懂,有不科学的地方,见谅。


(注:本文是非常主观的看法,完全原创,所以不免有不严谨的地方,对某些涉猎不深的领域更是如信口开河,仅供参考。)

网站技术涉及的知识非常广,作为非技术出身的项目经理,没法一一学习和掌握。事实上,即使是技术人员也是精通一部分,熟悉一部分,了解一部分而已。下面就我所理解的范围,列一列网站项目常用的技术,并简单作一下说明。网站项目经理可根据自己需要学习。

1. 前端

狭义的前端,指的是将交互稿和视觉稿(图片)转换成页面 Demo 或者视图层的过程。而广义的前端则连设计的工作也包括在内了。

前端如果细分,技术体系是非常庞大的。常见的一些技术有:

1.1 HTML 4.01 + CSS2

这是网页最基础的部分,大部分网页都离不开这两样。HTML 4.01通常就是狭义的HTML了(不要纠结为什么会是4.01……),负责的是网页内容及框架的呈现;而CSS2是负责修饰网页元素的外观、位置等等属性。

HTML和CSS是可以深入学习和掌握的,因为它很简单,又是整个网页的基础。熟练掌握HTML+CSS之后,就可以看出网页的架构,对了解整个项目的进展很有帮助,也能看出技术人员是否有偷懒(比如使用一张图片代替本应有文本内容的区域)。

使用HTML和CSS进行网页布局,以前很流行的是Table的形式,是一种利用单元格排布元素的布局方式,但不够灵活,而且通过表格布局,不容易通过源代码看出网页的内容层次结构。因此,目前流行的是DIV+CSS的布局方式,即通过DIV定义网页的内容结构,CSS进行修饰。

1.2 Web标准

在Web标准制定之前,各浏览器开发商是各自为营,以自己的标准去定义浏览器解读代码的方式,这造成了严重的浏览器兼容问题。当时这个问题非常严重,很多网站开发者不得不写好几套代码来适应不同的浏览器。后来WaSP(网页标准计划小组)成立,主流浏览器开发商也积极参与,新的Web标准产生,网页开发的工作大大减轻了。

现在所提到的浏览器兼容性问题比过去已经少很多了。尤其是,当网页开发者以Web标准去构建网页时,他所需要做的兼容性工作是不多的。在Web标准之后,有一个很热门的词语叫做“网站重构”,说的就是以Web标准来重新设计网站。

“网站重构”的精髓在于:不是向前(旧版本浏览器)兼容,而是向后(新版浏览器)兼容。由于以Web标准进行开发,新版本的浏览器对Web标准的支持只会越来越好,因此开发者不会因新版本浏览器的出现而需要重写代码。同时,符合Web标准的代码也比较简洁、易读,方便其他程序员进行再次开发。

1.3 HTML5

HTML5并非HTML4.01的升级版,它并非为取代HTML4.01而生,而是增强了HTML的功能。比如,它引入了新的标签元素,支持定位,与Javascript的结合更紧密等。简单来说,传统的HTML4.01只是做静态的内容展示,而HTML5加入了更多动态的内容。

HTML5目前在桌面领域应用不多,因为很多浏览器还不能广泛支持它的全部特性。就算是最新版的IE、Chrome、Firefox,所支持的特性也各不相同,这给开发者带来很大困难,所以HTML5在桌面网页的应用还是比较谨慎的,以试验性为主。

HTML5在移动领域的网页中使用比较多,这大概是因为移动浏览器起步较晚,可以较为灵活地支持新的HTML5特性。

1.4 CSS3

CSS2在实现某些网页效果时非常费劲,比如圆角、阴影、透明、渐变、响应式设计等等,往往要通过图片或特殊的布局方式实现。在这方面,CSS3新增的特性就十分方便了。通过使用这些新的特性,网页可以更轻易地实现各种复杂的效果。

短期内,CSS3亦不是CSS2的代替品。浏览器对CSS3的支持仍不够好。CSS3目前使用最广泛的莫过于圆角、阴影、透明这几个属性了,这些属性在最新版的Chrome、Firefox、Safari都能正常显示,但IE8却无法支持这些属性(而IE8的市场占有率还挺高的)。

因此,使用CSS3有两种解决办法:一是放弃对旧版浏览器的支持,让它们不显示圆角等效果,但网页仍正常能读;二是就撰写多一些兼容代码,或使用一些Javascript插件,使旧版浏览器也能显示这些效果。

1.5 Javascript(JQuery)

Javascript是一种脚本语言,它是在浏览器端执行的,所以属于前端(相对的,Web动态语言是在服务器执行之后,生成网页内容,再发送给用户浏览器端的,所以是后端)。

最初Javascript主要用来实现各种“动态”效果,比如页面上飞来飞去的广告图片、突然弹出的窗口等等,没有太大的作用,华而不实。但现在Javascript已经是网页前端最重要的工具,因为借助Javascript可以根据预先设定的条件重写已经加载完毕的网页,不需刷新,极大地提升了用户体验。比如,在用户注册页面,需要验证用户输入的邮箱是否符合邮箱格式,传统的做法是,用户在填写完全部内容之后提交,数据传送到服务器,服务器进行分析之后,把结果反馈给用户;而使用Javascript,可以直接在用户输入邮箱时,把用户输入的内容通过JS代码进行分析,并把分析结果直接无刷新的显示在网页上(在邮箱输入框旁边显示“可以使用”或“邮箱不符合规定”等)。

Javascript也有浏览器兼容性问题,不同浏览器在创建某些Javascript对象时,所使用的代码是不一样的,因此早期的Javascript开发者不得不先判断浏览器,然后撰写不同的代码。后来,出现了诸如JQuery这类伟大的Javascript工具(框架),它们把一些常用的JS操作进行集成,用户可以直接调用,不必考虑浏览器兼容问题,也不必撰写一些复杂的底层代码,因此很受欢迎。以致于一些新入门的Javascript开发者,已经不太懂得原生的Javascript代码是怎么写的,不知是好事还是坏事了。

1.6 浏览器兼容性

前端开发者总是离不开浏览器兼容性问题。即使是完全按照Web标准来撰写网页代码,仍需为某些浏览器撰写专有代码。毕竟,Web标准仍在不断审核和优化中,浏览器开发商虽然不像过去那样搞一些自己浏览器才能识别的特有属性,但在实现Web标准支持的属性时,仍有自己不同的解释和实现方法,因此是不可避免的。

目前结合中国国情,理想的情况是支持IE6+、Chrome、Firefox及Safari浏览器。若网页比较强调特别的效果,可能会使用比较多的HTML5、CSS3及Javascript,则一般要求能支持IE8+。

Chrome与Safari的内核(Webkit)是一样的,它们的网页表现基本一致,Firefox有某些属性跟Webkit内核浏览器不同,有时需要微调一下。最复杂的是IE,一方面即使IE8仍不支持大部分HTML5和CSS3属性,另一方面IE6,IE7这两个怪胎,历史遗留问题特别多。好消息是IE9+对新属性及Web标准的支持都大大提升了,坏消息是IE9+目前的市场份额仍然非常小,而且XP不能安装IE9+,所以仍有很长的路要走。

1.7 响应式设计

响应式设计的目标是为不同分辨率的上网设备定制方便浏览的页面界面,是最近一两年随着手持上网终端的发展而兴起的。

在手机上网功能刚开始发展的时候,网速比较慢,上网终端的分辨率也很低,因此诞生了一种称为WAP网站的东西,它往往是某个网站专为低分辨率低网速的手机所准备的。然而WAP网站和响应式设计是两码事。它们最大的区别是:WAP网站是独立于原网站而设计的新网站,它的内容一般是简化的,过于消耗上网流量的内容一般不会放在WAP网页上;而响应式设计,一般使用的是同一个版本的网站,只是通过控制不同分辨率下应用的CSS属性,来控制页面元素的排列方式,从而适应不同的分辨率。

做响应式设计有个原则,即尽量不要为了适应分辨率而把一些页面元素隐藏起来,应该尽量保持所以分辨率的设备都能看到全部的内容。因为响应式设计的规则是由开发者指定的,如果开发者在为低分辨率设计的CSS规则中把某些元素隐藏起来,会造成不同浏览者获取到的信息不一致,容易引起误解,降低了用户体验。

一般来说,响应式设计实现的思路是,随着分辨率的降低,把多栏展示的内容的栏目数减少,直到变成竖向排列的单栏,把较长的内容进行折叠,只有浏览者点击时才展开,以减小网页竖向长度。

响应式设计的原理,是利用CSS3的“媒体查询(Media Query)”属性,这个属性可以设定一定的条件(通常是分辨率处于某个宽度范围),并放置一段专为这个条件所撰写的CSS代码,当浏览器检测到满足这个条件时,就会执行相应的CSS代码段。

值得一提的是,IE8以下版本不支持媒体查询属性,在实施响应式设计时,必须考虑这一点。

2. 后端

学习后端,需要比较强的逻辑思维,因为你所做的事情,就是把你希望达到的效果,通过程序语言表达给计算机执行。后端,通常来说,指的是处理数据的部分,包括接受用户输入的数据,处理为易于存储的形式,存储在文件或数据库中,之后还包括数据的管理、数据优化等工作。

值得一提的是,前后端有时没有明显的界线,比如构建用户输入界面(无论是输入文字、图片、视频等材料或某些点击行为,都可以算是用户输入)、显示数据这些工作,需要前后端共同参与完成的。

我对后端的了解比较少一些,只说说最常用的后端技术,一个是动态语言,另一个则是数据库。

2.1 动态语言

曾经,Javascript被称作“动态特效”,因此很多人第一次听说动态语言,以为指的就是生成各种页面特效的Javascript。现实情况当然不是如此。动态语言是相对静态而言的。

如果我们使用HTML+CSS,通过代码的形式构建一个内容网页,那么这个网页就是静态的,因为,无论何人在何地打开或访问这个网页,它所呈现的形式都是一样的,除非有人打开它的源代码进行编辑,否则无法改变它的内容。
而通过动态语言生成的网页,它本身是不存在实体形式的,当用户访问它时,它才会通过动态语言的“逻辑计算”,生成实时网页发送到用户的浏览器上。因此,动态语言生成的网页,可能每时每刻都是不同的。设想一下如下情景:

用户在访问某些门户网站时,可能会发现网站上有一个天气信息栏目,而上面标示天气信息的区域就是用户的所在地,这是怎么完成的呢?

首先,用户向网站发送请求,请求获取门户网站首页。这个请求里,包含了用户的IP信息。

接着,网站接受到请求后,运行动态页面里的代码,开始生成发送给用户的页面内容。

其中有一段代码,是获取用户IP,并且根据IP信息,到后台所设定的“IP地点数据库”里,取出用户的所在地。

然后,通过用户所在地,再在数据库里进行检索,找到这个地方当天的天气数据,并放置到网页内容的指定区域。

最后,网页内容构建完成,发送到用户浏览器上。

不同的用户处于不同的地方,因此他们访问这个页面时,在“天气信息”这个区域看到的内容是完成不同的,这就是“动态语言”生成网页的原理。多说一句,在这个例子中,动态语言执行的最终结果,就是把用户所在地的天气信息取了出来,至于怎么呈现在页面上,那就是前端的工作啦。

动态语言应用的例子还很多,比如取出数据库最新的10条新闻信息,根据用户搜索的词语生成搜索结果页,论坛里用户输入内容即生成一个帖子页等等。

每一种网页动态语言,都有自己的一套语法规则,开发人员必须遵循这套规则,才能编写出计算机能正常识别的代码。动态语言有很多种,他们基本都有相同的规则,但表达规则的语法会有所不同。打个比方,人类有很多种语言,它们的发音和语法都有很大的差别,但是每一种语言都可以表达“爸爸”、“妈妈”、“因为所以”、“假如那么”的意思。

常用的网页动态语言主要有:

2.1.1 ASP、ASP.net

这是微软所推出的动态语言。其中ASP是过去若干年所流行的,随着微软Windows霸权地位的确立,它在很长一段时间内占据了绝对的地位,一直到2005年。而ASP.net是一种全新的动态语言,增加了很多强大的功能。ASP已经逐步被淘汰了,现在新的开发者几乎不会去学习ASP,一些网站如果是用ASP构建的(最简单的判断方法,页面地址以asp结尾),那么说明它已经有一定年头了。

使用ASP.net不是免费的,首先它只能运行在Windows操作系统上,其次它通常所搭配使用的数据库SQL Server也是收费的(当然它也可以搭配开源免费的MySQL)。

使用ASP.net构建的网站,通常网址结尾是.aspx。但是这个不是绝对的,实际上,通过对服务器进行适当的配置,可以使用任何的结尾后缀。

2.1.2 PHP

PHP是当之无愧的当前最流行的网页动态语言,它是开源的,通常搭配的数据库MySQL也是开源的,更重要的是,它通常运行在Linux上,而Linux也是开源的。因此受到了广大开发者的支持。

由于PHP开源的精神深入人心,因为开发者以此为基础,开发了大量的开源系统,使得学习、借鉴PHP程序变得非常容易。鼎鼎大名的三大CMS开源系统:Wordpress、Joomla、Drupal都是PHP程序。

2.1.3 JSP

JSP与Java语言有一定的关系,而跟Javascript则完全没有关系,这样说是有点抽象,但是我也无法解释得更深。

JSP也是开源的,但在国内,基本只有一些政府及大型企业在使用JSP,网站空间商也基本不会提供JSP类的虚拟主机出售。

这么多种动态语言,当中并没有优劣之分,很难说哪种语言比另一种更好,它们基本都是发展到很长一段时间,在实现程序功能方面,可谓“条条大路通罗马”。开发者选择哪一种语言,可能纯属偶然:比如自己在开始学习时就选择了其中一种,或者自己所在的公司偏重其中一种等等。没有哪一种语言可以宣称自己能实现更高级的功能,或者说拥有更快的执行速度和更高的执行效率。

2.2 数据库

数据库顾名思义就是储存数据的地方。

数据库一般由数据表组成,数据表里面又有字段(相当于普通表格的表头),接着才是一条条的数据。

数据库之所以强大,是因为它巨大的存储能力,快速的检索能力(快速找到并取出某条数据)以及稳定性。

目前最常用的数据库是SQL Server和MySQL。SQL Server是微软出品,而MySQL是开源的。需要注意的是,虽然通常来说,动态语言与数据库有习惯的搭配组合,但所有的动态语言都可以选择与任何一种数据库进行搭配,并没有什么限制。

3. 前后端结合

有一些技术是需要前后端结合的。

3.1 Ajax

Ajax是一种很神奇的技术,它的核心功能,就是在无刷新的情况下,把数据传送到服务器端,并把服务器端返回的结果,实时呈现在本来已经加载完毕的网页上。

前面提到的Javascript,是实现Ajax的重要中介,因为它具有很重要的两个特性:一是与服务器进行数据交互,二是实时更改网页的内容。

Ajax应用的例子很多,比如微博列表,在拉到页面底端时,Ajax技术会从服务器再取一定数量的微博数据,并从页面底端开始加载,无需重新刷新页面(通常的情况是,我们点击“第二页”,页面刷新之后,在页首位置显示新的内容)。

再比如购物车功能、表单验证功能、网页聊天等,都是Ajax作用的结果。

使用Ajax的核心目的,就是增强用户体验。通常网页在请求新内容时,需要刷新页面,会出现短暂的页面变白无内容的状态。而使用Ajax可以模仿桌面程序,在页面无刷新的情况下,呈现更多用户感兴趣的内容。

由于Ajax同时需要达到这两个功能,因此很明显是需要前后端结合的。

3.2 SEO

SEO即搜索引擎优化,指的是通过合理的手段,使网页的重要内容及核心内容可以更容易被搜索引擎识别和检索,从而提高网页内容被搜索引擎优先收录的机会。

SEO也有很多非法手段,比如通过css定义,我们可以把文字定义为白色,那么这些文字虽然在页面上存在,但不能被普通访问者看到,而搜索引擎是检索源文件的,它可以识别这些文字。于是,有些SEOer就放置了大量热门的关键词在页面上,但设置为与页面背景同色的文字颜色,从而提升搜索引擎收录的质量。但是这样的做法如果被搜索引擎识别,带来的会是非常严重的惩罚(比如,搜索引擎会把这个网站的检索结果全部删掉)。

SEO一方面需要前端构建合理的网页内容结构,便于搜索引擎识别网页内容,另一方面需要后端在内容编辑界面设置诸如“关键词”、“描述”等填写区域,供用户填入SEO内容。因此,它也是需要前后端结合的。

4. 手机端应用开发

了解不多,略过……

5. 设计

设计的软件,不外乎三大件:Photoshop、Illustrator、CoralDraw。一般来说,前端开发人员不应该负责设计部分,但在一些分工不够明确的小公司,往往会要求前端也做这一部分的工作。

严肃地学习设计是非常困难的,这是一门非常大的学问。一般来说,能够学会PS的基本操作(图层操作,提取图层元素,获取元素的颜色、字体大小属性等等),学会从Illustrator、CoralDraw中导出不同格式的文件,都足够了。

跟设计人员交流,首先要了解他使用的是什么软件。接着,可以把整理好的客户需求解释给设计人员,尤其是客户对网页配色的一些特殊要求。然后,可以把网上调研所获取到的一些可作参考的页面提供给设计人员。最后需要记住的一件事情是,网页设计与平面设计有很大的不同,设计人员必须从浏览的角度进行考虑,而不是纯欣赏的角度,同时一定要告诉设计人员不要随便使用过大过小的字体,设计的页面输出宽度也应控制在960px到1200px之间。

6. 其它

其它可以了解的内容有:

6.1 服务器配置

目前主流的服务器操作系统是Windows2003,Windows2008及Linux(以Redhat,CentOS偏多)。除了ASP.net及SQL Server(当然了,微软的东西)不能运行在Linux系统之外,其它动态语言及数据库都是跨平台的。

一台可以放置网站的服务器,一般需要有以下几种软件,我们一般称之为LAMP(Windows下为WAMP)。

L(W):即Linux或Windows,操作系统。

A:Apache,称为HTTP服务器,简单来说,它的主要任务是处理用户的请求,并且发送内容给用户。Windows下还可以用IIS作为服务器软件。

M:MySQL,数据库软件,处理数据。

P:PHP,动态语言。

WAMP这种工具,就是把这几种软件一条龙安装齐全,省去安装和配置的功夫。

6.2 网络设备

网络设备主要有路由器及交换机,这部分技术比较复杂,其实跟网站项目关系不大。

6.3 Web安全

Web安全对网站开发十分重要,我们经常会听到新闻说某网站被黑客黑了,网页上显示了一些黑客放置的内容,就是Web安全没做到位,被黑客取得了网站的管理权。

Web安全是个无底洞,各种技术层出不穷,不断推陈出新。黑客入侵的原理就是利用一些网页代码写得不严谨的情况,通过精心编写的恶意代码,让网页执行了不应该执行的动作,从而暴露出机密信息,为黑客入侵打开了方便之门。

还有一种情况,是网站管理人员疏忽大意,使用了容易被猜到的弱密码,被黑客利用进行入侵。

Web安全方式,对于开发代码而言,要规范严谨,检查用户的输入行为,过滤掉一些非法的输入。

很多人认为开源程序更容易遭受Web攻击,因为源代码开放,任何人都可以轻易分析其中的漏洞。但其实正因为其源代码开放,全世界有成千上万的Web开发者研究和完善其代码,反而不容易出问题。

6.4 Web性能

当网站的数据量变得很大时,Web性能问题就会显现出来了。通过优化代码,优化数据库存储结构,可以提升Web性能。

6.5 Web工具

互联网的开放性,使得Web开发工具非常丰富,利用好这些工具可以使Web项目管理及Web开发变得非常方便。不过这类型的工具也是非常多的,有些非常吸引人但华而不实,多花时间研究反而无益。常用工具可分以下几类:

6.5.1 开放平台

很多网站推出“开发平台”,意思是提供一些网站功能接口,供开发者开发一些运行在该网站上的“增强应用”。随着微博和微信的兴起,他们都推出了各自的开放平台,慢慢变成了网络营销和推广最重要的手段,所以可以多关注。

6.5.2 调试工具

三大浏览器都有自己的开发者工具,方便开发者追踪代码,及时定位目标代码,修复错误。其中Chrome自带开发者工具,不需安装,功能十分强大;Firefox可以安装插件Firebug,其功能几乎与Chrome开发者工具相同。IE自带有开发者工具(F12开启),但功能弱很多,不过Firebug也有IE版,只是功能没Firefox版那么强大。

6.5.3 网站分析工具

网站分析工具通常是在网站共用的源代码中插入其统计代码,收集、记录和分析访问者的信息及行为,从而为网站运营推广提供参考。
通过网站分析工具,可以了解访问量的变化情况,了解浏览者浏览时间、浏览页面等情况,可以根据这些情况发现网站营销推广存在的问题,及时调整策略。

目前使用比较广泛的是Google分析工具,国内比较出名的是51.la和CNZZ。

6.6 开源系统

开源和免费是互联网开发的热门话题。开源网站系统通常是针对某一类型的功能而构建的独立网站系统,并且开放源代码。任何人都可以自由下载、二次修改、二次编译并投入到网络中使用。不过,开源系统也会采用不同的版权协议,有些版权协议允许系统自由地用于任何领域,而有些版权协议只允许个人免费开源使用,若用于商业网站则需要付费授权。当然,这只是一种协议规定,程序内部一般不会如我们平时使用的破解软件一样,设置各种方式来防止非法使用。但是,在法律健全的国家,仍有可能被发现并起诉,所以制作面向外国的网站需谨慎,留意开源系统的协议说明。

在开源系统中,核心源代码一般由核心开发团队维护,其他开发者可以提交Bug报告,核心开发团队核实之后,可能会修复bug并放到下一版本中。另外,对于某些开源系统,开发者也可以根据系统的技术文档进行插件扩展开发,增强该开源系统的功能。

目前比较常见的开源系统分两类,CMS和商城。

6.6.1 CMS

长期占据世界三大CMS排名的分别是:Wordpress、Joomla和Drupal。Wordpress发展历史最长,插件资源非常丰富,可以通过插件扩展及二次修改实现任何一种网站功能。Joomla是后起之秀,亦有很多功能强大的插件,不过Joomla原始的程序文件有点臃肿,运行效率不算高。Drupal是比较灵活的CMS,在国外有很重要的地位。

其次,国内比较出名的是Dedecms,不过已经停止更新有一段时间了。自此之后国内基本没有形成一定规模的CMS开源系统存在。

三大CMS中,Wordpress最容易上手,因为发展较早,各种中文及英文资料都很齐全,而且插件功能已经能够满足99%的要求;Joomla很有潜力,但目前来说,有些机制不太适合中国国情。Drupal最抽象难学,它有自己一套CMS架构,理解起来不太容易。

6.6.2 商城

商城功能比较复杂,即使是开源系统,要弄明白它的内容架构及运行原理,需要花费比较多的时间。目前比较流行的商城系统一般有:Magento、osCommerce、OpenCart、Prestashop等。

考虑开源商城,首先要考虑的是它的商城机制(比如运费计算等)是否符合目标客户所在地的国情,其次最好就是找国内比较成熟,资料充足的开源商城。这样需要问题更容易解决。

7. 推荐书籍

太难的书不容易入门,而且学习进度会比较缓慢,如果希望能够对以上技术有所了解,推荐以下书籍:

Head First系列技术书:非常浅显,就是为0基础的人打造的,讲解得非常生动详细,完全脱离技术书那种呆板和过于严谨的风格,让人很有学习下去的动力。缺点是对于有小小基础的人来说,会觉得书籍讲解得过于繁琐,所讲解的知识比较平凡。《Head First HTML与CSS.XHTML(中文版)》是HTML和CSS的入门好书。

网站重构:介绍网站重构的来由和解决方法,覆盖很多当前流行的新技术。这本书并没有深入讲解每一种技术,但通过一两个例子生动地说明网站重构的意义和带来的好处。阅读这本书有助于理解代码规范化对网站开发进度及网站完成质量的影响。

SEO实战密码:关于SEO最全面的介绍,其实没太大技术的成分,书虽然厚,但可以很快读完。SEO是一门比较简单的技术,但实现方法有很多种,通过阅读此书可以清楚如何灵活地运用这些方法。

精彩绝伦的CSS:进阶书,比较多的CSS运用技巧,从“会使用”到“灵活使用”的过程。

至于其他比较复杂的技术,要深入学习就比较困难了。没有一段时间的持续学习,慢慢产生一种Web开发逻辑思维,就比较难入门了。 我觉得这个对项目经理也不是必要的,可以在网上搜索一下,找一两个解释比较好的例子,体会一下就明白了。

附录:如何与技术人员打交道

  1. 尽量了解清楚客户的需求,并正常表达给技术人员知晓,避免多次大幅度的需求改动。

  2. 讨论项目计划时,最好同时邀请一位前端一位后端,共同讨论项目流程及所需时间等。

  3. 努力让技术人员融入开发小组中,让他们体会到自己要对项目进展负责,而不仅仅是跟着项目经理的命令行事,因此是要考虑某些决策对项目计划的影响的。这样他们才会从自己的技术立场去考虑,及时向项目经理提出疑问和建议。

  4. 在技术人员开发期间,项目经理可以关注项目进度,询问开发过程遇到的问题,如有需要,可为技术人员寻找适当的支援,或召集整个项目小组共同研究等。

  5. 然而,项目经理不应该过度关注技术人员工作中遇到的技术问题细节,亦不应该尝试提出一些解决建议,毕竟大部分项目经理对技术不在行,他们提出的这些解决建议,可能对技术人员造成困扰。

  6. 项目经理关注项目进展,抓好一些里程碑式开发成果(比如,完成某一重要模块的开发、完成首页页面效果图等)的时间,及时向主管或老板报告,以便他们掌握项目进展。

  7. 项目经理不宜因为主管或老板某些要求而打断技术人员的开发计划,这方面,项目经理应尽量争取与上级沟通。若必须如此做,应跟技术人员诚恳沟通,找到尽量不影响项目进展的方案。

LS 说的很全很细。扩展下话题,在我看来,一个普通的 PM 其实不需要什么技术,一个伟大的PM,大多数都是懂技术,并且大多数都是技术出身。

不同人,不同圈子定义不同,个人觉得好的产品经理是做一些创造性的事情,从无到有的过程,现在我们能遇到的好多 PM,都不在创造,姑且称之为创新吧。最直接的现象就是,国外有 facebook,国内的 PM 创新renren,国外创造了 Twitter,国内创新 weibo 等。国外创造了 iphone,国内创新了 iphone 壳。

下面两篇文章挺有意思:

什么是好的产品经理
google 产品经理眼中的产品经理

logo
101 新手上路
子站问答
访问
宣传栏