产品是怎样炼成的

IT行业有不少类型的公司,如:项目型、产品型、技术型、外包型等,笔者所在的公司为产品技术型公司,不是全部企业均可以成为产品技术型公司,主要在于两方面,一方面在于以产品、技术起家的基因,所属技术、产品均为自主研发;另外一方面在于企业的人员意识形态和作事方法。程序员

笔者在职期间见证及参与了公司许多新产品的诞生,长此以往更加肯定了上述的理论,正如一个公司的成立须要通过积累、沉淀、规划同样,产品也不是一朝一夕就能够生产出来的,除了前期的不断积累,还要对目标客户、市场、使用场景等进行充分调研,针对性进行架构设计、技术攻关、产品研发等一系列过程才能够打造首版产品原型,而后在项目中不断升级迭代,这些工做一般都会分配给不一样的角色去作。架构

开发团队

在当今时代一款优秀的产品必定不是某一我的之功,从想法到设计再到上线,是整个研发团队群策群力的成果,包括产品经理、架构师、开发人员、测试人员、美工、部署人员等,不一样人员相互配合,发挥着各自的重要做用,以下图:框架

产品是怎样炼成的

1.产品经理

传统意义上的产品经理,负责产品总体的管理,包括提出开发何种产品、选择何种技术、商业模式等一系列产品管理活动。产品经理是产品研发的牵头人,负责调查、收集及提出产品需求,并根据需求对产品概念进行深刻理解,根据不一样产品形式输出如:PPT、文档、原型等资料,供后续开发人员参考,同时在产品研发过程当中进行参与、纠正需求、辅助测试等。在输出参考资料的阶段一般会联合架构师,一块儿对产品核心架构、技术工具进行80%以上的明确。运维

2.架构师

架构师对整个产品研发过程起着相当重要的做用,须要对开发技术、工具十分了解,确认与评估产品需求后,从需求到设计每一个细节进行统筹考虑,输出简要开发规范,搭建产品实现的核心构架,并召开全体开发团队会议,确认需求及技术细节,对开发过程当中难点、疑问点进行统一解决答疑,以后由开发人员参与共同完善开发规范,再次通过会议确认后,正式开始产品研发工做。工具

3.开发人员

开发人员的构成包括1-2名主力程序员,2-3名开发副手,主力程序员主导开发工做及技术攻关,开发副手主要负责产品的常规功能的研发。在需求与开发规范明确并理解后开发人员编制细化至人天的产品研发计划,计划确认后便可进行产品研发工做,过程当中对开发状况按期汇报,同时对开发过程当中遇到的技术难题进行技术攻关。在部分功能开发成功后,就能够交于测试人员进行部分功能测试,根据测试人员反馈,修复产品BUG,完成修复后,将新版本上传至SVN,并向测试人员发送提测邮件,说明提测产品的版本号及变动内容。学习

4.测试人员

测试人员主要对研发出的产品进行测试,一般除了专职测试人员以外,产品经理、架构师都会充当测试人员角色来获取第一手的反馈,对于测试人员来讲,首先要深刻理解产品需求,以后站在客户角度对产品进行测试,一般在开发出产品部分功能的时候,就会参与测试,便于尽早发现产品存在或潜在问题。对于开发人员来讲,在功能开发出来以后,彼此之间也会交叉对产品功能进行联测,发现产品问题。测试

5.其余人员

在产品研发过程当中,还存在一些辅助性的角色,例如:美工人员,负责产品总体界面的设计、美化,图标的制做、提供;文档整理人员,负责产品文档的撰写、核对、整理;产品配置、部署人员,负责产品功能的配置及产品最终部署、培训等事宜。架构设计

开发团队中的相关角色能够一人兼多角色,产品经理、架构师是产品研发的灵魂人物,贯穿于产品研发的整个过程,最理想的状态是产品经理与架构师为同一人任职,具有对市场、潜在客户需求深入洞察力的同时,可以把控产品研发过程当中的全部技术点,有效攻克产品研发难题,把控产品研发周期,防范需求偏离风险。设计

研发过程

产品研发要求对目标客户、产品定位、使用场景、操做流程、系统架构、模块分解、组件选型、技术攻关、产品原型、迭代升级等每个环节进行统筹规划、深刻理解、慎重考虑、严格执行,确保产品研发进度及质量。blog

1.目标客户、产品定位

在产品研发前,首先会对目标客户、产品定位进行明确,以后根据客户定位进行针对性的产品研发。通常会考虑以下问题:产品主要面向哪一个行业、领域;产品用户群体为哪些:toB仍是toC、是集团型企业仍是中小型企业;用户需求有哪些;除显现需求还有哪些潜在需求;产品是否须要细分,有无差别化;产品的核心价值是什么,能为客户带来什么等,要站在客户角度进行分析,深刻客户行业,明确客户真实需求。

2.使用场景、操做流程

使用场景、操做流程与目标客户、产品定位是密不可分的,在明确上述问题后,进行使用场景细化,构建系统操做流程。经过对用户现状的调查研究,挖掘用户在什么样的需求下使用这个产品,以后在该场景下对使用细节进行确认。若是说在产品定位时须要贴近业务,在使用场景中要更密切的贴近用户操做方式,根据用户业务的每一步操做流程,设计产品功能的操做流程,模拟用户真实场景,将用户、业务、软/硬件、物理环境、具体需求整合,为最终用户提供更高的工做效率、更好的交互体验。

3.系统架构、模块分解

系统构架部分主要对已肯定需求的技术架构进行规划,选用合适的工具、组件,在规划的架构下去完成产品的研发。系统架构除技术架构以外,还包括业务架构、数据架构、功能架构,不一样的架构从不一样层面展示产品的技术要点、功能模块、数据走向,便于全方位不一样视角的理解把握产品。以后对产品功能进行细化分解,即:产品包括哪些功能、哪些模块、哪些接口、每一个功能的做用、功能之间的业务流程关系,各产品功能下制定哪些基本菜单、菜单子项以及操做按钮等。

4.组件选型、技术攻关

产品中一个重要环节是对产品实现中所用到的组件进行选型,一般会从众多组件中选出2-3种较为适合的组件。产品须要适应或囊括所在行业可能涉及的需求及用户的个性化需求,因此要求组件可以适应更普遍的应用,并对产品逻辑、代码运维性、扩展性的要求更高,这就意味着须要对现有组件进行改造和适配。技术攻关主要解决组件的扩展、改造、适配,对此要事先进行技术预研,由架构师进行系统学习选型,以后为开发人员讲解,并派主力程序员学习攻克此类技术难题。

5.产品原型、迭代升级

产品原型分两步,第一步为产品研发以前产品经理出具的产品原型,第二步为产品研发出的内部首发版本,一般状况下最终成型产品与原型设计是有些差别的,由于在研发过程当中会有一些需求的变动和新技术的加入等。产品开发出来的首个版本一般要供内部用户先使用、测试完善,而后才能推向外部。优秀的产品是设计出来的,更是迭代升级出来的,所以迭代升级是每一个产品生存的重要保障,产品是一个持续完善的过程,会根据新需求的提出、新技术的涌现来不断更新、迭代完善、修复BUG、升级版本。

意识形态

开发团队的人员构成与产品研发过程,每一个软件企业都是大同小异的,大企业划分可能会更细更全更专业,也有更多的人力资源配备,但并不意味着就必定能够研发出好产品,产品研发意识、执行投入是重要基础。

1.积累意识

产品研发不管从理念构思仍是技术实现,毫不是拍脑壳来决定的,没有创新思惟、技术底蕴,不能妄谈产品研发。研发出一款好产品首先须要具有积累意识,研发人员通过十几年的经验积累、技术研究而练就的,而真正的积累意识是须要有意识的、自主的去积累,刻意的学习、汇集有用的东西。

对于产品研发能力的积累,关键在于毅力和恒心、是一个不断坚持的过程,朝着发展方向进行有意识的学习,掌握相关领域的知识,持续跟踪学习新技术新知识。项目实施交付完毕后在作内部运维交接的时候强调对项目的 “复盘”,用于检查追溯项目中的成果与不足,在产品积累学习过程当中一样适用,时刻在对所学知识、所作之事进行复盘,明确哪些作的失误、哪些作的好,哪些能够作的更好,不断演练、总结、积累。

2.行动意识

作足积累以后就须要行动起来,有的公司业务积累、项目交付不少,却没有拿得出叫得响的产品,一直是项目型、销售型的公司,产品打造方面建树寥寥,由于缺少打造产品意识和行动力。产生这种现象的缘由有不少,如:重视度不够、缺少创新思惟、把控能力、执行力等。

打造产品对公司竞争力长期来看必定是很是值得投入的事情,万事开头难,提升行动意识首要就是提升执行力,把想到的事情规划、规划的事情变现。产品研发从计划开始,从萌生作产品的那一刻开始,开始列出计划,将产品概念、定位、场景、技术选型等一系列事情逐渐明确、分解、最后落实成可执行的人天计划,以后按照规划一步一步实现,组建团队、逐步推动,而后在项目中逐步完善。

3.复用意识

复用意识作为一种能力的同时也能够算作一种技巧,固然这种意识与公司的创始人思惟、企业的基因有很大关系,笔者所在的公司的复用意识体如今产品打造中、项目交付中、管理体系中等各个方面。

全部的产品都是基于自主开发框架平台开发出来的,能够有效缩短产品开发时间;不一样产品间也能够相互复用,如:BPM流程集成平台能够嵌入式工做流的方式在Portal、IDM、MDM等产品中复用,完善对应产品功能架构;

对于项目的复用,在项目中遇到新需求的状况下,产品负责人会参与进来明确需求是否能够归入至标准产品中,通用需求能够考虑在放到产品主线里,个性化的需求则在项目中扩展开发,开发后的代码打包封版存于SVN,一方面便于后续项目中遇到此类需求进行代码复用节省开发时间,保障项目顺利交付,另外一方面在产品升级过程当中做为产品的新特性来引入。

4.追求卓越

追求卓越是一种精益求精的精神,没有最好、只有更好。追求卓越不只是苛刻的要求,更是让产品技术型公司走的更远的重要手段。文中一再强调产品没有完成时只有进行时,从产品研发出的那一刻开始,就要根据技术的趋势、用户的需求不断的迭代、完善,知足更多的用户场景。

除此以外,对于产品研发也好、升级也好,要有推陈出新、与时俱进的魄力,不要被既有的框架、路线、理论限定思惟,这样不可能作出好的产品,要想凭借产品在激烈的竞争中得到一席之地,就要不断的学习、吸取摄取更多的前沿技术不断去完善产品,强化产品体系、营销体系从而赢得属于本身的市场份额。