ARTICLE · 1094082
技术吐槽2:软件都发布了,换个项目为啥还要一年?

领导:软件不是发布了吗?换个项目,模块搬过去不就行了?为什么还要评估一年?
员工:修改要调试,软件确实需要那么长时间。
领导皱眉:一个模块,即插即用,有那么难?
在领导眼里,软件像现代化大楼:标准接口,模块化,换项目就是搬砖。但他真正关心的,不是“功能有没有”,而是“换个项目能不能不再花大钱”。他要的是软件的低成本边界:一次投入,多次复用,边际成本趋近于零。
可员工这边,也常常存在认知差。工程师习惯盯着眼前这一版:需求实现了,测试过了,上线没炸,任务就算完成了。至于这套东西能不能低成本搬到下一个项目,接口清不清楚,依赖有没有隔离,文档全不全,往往不在当期考核里。于是硬编码、强耦合、缺测试、缺文档,先这样,能跑就行。
说白了,很多工程师就是在屎山上雕花。不是不想重构,是没时间、没预算、没授权。只要花能雕出来,别在自己任期内滑下来,就算赢。至于下一个项目、下一任同事、下一家公司,那是以后的事。
员工抱怨领导不懂技术,却没意识到领导要的是可复用资产,不是一次性交付。领导抱怨员工慢,却没意识到没有复用设计,快就是下一次更慢。
现实中的软件,往往是危房:图纸丢了,承重墙被改过,水电私拉乱接。改一扇门,可能拆一面墙。发布只证明在原环境能跑,不证明换项目还能活。评估一年,不是写代码,是排雷:读旧逻辑、梳依赖、迁数据、做回归、验合规。
冲突不只是领导不懂技术,也是员工不懂成本。领导没有技术认知,不深入系统,没有评估手段,就会拍脑袋:为什么慢?为什么花一年?工程师说风险大,领导听到的是能力差。员工没有成本意识,不建复用边界,就会让每次迭代都变成重造。
破局:领导要懂软件工程理论,需要迭代,看架构、技术债、迁移成本;员工要把“要调试”翻译成可量化的工作内容——涉及多少个模块、多少张表、多少个接口、多少条业务流程要改;架构上要动哪些服务、哪些依赖、哪些部署环境;数据上要迁多少字段、多少历史记录、怎么校验一致性;测试上要覆盖多少用例、跑多少轮回归、做多少性能和安全验证。同时主动解耦、补测试、写文档,把系统变成可复用资产。
发布不是竣工,只是迭代开始。 模块即插即用?很多模块只是模块形状的泥巴。 评估一年,不是软件需要那么久,是历史债务和认知差需要那么久。