前端开发如何做好一个技术项目?

867 阅读6分钟

前言

作为一个前端开发,工作中会做一些技术项目以提升开发效率、保障系统稳定性,甚至做一些技术驱动的产品以提升公司的运营效率、提升产品的核心竞争力。

那么,这些大大小小的项目,如何做,如何推动,做之后怎样去衡量产品价值?本文将以前端为视角,探讨完成一个完整的技术项目的过程。

主要章节:

  • 识别问题
  • 背景与价值
  • 行动
  • 推广
  • 反思

识别问题

关注产品开发流程的每个阶段

保持对技术的敏锐度,时刻关注开发流程,直面问题,不嫌弃问题小,也不怕问题大。

目前产品开发主要分为以下几个阶段:

  1. 市场调研
  2. 产品设计
  3. 可行性分析
  4. 视觉交互
  5. 需求拆分
  6. 协作方沟通
  7. 功能开发 接口对接联调 部署 测试 验收 上线
  8. 数据收集统计 数据分析 产出新优化需求

我们如何从技术层面优化整个流程?就是缩短从开始开发到上线的整个流程。其他流程需要其他职能的人负责,当然你本身还就是一个决策者,就能触及到更多流程并优化整个流程。

这些思想和工具解决的问题逃不开以上阶段,归类下来举例:

  • react, vue 对应功能开发阶段,主要解决提效、维护、降低复杂度等问题
  • antd 等开源或公司内部基础组件库、业务组件库,对应功能开发阶段,主要解决提效、一致等问题
  • yo、creat-react-app、vue-cli 等对应功能开发阶段,解决项目初始化、降低门槛等问题
  • webpack、rollup、gulp 等对应开发与构建部署阶段,解决工程复杂度问题
  • yapi、easymock 等在线 api mock 测试、自动同步工具,对应接口对接阶段,解决效率、沟通、维护问题
  • docker、k8s 等 devops 底层工具,对应部署服务运行阶段,解决效率、一致性、工程复杂问题
  • serverless、faas 等无服务架构,解决效率问题

总结下来开发人员使用到的工具都可以对应到上述流程中的某个或多个阶段,他们主要解决效率、复杂度、稳定性、产品一致性等主要问题。

深入思考使用的每个工具:

  1. 工具解决的问题能用来做那些事
  2. 工具解决不了那些问题
  3. 工具优缺点

当我们发现某个工具的缺点或无法解决某些问题时,我们可以对比竞品或新工具。详细了解新旧工具差异,再决定是否引入新工具,甚至创造一个工具。这时就可以进入到下一阶段。

背景与价值

这一步你已经确定要引入新工具,或创造工具来解决产品开发中的问题。

首先我们要确定项目价值,与团队,与公司目标一致,并得到认可,具体流程如下:

  1. 第一,做项目之前必须明确项目价值,多问自己一些问题。例如:项目能给公司带来什么价值?为什么要做这个项目?不做会怎么样,痛点足够强?是否是伪需求,有其他替代方案么?
  2. 第二,明确项目价值后我们还需要明确项目投入产出比。公司肯定更想要什么小投入,大产出的项目。我们再问问自己,我的投入资源需要多少?产出是否能匹配得上项目的资源投入。
  3. 第三,用户调研,与用户讲述项目,看看他们是否有需求,项目产出能否适用。尽可能多的获取一些信息。信息收集完后,与项目目标一致,当然最好。有很多与项目目标不同,那需要重新设计项目的整个目标甚至废弃此项目。

进行到这里,如果项目目标价值确定没问题,也确实有很多需求,那么就能开始下一步:行动。

行动

行动这一步我觉得算是整个流程中最简单的一步。虽然行动大概率是流程中时长占比最大的那个,但是到这一步项目要做啥,目标,利益关系已经确定,只需要往前冲即可。

需要特别需要留意的是,项目管理要到位,不然很容易一拖再拖,导致项目延期,黄了。

行动流程如下:

  1. 编写项目立项报告,拆分项目里程碑,明确每个里程碑目标
  2. 向领导报告,确认项目能正常开始,并争取到需要的人力资源
  3. 组织项目启动会,确定项目开发任务、开发周期、开发节奏、人员安排
  4. 迭代开发中,定期组织会议同步进展。尽可能多的暴露问题与风险,及时调整方向,动员成员积极性,时刻宣导项目价值,并组成利益共同体
  5. mvp 版本开发结束

初版开发结束后,不着急继续迭代,继续下一步重点流程:推广

推广

推广分为两个阶段。

第一阶段,内测,项目还未完全完善,可能存在一些问题。寻找部分爱折腾的目标用户,开始用起来。内测用户量占预测总用户量的10% 左右。

这一阶段主要任务就是收集问题,快速解决。

第二阶段。全量推广。通过各种形式,例如宣讲会、群广播、内部门户公告等渠道。后续就是一个长期的维护阶段,持续收集问题,优化项目,有必要就持续迭代。

反思

你以为推广之后就结束了吗?还没完。我们需要进行自我思维重塑的最后一个阶段,反思,也可以称作复盘。

回顾项目的每个阶段。反思整个工作过程的优缺点。对优点进行自我肯定,激励自己;对缺点仔细琢磨,寻找更好的解法,持续提升自己。

开发者很容易限入技术实现细节沼泽,我们应该更多关注做项目的方法论。技术从业者越到后期,对于技术人的差别反倒越小。通过做项目持续反思复盘,提升自己的项目管理、技术架构、业务技术敏感度,才是最重要的。

总结

阅读全文后,我们了解到做好一个技术项目的每个阶段,以及每个阶段如何做,最终我们通过反思,提升自己。以上流程可以归类于项目管理,他们底层逻辑都是共通的。

希望这篇文章能帮助到大家,感谢阅读!

以上。

扫码关注 “洋葱说前端” 第一时间接收文章推送