什么是All In呢?这是一种你无法预知全力投入后将会获得什么,但只想全力以赴做到最好的心态。就像最近我经历的一个项目,全身心投入其中,从了解需求到系统设计,再到模块设计,每一步都至关重要。
这个项目的历程可谓跌宕起伏。从8月24日最终确认产品形态的1.0版本开始,一切都需要重构,评估工作量后,我们发现这与重新开发一套新系统的成本不相上下。于是,我们踏上了一条充满挑战的道路。
9月1日,我们进行了整体详细设计、数据库设计、系统架构设计和结构设计,正式进入开发阶段。工作量之大可想而知,尤其后端只有我一个人,一开始没与前端约定好接口,于是我连夜完成了系统管理相关模块、枚举和接口对象的定义,主流程代码结构也初步成型。
到了9月13日,我们完成了前后端整体交互联调的百分之九十,主流程模块也开始与外部系统对接,同时完成了主流程中的圈人、检验、动态加载检验及各类消息结果封装。
从9月14日到9月21日,前后端模块基本完成,主运营流程与接入系统联调通过,我们进入了全面测试阶段。剩余百分之十的开发工作量,需要在9月30日前完成。
回顾整个项目生命周期,这是我第一次在如此紧张的时间表下完成全项目周期的需求、设计、开发、联调、测试。如今项目已近尾声,从中我吸取了宝贵的经验:
1. 前后端接口的定义要尽量提前,以确保前端开发的同步进行。
2. 需要更详细的功能细分和时间线划分,以便在紧张的时间表中提前暴露问题并讨论解决方案。
3. 在没有测试的情况下,需要自行编写接口测试用倒和测试用例,对各种异常进行处理和捕捉。
4. 代码不仅要完成任务,更要注重可读性。即使在紧迫的时候需要特殊处理,也要注明原因,方便后续人员理解。
虽然现在的我已经筋疲力尽,但经历了这个项目的洗礼,我深刻体会到人都是被逼出来的,只有挑战才能让我们更好地成长。 |