`
agileai
  • 浏览: 62815 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

做产品与做项目的区别

阅读更多

1  背景概述

在软件行业飞速发展的今天,我们可以将软件公司分大体分为两类,一类是使用框架进行开发的软件公司,另一类是套装软件产品的提供商,前者公司多数定位是项目类公司,后者则可以称为产品类公司。但做产品与做项目有哪些区别,大多数的人面对这个问题还是较为模糊的,甚至简单认为两者是没有区别的,均是程序开发而已。但事实并非如此,做产品与做项目两者之间既存在本质的区别,也存在着紧密的联系,今天笔者在这里将自己理解与大家分享。

2 定义及周期

2.1 项目定义

项目:是指在一定的约束条件下(主要是限定时间、限定资源),具有明确目标的工作任务。

软件项目:是指为企业开发或者部署实施一套专用的系统,或在特定的行业领域做一些系统之间的集成,在进入项目之前必须与用户进行具体的交流和讨论,了解清楚用户心目中的产品或项目预期是什么样子,然后招投标、签订合同、实施交付。

2.2 项目周期

软件项目的生命周期是软件的产生直到报废的过程,包括项目的启动、需求调研、功能设计、业务开发、项目测试、项目验收交付给用户,项目结项后项目生存周期结束。随着时间的推移以及发展,为满足当前发展的需求项目通常会重新定义开发。软件项目的生命周期图如下:

2.3 产品定义

产品:是指能够提供给市场,被人们使用和消费,并能满足人们某种需求的任何东西,包括有形的物品、无形的服务、组织、观念或它们的组合。

软件产品:是指向用户提供的计算机软件、信息系统、套装软件或在提供计算机信息系统集成、应用服务等技术服务时提供的软件,是通用的产品应用于某一行业领域而不是像软件项目一样为某一需求或者单位定制开发。

2.4 产品周期

软件产品的生存周期类似于人的成长,从出生(产品构思),到成长(产品的版本更新),到去世(产品中止)的过程。产品不存在完成的说法,因为产品是不断更新的,直到被新产品替代,生存周期才结束。软件产品的生命周期图如下:

3 区别与联系

3.1 两者区别

做产品与做项目的区别,大多数人可能都认为两者是相同的,均是使用不同的编程语言进行项目/产品的开发,但其实做产品与做项目两者是存在本质性区别的,下面我们通过两者的出发点,品质要求,时间成本,任务分工,团队构成以及最终的结果导向来分别阐述两者的区别。

3.1.1  驱动因素

  • 项目的驱动因素:
  1. 做项目侧重于时间驱动,因为时间就是成本,要压缩成本就要压缩时间,在功能上力求操作敏捷、易用、友好,如果在项目时间紧迫的情况下,至少要能保证每个功能都好用、不出现BUG。
  2. 做项目是以客户的需求为驱动,按照客户的需求进行定制开发,对于不明确的需求要第一时间与客户进行沟通,不可存在需求不明确的现象。
  • 产品的驱动因素:
  1. 做产品侧重于功能驱动,做产品的时间相对来说比较充足,所以要以开发出有竞争力、受广大客户欢迎的产品为原则,功能响应速度要快,操作要简便、界面要美观。
  2. 做产品是为了满足某一应用市场而针对性进行一套装软件或一个产品的开发,对于产品的性能以及快速迭代扩展的要求更高,产品的需求也并不像软件项目一样完全明确,存在着后期根据需求、迭代升级的情况。

3.1.2  质量要求

  • 项目的质量要求:
  1. 做项目的第一准则是客户的需求,项目的开发人员需要依据客户的需求进行定制开发,并且项目需要保证功能适用于当前客户的使用习惯,性能稳定。
  2. 项目的质量更加侧重于某一客户的具体需求,保证交付的软件项目程序可运行、维护,需求功能可实现。
  • 产品的质量要求:
  1. 产品的质量要求更加侧重于某一行业领域的应用场景,某一款产品需要适应或囊括当前行业可能涉及的需求,所能匹配的应用性更为广泛,并且对产品逻辑、代码运维性的要求更高。
  2. 做产品的性能必须尽量优化,因为产品为提升竞争力就必须比同类产品更好用,更敏捷,而且产品是一个不断完善升级的过程,对代码的框架以及维护性都具有更高的要求。

3.1.3  时间投入

  • 项目的时间投入:
  1. 做项目的时间投入一般是根据项目的需求,进行评估。通常是从项目启动、需求调研、功能设计、业务开发、测试运行、验收交付为一个周期。
  2. 项目有明确时间约束,什么时候开始,什么时候结束,每个节点都需要一目了然。通常以项目的验收单作为分项的里程碑及整体验收单作为项目的交付证明。
  • 产品的时间投入:
  1. 做产品的时间相对来说比较长,产品通常更加关注的是整个产品的规划、开发、推广、维护等。
  2. 产品时间一般来说可以明确开始时间却不能明确真正的结束时间,因为产品是一直在进行迭代完善的过程,通常会通过不同的产品版本来区分维护、优化、升级。

3.1.4  工作区分

  • 项目的工作区分:
  1. 做项目通常将工作按照业务功能模块划分,明确每个模块的负责人,各负责人梳理负责功能的需求,把握当前工作进度。
  2. 做项目的核心人物是项目经理,项目经理需要与客户经常沟通交互,之后由项目经理统一进行任务分工与安排,不定时的进行代码review、项目内部沟通会议以及项目进度的推进把控。
  • 产品的工作区分:
  1. 做产品更加关注的是整个产品的生命周期,明确每个功能的负责人,将重点放在产品的功能完善中。
  2. 做产品的核心人物是产品经理,产品经理负责把控产品的整体研发方向,带领研发团队进行产品研发,并且在产品研发过程中注重考虑产品的扩展性、兼容性、安全性、推广性。

3.1.5  团队构成

  • 项目的团队构成:

做项目团队一般由项目经理、架构设计师、需求分析员、软件工程师、测试工程师构成。

  • 产品的团队构成:

做产品团队一般由产品经理、交互设计师、项目管理人员、开发人员、运维人员构成。

3.1.6  结果导向

  • 项目的结果导向:
  1. 项目的结果是以项目的验收单为基准,项目主要是满足客户特定的需求,体现个性化。
  2. 项目多数是针对某一企业或客户的,功能相对特殊化、单一化、比较有针对性,项目在产品开发周期中可做为产品的雏形。
  • 产品的结果导向:
  1. 做产品最终的结果是给用户使用的,成功的产品将会被大面积普及应用。
  2. 产品是面向大众的,更侧重市场的需要,有广泛性。产品相对而言有比较固定的价格。

3.2 内在联系

做产品与做项目有区别的同时也存在着联系,很多时候两者之间是没有明显的界限的,项目中包含产品、产品应用于项目。下面我们通过两者间的共同目标、使用相同的开发语言、具有重合的应用场景、实施与维护、均可以为公司获取经济利益等方面来分别阐述。

3.2.1  相互融合

  1. 当前的软件项目中,做项目可以作为做产品的原型,做产品也可以应用于项目之中。两者之间是没有明显界限的,项目中包含产品,产品应用于项目。
  2. 当前的项目存在于传统企业中,而当前互联网厂商以及金融企业(如:银行、证券等)内部将应用系统统称为产品,该项目为自己内部开发,或者只有少部分的资源是外部进行开发。
  3. 在软件开发商中如:电商企业对于企业开发的网上商城等应用系统,将项目作为产品来开发,统称为电商平台产品。

3.2.2  共同目标

  1. 做项目与做产品两者的目标是相同的,均是为了更好的为客户服务,满足客户的需求,帮助客户进行信息化平台的建设。
  2. 无论是做项目还是做产品两者的终极目的均是为了公司获取经济利益,支撑公司的运营与发展、让公司股东、员工都从其中受益。

3.2.3  开发语言

  1. 无论是做项目还是做产品均是由开发人员根据不同的需求进行开发/研发的,同一系列的项目与产品是使用相同的开发语言进行开发的。
  2. 在做项目与做产品的过程中均是由需求调研、产品/功能设计、程序开发、调整、完善、软件测试流程组成。
  3. 无论是做项目还是做产品均是由项目/产品的负责人进行工作划分,都要明确负责人,细分至事、人、天,保证最终目标顺利完成。

3.2.4  应用场景

  1. 在项目中包含产品同时,产品应用于项目之中,但做项目中不一定会百分百有产品,或者说不是所有项目都能(会)孵化产品。
  2. 无论是做项目还是做产品均要应用于XXX客户平台中心,将项目/产品部署于客户提供的服务器中,为客户更好的应用。

3.2.5  实施维护

  1. 无论是做项目还是做产品在交付客户之后均需要开发/研发人员进入客户现场对客户方的技术人员/使用人员进行培训。
  2. 无论是做项目还是做产品都需要交付客户相应的维护文档以及使用手册,对当前的交接人员进行实施交付。
  3. 无论是做项目还是做产品都需要开发/研发人员进行实施维护,对项目/产品进行为期一年(可根据实施情况)的维护。

3.2.6  经济收益

  1. 无论是做项目与做产品都可以为对应的参与人员都会获得相应的收益,产品项目/产品的开发人员不仅可以获取相应的奖金,也可以获取对应的个人能力的提升。
  2. 无论是好的项目还是好的产品交付客户以后都可以为公司带来品牌效益,可以通过客户之间的相互介绍为公司带来更多的项目/产品的收益。

4 能力的要求

沈阳数通畅联定位是SOA集成产品和技术解决方案提供商,但是现阶段很多集成项目都是由数通畅联自己来交付。项目经理是项目交付的核心人物,产品经理是产品开发的核心人员,有些公司的产品产品经理不开发,主要工作是通过产品市场来分析进行功能设计、项目经理不写代码只做沟通管理、项目推进等工作。但在数通畅联项目经理和产品经理都有代码开发工作,比如:项目经理负责整个项目设计、评审以及通用功能的开发,产品经理则负责产品整体升级、核心功能开发。

在沈阳数通畅联:项目经理跟产品经理角色在公司里都非常重要,但二者能力模型是略有不同,通常来说产品经理比项目经理高一个级别,产品经理必须要经历项目经理,比如说:初级产品经理跟中级项目经理级别相当,但不是所有的项目经理都一定能成为产品经理,也不是产品经理一定比项目经理更厉害或者说更重要,不能一概而论。下面我们将分别对项目经理、产品经理的工作侧重点进行对比介绍:

4.1 项目经理

4.1.1  沟通交流

  1. 作为项目经理80%的时间在沟通,剩余20%的时间在准备沟通,不仅是与客户沟通、领导沟通,与项目组成员也需要时常沟通保证项目的进度。
  2. 在与客户沟通的时候,更多是倾听对方的需求,不是马上给出答复,分析之后再给出答复。
  3. 在与领导或者同事沟通时,有问题自己思考之后,准确描述问题,快速暴漏问题,这样才能辅助你解决问题。

4.1.2  项目推进

  1. 项目经理需要每周撰写周总结,说明当周的工作内容,下周计划内容以及后续计划安排。每天早上询问当天的工作内容将可能遇见的技术点进行讲解,如果没有整体时间进行工作事项确认时,可以分项进行,将工作分解分项进行。
  2. 在项目的前期需要明确开发规范,强调开发规范,命名规则。前期每天、后期每周三、五进行代码review。
  3. 根据每位员工的个人能力的不同,分别进行任务分配,将功能分工明确至事、人、天。这样可以进一步的保证当前任务是可考核的进而保证项目的进度是可控的。

4.1.3  促进验收

  1. 项目的最终目的就是为了验收,项目经理需要时刻保持验收的心态,积极促进项目的验收,不是将当前工作全都做完才能提出验收,而是项目进入验收阶段与客户沟通项目相关的验收事宜。
  2. 项目经理需要引导客户结款的意识,不要客户说什么就是什么,要明确与钱挂钩(常用话术:这个在需求阶段并没有提出,而且整体的流程是需要梳理明确的,这个会涉及到商务的事情,需要和商务具体来谈)。

4.2 产品经理

4.2.1  整体把握

  1. 作为产品经理需要能够站对市场前景、应用场景、方案组合、盈利模式都有清晰的认知,能够从用户的角度去思考,深度挖掘用户的深层次的需求,善于抽象、归纳把用户需求转换为功能需求。
  2. 明确产品最终要在项目中使用,产品设计要能够满足多方的需求,如:满足开发人员的需求:开发快、易部署、易调试、易扩展;满足客户:界面美观、操作简单、流程合理、稳定坚挺不宕机;满足运维人员:操作简单、日志层次清晰、易定位、能够快速恢复、调优等等。
  3. 产品经理不但需要知道哪些需求能满足产品的目标,还要深刻的分析哪些需求应该做,哪些需求不应该做,这些需求优先级是什么,应该如何开展、进度规划,以及相关资源协调(美工人员、开发人员、测试人员)等。

4.2.2  产品研发

  1. 俗话说的好“打铁需要自身过硬”,作为产品经理对于技术能力的要求高于项目经理,对于代码有较高的敏感度,能够从全局来出发把控产品的可扩展性、可维护性等。
  2. 作为产品经理是整个团队的技术依靠,负责解决产品研发过程中的技术攻关以及“疑难杂症”,对新技术知识的要能够快速学习能力、掌握、运用。
  3. 在产品研发的过程难免会有迭代完善的过程,通常程序出错是常见的事情,产品经理要能够对于产品运行机制了然于心、代码排错能力要技高一筹。

4.2.3  技术支撑

  1. 产品经理需要对相关技术人员(内部、外部)提供技术支持,包括:产品培训、技术支持、BUG修复等。
  2. 产品经理需要对同行产品以及解决方案熟悉了解,能够充当售前协作市场人员进行产品宣讲、方案介绍等。
  3. 产品经理需要对前沿技术有高度敏感性、对技术来龙去脉、发展趋势有准确认知,能够作为公司内部技术人员的布道者,推进公司技术持续前进。

5 心得与体会

笔者作为数通畅联的一名技术人员,也曾担任过几个项目的项目经理,最近也参与对公司产品的完善调整、产品升级工作,故此将做项目与做产品的区别进行总结与大家分享。笔者认为项目是满足特定人群或者使用者需求,更偏向于个性化;而产品是满足特定应用场景或者特定行业领域的需求,更加具有兼容性。不管是项目经理、还是产品经理都要时刻提醒自己是负责人,尽职尽力,团队的事情就是自己的事情,拒绝鸵鸟心态,逃避不能解决问题,需要勇于面对问题,积极解决问题。

无论是做项目经理还是做产品经理自身的能力的提升是必不可少的,做事要目标驱动,明确任务的优先级,紧急有重要的事情优先做,重要不紧急的一直做,然后做紧急但不重要的,不重要也不紧急的最后做。贵在坚持,没有量的积累无法实现质的飞越,从0到70分很容易,从70到80分只要稍微努力,从80到90分就很困难了,从90到95分便更加困难,最终能达到95-99分更是寥寥无几。在职场中的生存就是“逆水行舟,不进则退”,面对日益激烈的竞争环境只有不断的提升自身的稀缺性,努力向前航行才可以到达成功的远方。

分享到:
评论

相关推荐

    25.基于51单片机的温度报警器设计(仿真+实物).pdf

    25.基于51单片机的温度报警器设计(仿真+实物).pdf

    基于yolov5deepsort的多任务检测跟踪密集估计目标计数框架.zip

    yolo

    36.基于51单片机的酒精检测仪设计(实物).pdf

    36.基于51单片机的酒精检测仪设计(实物).pdf

    中国AI家电行业的智能转型与未来发展展望(2025年)

    内容概要:本文《2025年中国AI家电行业发展白皮书》详述了AI技术在家电行业的广泛应用和发展前景。文中首先强调了AI大模型DeepSeek对家电智能化的重大贡献,特别是在数据分析、用户偏好理解和智能控制方面的能力。接着探讨了AI家电经历了从“听得懂”到“看得见”再到“自主行动”的三大阶段演变,目前正处在多模态感知与意图理解的关键时期。在此基础上,介绍了海尔智家等企业在食材管理、清洁维护、环境管理和娱乐通信等方面的应用案例,展示了AI在具体应用场景中的巨大潜力。最后预测未来AI家电将进一步深化认知与服务能力,实现全场景无缝协同与泛在智能。 适用人群:对中国AI家电产业发展感兴趣的从业者、投资者和技术爱好者。 使用场景及目标:①帮助企业了解最新的AI家电发展趋势;②为研发和设计提供理论和应用参考;③提高企业和消费者对智能家电的认知度和接受度。 其他说明:本白皮书详细剖析了AI家电的技术路径、市场状况及典型案例,对推动中国乃至全球智能家电产业升级具有重要的指导意义。

    76.基于51单片机的交通灯设计 【数码管,矩阵键盘,调时】(仿真).pdf

    76.基于51单片机的交通灯设计 【数码管,矩阵键盘,调时】(仿真).pdf

    基于java的ssm房屋租赁系统(含LW+PPT+源码+系统演示视频+安装说明).7z

    系统采用了jsp技术,将所有模块采用以浏览器交互的模式,选择MySQL作为系统的数据库,开发工具选择Myeclipse来进行系统的设计。基本实现了房屋租赁系统应有的主要功能模块,本系统有管理员:个人中心、用户管理、公告信息管理、房屋类型管理、房屋信息管理、租赁订单管理、合同信息管理、系统管理,用户;个人中心、租赁订单管理、合同信息管理、我的收藏管理,前台首页;首页、公告信息、房屋信息、我的、跳转到后台等功能。 对系统进行测试后,改善了程序逻辑和代码。同时确保系统中所有的程序都能正常运行,所有的功能都能操作,本系统的开发获取房屋租赁系统信息能够更加方便快捷,同时也使房屋租赁系统信息变的更加系统化、有序化。系统界面较友好,易于操作。 关键词:房屋租赁系统;JSP技术 ;Mysql数据库;Java语言

    基于java的ssm交通档案管理系统(含LW+PPT+源码+系统演示视频+安装说明).7z

    本系统采用的数据库是Mysql,使用JSP技术开发,运行环境使用Tomcat服务器,ECLIPSE是本系统的开发平台。在设计过程中,充分保证了系统代码的良好可读性、实用性、易扩展性、通用性、便于后期维护、操作方便以及页面简洁等特点。 关键字:交通事故档案管理系统 Mysql数据库 JSP技术 使用交通事故档案管理系统分别为管理员和用户两个权限子模块。 管理员所能使用的功能主要有个人中心、用户管理、部门信息管理、警察信息管理、事故类型管理、事故信息管理、档案类型管理、档案信息管理、申诉信息管理等。 用户可以实现个人中心、警察信息管理、事故信息管理、申诉信息管理等。

    基于 OpenCV 和 CNN 模型的人脸识别考勤系统

    人脸识别考勤系统 基于 openCV 和 CNN 模型的人脸识别考勤项目 安装 openCV-python pip 安装 opencv-python 使用以下方式安装 pandas: pip 安装 pandas 创建名为 TrainImage 的文件夹名称 在必要时更改 aws_run.py 代码中的 Paths,并且 下载 xampp 或 Wampp 服务器并创建 2 个名为 face_reco_fill 和 manually_fill_attendance 使用任何解释器(如 Anaconda venv 或 Python 3.9)运行代码

    OPC UA辅助工具客户端

    输入服务器地址opc.tcp://localhost:4840/opcua/server/即可获取OPC服务端相关数据

    基于yoloV7pose添加任意个关键点和检测目标多分类.zip

    yolo

    33.基于51单片机的信号发生器设计(仿真).pdf

    33.基于51单片机的信号发生器设计(仿真).pdf

    华为USG5500、USG5530系列升级固件usg5500v200r001c00spc600.bin

    华为USG5500、USG5530系列升级固件usg5500v200r001c00spc600.bin

    全球医疗器械行业的创新发展与效率提升路径及应对策略

    内容概要:该研究报告详尽分析了全球120多家医疗器械上市公司在新冠疫情影响、地缘政治紧张和宏观经济不确定的大背景下,面临的运营和盈利挑战。行业整体营业利润率从2021年的19%下降至2023年的16%,销售成本(COGS)和销售管理支出(SG&A)上升推高了成本。尽管如此,某些“优胜者”企业在收入增长、盈利能力和股东回报上表现出色,年均收入增长率高达16%,且展示了强大的执行力和战略规划能力。优胜者的共性特点集中在盈利性收入增长、专注收购策略、卓越运营效率和健康的资本结构。报告建议企业通过创新驱动、成本优化、新一代市场营销策略及充分利用人工智能等先进技术实现可持续增长。此外,研究按区域和细分领域进行了细致分析,如北美企业的高收入增长、中国企业的挑战和欧洲企业(尤其是德国公司)的深度转型,突出了各自的发展瓶颈和机遇。 适合人群:医疗器械行业管理人员、投资者、分析师以及其他关注医疗产业发展的相关人员。 使用场景及目标:①为行业管理者提供战略规划和执行指导,提升企业竞争优势;②为投资者提供市场动态和财务数据,辅助做出投资决策;③为研究员提供更多维度的研究资料。 其他说明:本文通过案例详细解读

    详解Linux开发核心技术及实战指南:涵盖服务器和嵌入式领域的应用

    内容概要:本文全面介绍了Linux开发的基础概念和实际应用,覆盖了服务器和嵌入式系统等多个领域,探讨了不同Linux发行版的特点,如Ubuntu、CentOS、Debian,强调了它们各自的优劣势及适用场景。接着阐述了搭建Linux开发环境的具体步骤,如安装编译器GCC、配置环境变量等。文中重点解析了几种常用工具,如Vim、GCC、GDB的使用方法和相关命令。另外,通过开发简单C程序和Flask框架Web应用的例子,详细展示了Linux开发的流程,并针对常见问题进行了详细的解答。最后,讨论了未来的发展前景。 适合人群:有兴趣学习Linux开发的程序员,尤其是初学者和技术爱好者,希望了解和掌握Linux开发技术和实践经验。 使用场景及目标:① 对于想了解不同Linux发行版特点并选择合适发行版的人群。② 需要在Linux系统上进行软件编程或服务器管理的工作者,需要熟悉Linux下的各种开发和维护工具。③ 进行小型项目的开发者,希望能学到实际动手操作的经验。 其他说明:本资源提供了丰富的理论背景知识,同时也配有实例演示环节,帮助读者更好地理解和吸收所讲述的内容。

    基于yolo的csgo AI.zip

    yolo

    90.基于51单片机的波形测量【方波,正弦】(仿真).pdf

    90.基于51单片机的波形测量【方波,正弦】(仿真).pdf

    286.基于51单片机的路灯【光照,时间段,DS1302,数码管,矩阵键盘】(仿真).pdf

    286.基于51单片机的路灯【光照,时间段,DS1302,数码管,矩阵键盘】(仿真).pdf

    uninstall-all-users.vbs

    uninstall-all-users.vbs

    基于Istio的微服务Gateway与流量管理:网关、虚拟服务和目的地规则的实战应用

    内容概要:本文详细介绍了如何在Istio微服务平台中实施网关(Gateway)、虚拟服务(VirtualService)和目的地规则(DestinationRule),这三个组件构成了Istio服务流量管理的基石。主要内容分为理论讲解与动手实操两部分。理论方面解释了Gateway的作用为管理流入服务网格的外部流量,并提供了流量路由、负载均衡以及安全措施如TLS终止;VirtualService负责定义细粒度流量分配规则,比如灰度发布、故障重试等高级特性;而DestinationRule则着重于具体服务属性定制化,包括但不限于版本细分和调用行为优化。实践中则通过具体的YAML脚本演示了针对Tomcat应用的发布流程,同时进行了Prometheus监控系统以及包括Grafana、Kiali等多个服务的复杂网关绑定操作。 适合人群:熟悉容器技术和Kubernetes的运维人员和技术专家,特别是那些对Istio或更广泛的微服务体系感兴趣并且希望提升对实际项目部署能力的人来说非常有用。 使用场景及目标:帮助技术人员理解微服务架构下流量管理的最佳实践,尤其是在Istio环境下进行服务治理的方法。通

    基于NCNN和opencv的yolov8对象段android项目示例.zip

    yolo

Global site tag (gtag.js) - Google Analytics