产品:”这次的需求很简单,只要做xxx就行了,prd你看下哈“。
技术:“实现不了啊,现在的接口逻辑不支持,需要改造接口”。
产品:“这个功能不就是xxx么,你直接说要多久吧“。
技术:“按现在的逻辑需要重写Action、Service、Dao、和配置文件”。
产品:“这个需求很简单,怎么实现我不管,明天上线"。
技术:die!
需求开发周期只有5天,产品技术讨论实现方案花了1天。匆匆忙忙完成开发,发布上线。产品运营中,一堆问题,互相甩锅。产品抱怨开发不配合,开发责备产品不懂技术。
反反复复,长期以往,耗费太多时间精力在无效的沟通上。
所以,产品经理需不需要懂技术。懂到什么程度,是个重要的话题。
首先抛出一个软件设计概念。MVC框架。即模型(model)-视图(view)-控制器(controller)的缩写,一种将业务逻辑、数据、界面显示分离的软件设计模式。
我们简单的来看一个登陆功能的实现。用户从可视化界面输入用户,密码。点击确定后,程序如何交互。数据如何流转。
A、V:view,视图,即眼睛看到的界面,我们可以称之为视图。jsp视图层(具备数据交互的动态页面)。用户在文本框输入用户名,密码。点击登录按钮,form表单提交数据。
B、Model模型模型层(JavaBean)
建立一个实体用户类,这个类封装了用户实体的对象,只有两个属性,username和password以及他们的get、set属性方法。
数据库连接的类:
DataBaseUtil.java
UserDao类:与用户相关的数据库操作,包括数据库查询,添加,用户信息持久化等方法。
UserDao.java
C、Controller(Servlet控制层)
登录页提交表单,给Servlet进行处理。Servlet获得表单中的信息,然后调用JavaBean来具体比对用户名是否相同,密码是否确认最终决定是否将注册信息保存入库。同时将最终结果通过message.jsp呈现给用户。
SignInServlet.java
这就是一个简单登录功能的MVC模型原理。
再看下,目前程序开发的一些主流技术:
前端语言:HTML、CSS(样式,布局)...
动画、交互:JS、jQuery、Node.js...
后台语言:Java、PHP、C++...
数据库:MySql、Oracle...
移动端:Android、Swift
技术框架:Spring Mvc、SSH(Struts+Spring+Hibernate)。
有点懵?我很久没看过代码。也懵。产品对技术的掌握不一定需要到这个维度。除非创业公司,开发资源紧张的情况下,挽起袖子自己写。
简单来讲,产品经理只需要针对以上技术有所了解,在和技术沟通的过程中,就会事半功倍。
产品经理懂技术几大优势及帮助:
一. 可行性预估
开发一个互联网产品基本的技术常识,至少要清楚一个产品从不存在到能被用户访问,需要哪些必须的环节;也要明白一个App从你的脑海走到用户的手机里,需要经历怎样的过程。清楚每个需求实现的可行性。不至于天马行空。
二、开发周期把控
互联网产品讲究敏捷开发,即小步快跑,速度迭代。一个大型产品开发、功能会被拆分为多个模块、每个模块制定相关时间节点。开发人力资源需要被很好的协调和评估。才能将项目平稳,可控的上线。因此懂技术,我们可以将细化的需求按当前人力情况进行合理分配,保障产品上线的时间和质量。
三、产品架构搭建及拓展
开发一款产品,不管是从0到1,还是从1到N,在产品设计时,一定需要考虑产品的框架及架构,互联网产品增长非常迅速,迭代异常频繁,懂技术,可以快速理清各产品线之间的逻辑,架构,数据流向,在产品设计过程中,降低耦合度,对日后产品迭代打牢地基。
然而,技术是把双刃剑。懂技术不能偏向技术,陷入技术思维。应从产品角度出发,提升产品价值才是产品经理的职责。
产品经理技能包含很多维度:行业知识、市场运营、技术、交互设计、沟通协调、项目管理。路漫漫其修远兮,先来把王者荣耀。
领取专属 10元无门槛券
私享最新 技术干货