创新性项目经验

24 年我做了一个创新性项目,从年初的第一行代码到现在,项目已成功打通,并在市场上得到了验证,也获得了盈利,明年就开始做增量和平台化。

我在四年多时间一共做了四个项目的探索,这是我近些年第一个做成的项目,昨天在复盘的时候我在想,如果当时做到哪些,可以让项目发展的更好,这篇文章是我的感悟。

人员结构

在整个周期中,最大的困难是既要写代码、想实现方案、技术选型,也要做决策,和运营反复分析、拉扯方向、目标、细节,这导致精力完全不够,两头都顾,但两头都做的不够好。

如果我能力够强,能够完美兼顾两边,那当然最好,可惜我没强到那个地步,真正做决策是很难,这要求不仅有技术实现方案,还有对业务有绝对深度的理解,要有产品思维、流量思维、商业逻辑,对业务有前瞻性,对行业有经验和理解。

否则就会陷入到运营说什么,研发做什么,然后运营一直改,研发同步改,搞到后面,研发崩溃,创新性项目和普通项目相比,需求更多更杂,不确定性更多,但需求这样天天改,没人受得了。

所以需要一个做决策的人,把控整体,为什么研发适合?因为研发懂技术实现,剩下的流量思维、产品思维、商业模式那都是可以短期学的,或者聊一下就懂个大概,但指望运营短时间理解技术,非常困难,他们只会问为什么不能上线,而不管怎么实现。

我的解决方案是加大研发资源,一个人负责把精力重点放在业务和技术实现方案,其他人负责细节实现。

研发负责人平衡需求准确性和业务迭代。

拆解目标

这是保证需求准确性的具体方法。使用目标五要素:做什么、为什么、做到什么程度、截止时间、资源。

运营有天说要做个活动,好,那就分析一下做活动的目的,比如拉新、复购、日活、冲 GMV 等。

分析了一通运营说,我全都要,那说明没分析到具体问题,继续分析,万一真有拉新、日活都要的情况,那就要以这两个目标接着拆分。

假设最后得出的结论是,要做拉新和日活。

那先来分析拉新,如果目标是拉新,有没有别的实现方案?比如直接买流量,或者做裂变,对比不同方案,找出最合适的。拆分日活目标也是同理。

现在对比了各种方案,发现活动是最合理的,要以做活动为目标。

那要做到什么程度?是给潜在用户发推广短信,还是要搞个双 11 规模的?确定具体事项、目标边界。

然后再看要达成这个目标,有多少资源,估算的上线时间,和运营期望的是否相符?

如果不符合,研发就解释下为什么要这么久,具体的实现方案,让运营理解研发的工作量。

要是项目有期望的 DDL,再看怎么配合协作,要么砍功能,要么加资源。

这里不能为了快速上线,过于牺牲代码质量,否则后续踩雷了,真心难受。

沟通汇报复盘

上面说的是具体拆解方法。在实际工作中,目标总会变的,尤其是创新性项目,变化之大超乎想象。

这时研发负责人要保证写代码的人不能被打扰,和运营重新拆解目标。

在重新确认目标后找项目总负责人过一下,一般是大老板,做好汇报。

运营汇报以数据为主,每个目标执行后,有没有达到预期的效果,为什么没有,下次怎么优化,方向对不对。

研发汇报以进度为主,可以重点说说达成了哪些里程碑,做到了什么阶段,现在目标是什么,攻克了什么困难。

毕竟研发和运营讨论出来的方向不一定和老板想的一样,所以要和项目负责人同步,如果有不同看法,那就拉着重新拆解目标。

这里重点要保护核心写代码的成员,不能被太多杂事打扰,分工协作,效率翻倍。

即使目标改变,研发负责人做好方向和架构,再重新交写代码的成员开发。

如果我早点能意识到这点,也许我没那么累,效率也更高。

代码重构

在需求不多的空闲期,一定要及时重构代码。

即使做到上面说的,也会有非常紧急的场景,突然来个明天要上线的需求,或是之前目标还是变了,代码写一半强行扭转。

我回顾自己写的代码,很多逻辑自己都不记得,改动一个地方会影响到哪些,也不清楚,这就是没有做好重构和梳理。

重构除了处理废弃代码,还要对业务核心逻辑,一遍又一遍梳理,直到记住每一个场景的流程,每一个操作的细节,做到这个程度,基本上不会有 bug。

这个很难,而且还在一直迭代,对记忆力要求也挺高的,算是道坎吧。

好了,以上就是我的感悟,加油,共勉。

相关推荐
麦兜*40 分钟前
Spring Boot 整合量子密钥分发(QKD)实验方案
java·jvm·spring boot·后端·spring·spring cloud·maven
码破苍穹ovo2 小时前
堆----1.数组中的第K个最大元素
java·数据结构·算法·排序算法
2301_793086872 小时前
JVM 01 运行区域
java·开发语言
崎岖Qiu2 小时前
【JVM篇13】:兼顾吞吐量和低停顿的G1垃圾回收器
java·jvm·后端·面试
久念祈2 小时前
C++ - 仿 RabbitMQ 实现消息队列--服务端核心模块实现(五)
java·rabbitmq·java-rabbitmq
掘根3 小时前
【MySQL集群架构与实践5】使用Docker实现水平分片
mysql·docker·架构
文火冰糖的硅基工坊4 小时前
[硬件电路-115]:模拟电路 - 信号处理电路 - 功能放大器工作分类、工作原理、常见芯片
架构·信号处理·跨学科融合
一只叫煤球的猫4 小时前
被架构师怼了三次,小明终于懂了接口幂等设计
后端·spring·性能优化
超级晒盐人5 小时前
用落霞归雁的思维框架推导少林寺用什么数据库?
java·python·系统架构·学习方法·教育电商
岁忧5 小时前
(LeetCode 面试经典 150 题) 138. 随机链表的复制 (哈希表)
java·c++·leetcode·链表·面试·go