项目立项时,产品经理该了解和注意的事

  项目立项时,产品经理该了解和注意的事。还有关于项目开发、开发任务评估、技术选型,技术框架等常识。

  小奈:怎么了解开发实现功能的方式和难度?

  大仁:上次不是写了这篇,产品经理如何与开发沟通?

  小奈:怎么准确分配需求给各个端的开发?

  大仁:好吧,要了解的那么细,那我就深入讲解下。

  

  大仁:如果你奶奶问你,产品经理是做什么?小奈:额,就是负责产品设计、管理、协同开发、市场,推进项目落地的。

  大仁:错,如果项目开发是盖房子,那么产品经理就是建筑设计师,项目经理就是包工头,开发就是水泥工。

  和盖房子一样,最重要的是打地基,地基决定了房子的高度,打地基就是技术架构选型,例如淘宝前期是php,后期由于业务发展,数据库瓶颈,换成Java。

  项目一般分为前后端,无论是什么前端项目,都需要后端支持,正常的开发人员配备,也是两个后端对四个前端(web、pc、Android、ios)对4个产品。

  

  瀑布开发:传统的项目型软件开发,流程、周期较长,常见于外包团队; 敏捷开发:互联网的产品迭代,每周一个小迭代,mvp小步快跑,常见于互联网创业项目。 小奈:瀑布开发,什么鬼来的?还是不懂啊。

  大仁:假如说项目开发,是盖房子的话,那么数据库设计、架构搭建,就是打地基,地基不打,如何盖房子?

  大仁:瀑布开发就是,给包工头,包工头按照设计图,盖了1年房子后,你终于去看盖好的房子了,一看不是自己想要的,又叫包工头,又开始项目二期;

  敏捷开发,就是你要求挺多的、而且没有最终确定的,然后包工头,快速打了个地基,你每周过去看房子,盖得怎么样了,这样子,盖出来的房子,可以让你比较满意;

  项目立项时,产品经理要做些什么呢?

  大公司产品和项目经理分开; 小公司产品兼任项目管理。 产品和项目是有差别的,产品无边界(版本管),项目有边界(可拆解成固定的开发任务、有验收标准)。

  产品经理决定做什么,在立项时(第一个版本),需求分析基本完成,不会有大的改动,否则项目经理砍死你。 兼任项目管理,要有任务开发时间表,一般用project/jira/excel来进行管理。 大仁:好问题,其实开发的工作,是可以量化,标准化的,有个外包网站,它里面有个估价的功能,估价会按照标准(项目类型、模块分类、功能点)进行评估,最后得出一个报价。

  

  

  

  大概需要耗费21-29w左右,假如一个开发工资1w,那就是需要4个开发(2个后端+2个前端),大概6个月时间,那么如果你把这个人物和需求关联后,大概要做多久,应该可以衡量了吧。

  

  随着互联网的发展,技术不断更新,日新月异,后端开发语言众多,php、java、c#、python、golang,百花齐放,百家争鸣。

  Java: 20多年后端语言,sun公司的;c#:微软的后端开发语言,为了对抗Java;

  python:谷歌的,随着人工智能一起变热;

  golang:号称是后端里,最快的男人;

  python和golang处于快速上升,Java常年霸主,坚如磐石;php、c#则随着历史,滚滚车轮,慢慢退出舞台。(个人观点,如有不对,请指正。)

  小奈:PHP和Java的区别、优缺点,适用场景是什么?大仁:Java和php都是后端开发语言,Java适用于中大型企业级服务器开发,PHP适用于中小型服务器。

  (1)上手难度比较

  – php易学易懂,非技术的人,稍稍学习,可以上手,环境搭建用LAMP/WAMP一键安装包,常见开发工具,phpstorm。– Java则要求理解,Java语法和核心架构(jar包)以及JVM,环境配置也较为麻烦,常用开发工具eclipse或Intellj Idea;

  (2)优劣势比较

  Java的优势:从数学运算、数据库访问、技术架构上,优于php,所以对于跨平台大型,的企业应用系统,Java几乎已成为了唯一的选择,阿里就是全线Java系列,水平也是国际前沿;Java的劣势:Java架构、性能强大的背后,或者说代价,就是复杂性,尤其是在web框架,用Java开发一个web客服系统,可能需要9个月、看9本书,而php可能只需要2个月,3本书; php的优势:php吸收了Java、c和perl的有点,专注于互联网web领域,很适用于快速开发、维护,中小型网站; php的劣势:php项目后期,随着业务发展,对数据库要求高,php这方面支持以及架构均弱于Java,还有php程序员较少,不像Java程序员的生态那么强盛。 (3)适用阶段

  创业初期:php,后端;中期:php、c++,cto+后端;

  后期:java、c++,cto+架构师+后端。

  其实,为什么多了个c++呢?

  台湾剧

  其实创业项目初期,它是一个小项目(后端+数据库),随着业务的发展,对数据库要求高了,再后来就对架构有要求了。所以一个大的系统,可能由多个子系统组成,子系统可以是不同的语言开发,只要遵循协议(soap/websevice/restful),就可以并行,形成架构了,所以中期就会需要DBA, 后期就要架构师了。

  2000伊始,Java由于其优秀的语言特性,被大家推举为大哥。大哥宝座一坐23年了,期间php、ruby等试图挑战,其地位,但坚如磐石。

  后端时代:那时候,还没有前后端,只有后端。Java工程师写完后端逻辑,随便再把数据包在网页,传给浏览器,一人包办。这里不得不介绍下,汤姆猫web服务器。

  

  web服务器有哪些:

  Tomcat:汤姆猫; Weblogic:微波炉。 Java程序员每天的工作,就是把逻辑实现好,打包成一个war包,扔进web服务器,看下浏览器运行效果,正常的话,就下班回家了。

  写过Java的应该,都用过eclipse,现在用Idea的比较多了貌似。Java的集成开发环境,就长这样了,其他语言的也差不多。左边是项目文件,会有主入口文件,其它的包、类文件,中间是某个文件,的代码编辑区。

  类与对象Java是面向对象编程语言,类和对象,应该是编程初学,必知的。科普下类和对象,假如猫a、b是对象的话,那么类是什么?

  类就是动物,类是抽象化的,对象才是具体的。

  

  父类:动物

  public class Animal{

  }

  子类:猫

  public? class Cat extend Animal{

  }

  对象:a猫

  Cat a = new Cat()

  讲个故事,给你一份详细的技术书

  讲个故事,给你一份详细的技术书(2)

  作为产品,你需要了解这些技术知识

  数据产品经理该懂的python技术

   

  作者:Jack,新零售数据PM,公众号:产品经理的技术课堂

  本文由 @Jack 原创发布于人人都是产品经理。未经许可,禁止转载

  题图来自 Pexels,基于 CC0 协议