公司级的软件过程实践

02.创业团队怎么实现想法?

2019-01-28  本文已影响125人  Wales_Kuo

系列文章中的第二篇。

前提

本文为《大型网络应用全景图》的续编。也是为了帮助各种想转型,各种想进入互联网行业的人们提供一个简单的对比。让各位了解一下进入需要考虑哪些东西,怎么样选择团队的搭建等等内容。

举几个例子:

所以,团队肯定是自己组织好,但是自己组织没有把控力。可能被技术负责人直接整团队带走。总结一下可以说:就像其他行业(如:建筑设计,药品研发,芯片制造)一样,软件研发不是谁想做就能做的。但是,软件研发也有它自己的特点,它需要跟各个行业结合才有价值。所以,不管在什么样的情况下双方只需要做到诚而不欺即可达到最好的发展。

写这篇文章就是为了解决这些现象。就有可能会出现一些人会怀疑说,你写了这些,谁还会找你咨询,找你做实现?

  1. 我遇到的事情也是比较多了。遇到各种各样的不靠谱的事情,所以,想在这里劝解一下各位想进入互联网行业的人。不要轻易的进入,如果要进入,还是要考量清楚之后在进入。
  2. 我相信世间还是好人多的。不要被骗,也不要骗人。
  3. 知识是需要输出的。没有输出,就没有意义。并且你的一点点输出说不定哪天就能为整个行业的提升做出巨大的贡献。

在本文中会对比使用外部力量来帮助实现和自己组织团队之间的区别、不同等内容。这里不会具体把两个的成本列出来,因为成本是显而易见的。在这里更多的讨论的是团队背后的事情,这些也是为了让产品(项目)能更长远更好的发展的一个前提。

下面会以项目制(外部力量帮助)和产品制(自己组织团队)这两种方式在各个事务上的对比描述各自的优缺点。其中涉及九个大方向,每个方向都会有具体的说明。并在最后会对这九个方向进行一个大致的总结。下面让我们One By One的看一下这几个方向的内容。

目标

每一个人在做任何事情之前肯定要知道目标是什么,用目标来知道我们的具体实施过程。所以,一个团队或者一个公司肯定也是有自己的目标的,用这个目标指导项目团队管理,实施过程管理等等的软件过程管理工作。下面分别说明不同团队在目标上的不同:

  1. 在需求方规划的基础上,需求放将规划的一部分交个项目方进行实现。由项目方为软件客户解决某方面的问题;
  2. 软件开发公司与软件使用公司项目合作,达到双赢的目标;
  3. 项目方可以在实现过程中积累行业经验,为深入行业内部做前期工作;
  4. 在实施过程中可以对项目方自己的业务体系、技术体系、咨询体系、管理体系进行不断的升级与优化。
  1. 解决行业中的问题,并通过这个途径完成项目;
  2. 将系统服务运营起来,并实现盈利;
  3. 为客户提供更好的服务,提升客户满意度;
  4. 形成完整的产业闭环,从产业闭环内赚取利润。
  1. 从目标上就可以看到项目外包和自研项目的主要区别在于项目制时的软件实施公司更注重自身的成长与发展啊。产品制公司更注重产品是否能上线,能吸引客户,能够盈利。
  2. 在软件研发过程成需要有很强的业务规划能力和软件过程把控能力。不是不经过长期训练就可以实现对软件的研发、运营、运维的整体认识;
  3. 这里隐藏一句话。如果有兴趣可以加我微信,我可以单独发给你。

产品规划

目标明确之后,接下来就要对产品进行规划。本阶段中所有的内容,在二流及以下的项目制团队中都不会有涉及。除非像一流的项目制团队或者咨询公司中才会有。例如:ThoughtWorks,埃森哲,IBM,HP等等。

产品规划是指产品规划人员通过调查研究,在了解市场、了解客户需求、了解竞争对手、了解外在机会与风险以及市场和技术发展态势的基础上,根据公司自身的情况和发展方向,制定出可以把握市场机会,满足消费者需要的产品的远景目标(Vision)以及实施该远景目标的战略、战术的过程。

在信息系统架构设计阶段,确定主要的信息类型和处理这些信息的应用系统。在本阶段有两个主要的步骤,数据架构设计和应用架构设计,二者既可以依次开发,也可以并行开发。核心内容为:IT系统如何满足企业的业务目标;信息以及信息之间的关系;应用以及应用之间的关系。

一般来说,运营的目标不同,基于目标的手段也就不一样。对一个产品来说,基本的运营手段至少包括三种:内容运营,活动运营和用户运营。

运营模式

内容运营是最古老的运营手段之一。通过内容去打动用户,以内容为主的产品会更具黏性,媒体产品就是一个非常典型的内容产品。包括微博也是,微博现在已经成为了一个通过内容去打动用户的产品,所以对新浪微博来说,内容运营是非常重的一块。

一般来说活动运营有两个目标,一个是结合市场部门需求,起到吸引新用户的作用;另一个则是结合用户运营需求,起到活跃用户的作用。做一个活动运营(或者称之为策划),我们更关注的应该是执行过程的细节,并通过活动的投入产出来衡量活动效果。

用户体验需求
用户体验(User Experience,简称UE/UX)是用户在使用产品过程中建立起来的一种纯主观感受。但是对于一个界定明确的用户群体来讲,其用户体验的共性是能够经由良好设计实验来认识到。计算机技术和互联网的发展,使技术创新形态正在发生转变,以用户为中心、以人为本越来越得到重视,用户体验也因此被称做创新2.0模式的精髓。在中国面向知识社会的创新2.0——应用创新园区模式探索中,更将用户体验作为“三验”创新机制之首。

需要进行企业内部的运营管理。使用各种各样的方式进行运营过程管理,产品过程管理,实施计划管理等等企业运营管理过程。

产品制公司需要有很强的业务支撑能力,项目才能真正的进入实施阶段。需要有业务分析能力,才能形成完整的业务闭环。需要有完整的企业内部流程管理,才能真正的驱动开发过程。所以,这些内容不可能交给一个项目制公司去代管。需要有产品制公司整体的想法与过程才可以真正的支撑起来项目团队与运营团队。

需求调研

不管是项目制还是产品制,跟研发团队沟通时都需要SMART原则下的项目需求。因为这一步已经进入视线阶段了,如果需求仍然不够明确那研发团队做出来的东西肯定和你想的不一致。这个时候不要怪研发团队怎么能这样,这是因为你自己没有说清楚。所以,需要进行业务调研、业务分析、业务设计工作。

让产品经理、研发团队充分的理解业务的目标,业务过程的一个过程。然后产品经理会根据了解的内容进行业务分析并进行业务建模工作。

  1. 项目制在软件实施过程中的目标性更强一些,可以推动项目真正的向前进。从某个侧面推动整个产品的不断前行。
  2. 产品制的计划更强一些,可以保证在为公司的业务发展有正确的方向。可以持续的去优化,改善系统。

投入评估方法

在企业管理过程中比较重要的是对人财物时的管理工作。针对于软件研发过程也是适用的,但人不是一般意义上的人。这里的人是指由专业技能的人,可以真正在软件研发层面上解决问题的人。下面具体说明投入评估的区别。

这里说明评估过程中项目制团队关心的内容和产品制团队关心的内容的不同点。

  1. 项目制的各项都比较明确,可以根据明确的目标进行明确的评估工作。总体来说会按照人员投入情况进行评估。
  2. 产品制整体内容不是很明确,只能保证某段时间内需要这样的功能或业务。也不会进行相应的评估工作。所以需要长期支撑整体团队的要求。

实施过程

上面规划也做了,设计也完成了,也对投入没有什么问题的时候。就开始进入实施过程中。实施过程如果是不理解软件工程的人就会认为招人去做就OK了。其实没有那么简单,举个简单的例子很多地方都会用到齿轮,齿轮是不是要考虑材料的强度,韧性才可以知道材料是否合适,坯料来了之后加工时,是否需要严格控制误差尺寸。要不放不进去,不能和其他齿轮咬合。基本上这两项可以定义一个齿轮的质量了,但是软件中的很多质量都是隐形的,看不到的。这个东西就没有办法去实施了。这里就对这些内容加以说明。

项目在到达上线水平时,需要考虑是否允许上线。上线后的部署情况等内容,所以需要进行详细的考量工作。以下说明两种不同的方式的考量内容:

实施过程主要的内容是将计划和设计实施落地为一个真正的可运行的项目。在这个过程中不管是那个阶段,那个团队欠的债最终都是要还的。

团队

正如本文开始时候的例子,需要对技术团队有把控的能力。在软件研发与运营过程中最主要的就是团队需要控制。这里说明团队控制的内容。

团队的组织方式不一致。产品制团队更注重稳定、可靠,注重持续的进展以及输出。项目制的团队更加注重快速输出,快速解决问题。

运营支持

运营是项目上线后非常重要的一件事情,在这个阶段项目制团队几乎不参与。这个阶段的内容需要有运营团队+产品经理来完成。

  1. 针对每一个阶段,每一个支持进行立项。并收取费用。
  1. 产品经理收集运营数据,并针对运营数据进行分析得出需求。对这些需求进行分析与设计。
  2. 针对内部管理需求进行开发。对这些需求进行分析与设计。

项目制需要独立立项,独立的完成。产品制在项目开始阶段就规划好,并持续执行。

技术

软件过程中一个比较重要的点是技术,技术是整个项目的支撑。这里对比一下项目制和产品制技术的特点。

项目制公司的技术,更加针对通用型的业务。产品制的技术需要有全方位,全方位的储备以及使用。因为在不同的场景下需要不同的技术来实现。

公司对比

最主要的是公司会根据以上的对比进行各项事宜的指导工作。所以,这些就是不同的类型的公司行事风格的基础。有些是有项目制上遇到一些事情,将就一下就过去了。因为不涉及到运营部分,所以,之后发生的问题也找不到这批人。但是,在产品过程中,现在可以将就一下。但之后发生了问题肯定还是需要解决的。

从某些角度讲,从传统行业进入软件行业是比较困难的一件事情。因为所有的东西都跟数学,逻辑有关。很多人都无法理解这个里面的内容,并且在实施和团队管理过程中的投入也比传统行业要巨大的多。如果在公司内部可以按照这种方式进行行事会事半功倍。在外部和公司合作,就需要考虑这些情况会不会影响自己的计划。

这是我第一次写没有任何插图的文章,不过我还是针对这个文章整理了思维导图。如有兴趣可以加我微信,我把思维导读发给你。

他人意见

说我的几个看法吧:
1、首先产品的开发是要在公司战略的支撑下的,产品的生命周期内会有几个项目的生命周期组成
2、产品需要更快的完成业务闭环,去市场验证,反复修改,获得回报,Product Owner是一个产品重要的角色,通常他是项目中的内部客户
3、产品的开发周期较长,涉及版本较多,所以对产品的版本的维护、hotfix、SP等后期的维护的考虑在开发中要有所体现。同时产品生命周期长,为了持续保持产品的质量,UT,AT的比重要根据产品的周期和规模,不断加强。
4、产品开发中要考虑营销模式、运维、知识库等多种因素

我感觉产品制其实就是高度标准化的项目制。产品制目标就是实现项目聚焦,增加可复制性。

参考

运营有三种模式,你懂几种?
产品规划
聊聊用户体验的五个要素
良好的用户体验3个特点和实现4个层次
系统架构设计方法论——TOGAF

上一篇下一篇

猜你喜欢

热点阅读