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

不懂技术怎么做产品?15天在线学习,补齐产品经理必备技术知识,再也不被开发忽悠。了解一下>

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

1. 产品经理和包工头

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

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

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

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

2. 项目:打地基+盖房子

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

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

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

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

3. 敏捷开发-小步快跑

项目开发模式

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

小奈:瀑布开发,什么鬼来的?还是不懂啊。

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

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

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

4. 项目立项-产品篇

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

  • 大公司产品和项目经理分开;
  • 小公司产品兼任项目管理。

产品和项目是有差别的,产品无边界(版本管),项目有边界(可拆解成固定的开发任务、有验收标准)。

  • 产品经理决定做什么,在立项时(第一个版本),需求分析基本完成,不会有大的改动,否则项目经理砍死你。
  • 兼任项目管理,要有任务开发时间表,一般用project/jira/excel来进行管理。

5. 开发任务如何量化?

大仁:好问题,其实开发的工作,是可以量化,标准化的,有个外包网站,它里面有个估价的功能,估价会按照标准(项目类型、模块分类、功能点)进行评估,最后得出一个报价。

报价/工作量

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

6. 编程语言图鉴

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

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

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

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

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

PHP还是Java

小奈: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, 后期就要架构师了。

Java-多年的大哥

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

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

web服务器有哪些:

  • Tomcat:汤姆猫;
  • Weblogic:微波炉。

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

Java的编辑器

写过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 协议

给作者打赏,鼓励TA抓紧创作!
4人打赏
评论
欢迎留言讨论~!
  1. 看上你的两个图啦,哈哈,收走

    回复
  2. 想了解下目前后端有.net开发跟JAVA开发有什么优势和劣势?

    回复
    1. .net已经淘汰了,应该是老旧项目才用了

      回复
    2. 我也这么认为,但目前公司这边还是用.net做开发,一直存在着一个服务器不稳定问题。我对这开发语言没有过多研究,想了解下JAVA开发相比.net开发有什么优势?

      回复
    3. 你知道生态么? Java可以是服务端开发 也可以用于安卓开发 Java和数据库并发也更好 生态好 开发者众多

      回复
  3. 大神,那个估价外包网址能发一份吗?,谢谢

    回复
    1. 为免打广告嫌疑,微信公众号回复“外包网站”,可以获得。

      回复
  4. 厉害!!通俗易懂!

    回复
    1. 感谢认可

      回复
  5. 比喻很好,收藏了!

    回复
    1. 感谢认可,觉得不错可以,转发给更多人看喔。

      回复
  6. 麻烦问一下,外包估价的网站能说一下嘛,谢谢!

    回复
    1. 为免打广告嫌疑,微信公众号回复“外包网站”,可以获得。

      回复
  7. 请问初期用php,后期用Java的话,是不是有两种方式,1.全部重新用Java写,2.部分子系统用Java?

    回复
    1. 看系统的架构,一个大的系统,可以有很多子系统,一般是没有架构师,重写的情况比较多。

      回复