The difference between making a product and making a project

1 Background overview

With the rapid development of the software industry today, we can roughly divide software companies into two categories: one is a software company that uses frameworks for development, and the other is a provider of packaged software products. Most of the former companies are positioned as project companies. , the latter can be called a product company. But what is the difference between making a product and making a project? Most people are still vague about this issue, and even simply think that there is no difference between the two, and they are both program development. But this is not the case. There is an essential difference between making a product and making a project. There is also a close connection. Today, the author will share my understanding with you here.

2 Definition and Period

2.1 Project Definition

Project: refers to a work task with a clear goal under certain constraints (mainly limited time and limited resources).

Software project: refers to the development or deployment of a dedicated system for the enterprise, or the integration of some systems in a specific industry field. Before entering the project, you must conduct specific exchanges and discussions with users to understand clearly what users have in mind. what the product or project is expected to look like, then bid, contract, and deliver.

2.2 Project cycle

The life cycle of a software project is the process from the creation of the software until it is scrapped, including project initiation, requirement research, functional design, business development, project testing, project acceptance and delivery to users, and the project life cycle ends after the project is completed. Over time and development, projects often redefine development to meet current evolving needs. The life cycle diagram of a software project is as follows:

2.3 Product Definition

Product: Anything that can be provided to the market, used and consumed by people, and can satisfy a certain need of people, including tangible items, intangible services, organizations, ideas, or combinations thereof.

Software products: refers to computer software, information systems, packaged software provided to users, or software provided when providing technical services such as computer information system integration, application services, etc., are general-purpose products applied to a certain industry field rather than software projects. Customized development for a specific requirement or unit.

2.4 Product Cycle

The life cycle of a software product is similar to human growth, from birth (product ideation), to growth (product version update), to death (product discontinuation). There is no such thing as a finished product, because the product is constantly updated, and the life cycle does not end until it is replaced by a new product. The life cycle diagram of a software product is as follows:

3 Differences and connections

3.1 The difference between the two

The difference between making a product and making a project, most people may think that the two are the same, both use different programming languages ​​for project/product development, but in fact, there is an essential difference between making a product and making a project. Below, we will explain the difference between the two through their starting point, quality requirements, time cost, task division, team composition and final result orientation.

3.1.1 Drivers

  • Drivers of the project:
  1. Doing projects focuses on time-driven, because time is cost, and if you want to reduce costs, you must compress time. In terms of functions, we strive to be agile, easy-to-use, and friendly. If the project time is tight, we must at least ensure that every function is good. Use, do not appear BUG.
  2. The project is driven by the needs of customers, and customized development is carried out according to the needs of customers. For unclear needs, it is necessary to communicate with customers as soon as possible, and there must be no unclear needs.
  • Product drivers:
  1. Product production focuses on function-driven, and the time for product production is relatively sufficient. Therefore, we must develop products that are competitive and popular with customers as the principle. The function response speed should be fast, the operation should be simple, and the interface should be beautiful.
  2. The purpose of making a product is to develop a set of software or a product in order to meet a certain application market. The requirements for product performance and rapid iterative expansion are higher, and product requirements are not as completely clear as software projects. In the later stage, iterative upgrades are based on demand.

3.1.2 Quality requirements

  • Project quality requirements:
  1. The first criterion for doing a project is the customer's needs. The developers of the project need to customize the development according to the needs of the customer, and the project needs to ensure that the function is suitable for the current customer's usage habits and the performance is stable.
  2. The quality of the project focuses more on the specific needs of a customer, ensuring that the delivered software project program can be run and maintained, and the required functions can be realized.
  • Product quality requirements:
  1. The quality requirements of products are more focused on the application scenarios of a certain industry field. A certain product needs to adapt to or include the needs that may be involved in the current industry. More demanding.
  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分更是寥寥无几。在职场中的生存就是“逆水行舟,不进则退”,面对日益激烈的竞争环境只有不断的提升自身的稀缺性,努力向前航行才可以到达成功的远方。

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326234540&siteId=291194637