项目开发中对成长的一些思考

Posted weixiao-he

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目开发中对成长的一些思考相关的知识,希望对你有一定的参考价值。

写作目的

希望通过这次分享能够让大家更好的去独立进行项目开发,或者是带着团队一起去完成项目的开发,并且在这过程中都有成长。

前言

项目总有做完的时候,就是看有没有做对,做成。

除了关注项目本身之外,还需要关注一下人,比如如何让自己自身成长、如何让其他人成长。

如何独立去进行项目的开发?

咱们的目标肯定是希望把这个项目做成。

面对的主要问题

  1. 知道要做什么、能不能做、什么时候截止
  2. 知道要怎么去做
  3. 开发
  4. 交付

1. 知道要做什么、能不能做、什么时候截止

  • 对需求: 一定要知道产品想做什么东西,不然到时候做出来的东西不是产品想要的。
  • 调研:这个需求能不能实现,不能实现咱们就不用做了。
  • 确定一下交付时间

2. 知道要怎么去做

  • 熟悉开发流程
  • 技术选型、定方案
  • 任务拆分、排期

3. 开发

  • 按照排期进行项目的开发,跟其他伙伴配合,解决遇到的问题,完成功能模块的开发。

  • 如果用的是新的技术栈,请提前做好基础知识储备。

  • 自己难以解决的问题,可及时向他人求助。

4. 交付

  • 把需要的东西交付给需求方,等待需求方验收。

怎么做得更好?

3 个阶段 1 个总结:开始阶段、执行阶段、收尾阶段,复盘总结

开始阶段

  • 充分了解需求,明白产品到底想要做什么。补充需求,可能会出现产品逻辑功能缺失的情况,尽早提出来,避免做到最后了才发现产品逻辑不完善

  • 精细的任务拆分,最好是能拆分到一个任务一天(这样对项目有多大的工作量更清楚,更易于把控进度)。排期不要算上加班的时间,按正常的工时去计算。

  • 明确交付产物、交付标准和截止时间 (知道什么时候交付及交付什么东西,这样才能保证交付的东西是完整的,准时的)。最好整理一个交付的checklist,和一个交付检验的流程文档。

执行阶段

  • 当日事当日毕 (保证进度)

  • 及时沟通,尽早暴露风险 (这样大家可以一起帮忙把风险解决掉,保证进度)

  • 强化解决问题的能力 (保证进度),特别是debug的能力。

  • 不确定的问题,一定及时沟通 (保证进度和质量,避免做出来的东西与产品想要的不符合)

  • 做项目的过程中,可以多思考一下当前项目开发流程上有什么不足,可以如何去做调整,然后带着解决方案去找项目负责人

  • 添加代码注释或者开发文档。比如如何开发、调试、测试及上线。方便后续开发和维护

  • 深入思考一下项目的原始需求,当前项目开发完成之后,是不是可以解决之前要解决的问题,有没有更好的方案。

收尾阶段

  • 自测(保证提测质量):交付前根据 checklist 检查一下要交付的东西是否完整、是否达到交付标准。

复盘总结

  • 想一想,之前开发项目的时候哪里被卡住了,如何提升自己的开发效率。(比如说下次再有同样的项目,如何缩短项目的开发时间。)

  • 流程上是否有待完善的东西,以提高团队的效率、提高整体开发的质量。

  • 多从其他人的角度去思考问题,看看如何配合起来更顺畅,效率更高,条件允许的情况下,可以协助他人解决问题,提高自己的影响力。

  • 总结一下目前项目的优势和不足,提取经验复用到下一个项目中,能落成文章或者跟大家分享更好。

** 核心点:提高自身能力和影响力。**

如何带着大家去进行项目的开发?

面对的主要问题(从业务接口人的角度)

  • 知道项目大的目标是什么、交付什么东西

  • 要让大家知道各自都需要做什么

  • 技术选型、方案定制、定制开发流程及规范

  • 资源协调(跨部门协作需要进行资源的沟通协调)

  • 处理风险及把控进度(解决开发过程中遇到的问题)

  • 成果检验(保证交付质量)

如何去做(仅供参考)?

3 个阶段 1 个总结:开始阶段、执行阶段、收尾阶段,复盘总结

开始阶段

  • 充分了解业务,从业务的角度,和产品经理探讨需求的合理性,发表自己的看法和见解。

  • 根据需求,分析一下项目的重点或者难点,定制一下解决方案。有必要的话出一个小demo,做技术预演。

  • 定一下项目的架构,进行模块及任务划分。

  • 梳理一下项目开发中需要依赖的外部资源,提前沟通协调。

  • 定制开发流程和规范

执行阶段

  • 每天下班之前同步一下开发进度及问题点,协助解决重点难点问题,当日问题尽量当日解决。如果是紧急项目,小组内进度同步完成之后,整理汇总到项目负责人或者领导处。

  • 拉通认知,随时保持大家对项目,需求的理解是一致的。

  • 保持良好的沟通氛围,可提高开发效率或者及时发现问题。

  • 管理风险:风险接受(知道这个风险并且能接受)、风险规避(通过其他方式规避这个风险)、风险控制(采用策略缓解这个风险带来的影响)。

  • 解决冲突:人力冲突、优先级冲突、技术见解冲突等。能自行解决的就解决,解决不了的,可让第三方介入解决(比如其他同事或者领导)。

  • 重要的技术方案及重点问题记录,统一形成文档,让大家都能看到。

  • 协助解决问题以引导为主,帮助其他成员提升解决问题的能力。

收尾阶段

整合项目,并进行自测/预演,确认没有问题之后再交付。

复盘总结

项目交付之后,自己先进行总结,然后带着大家一起进行复盘。不用太正式,每个人都有发言的机会,畅所欲言(最好是给大家时间去想,写纸上,然后挨个发言)。最后总结,提取经验,形成文档一起归档。

自我总结的思考:

  • 项目是否达到预期的效果?如果没有,原因是什么。
  • 团队开发效率和配合的默契程度如何?是否还能再提升?
  • 开发流程是否完善?有没有需要补充、改善的地方?
  • 团队成员的收获是什么?对于他们来说是和有收获和成长?

** 核心点:整体规划、项目管理、团队成长、业务理解**

以上是关于项目开发中对成长的一些思考的主要内容,如果未能解决你的问题,请参考以下文章

关于个人成长的一些思考

这就是java程序员想要的几大成长法则!难道你不想知道?

CSAPP读前读后感:关于技术成长的一些思考

思考-个人成长(面向前端,也不只是前端)

javascript中对数据文本格式化的思考

SpringCloud成长之路 一 注册与发现(Eureka)