增量开发在技术改进项目上的应用
今天的工作取得了巨大的进步,用新阳的话来说,这是方法层面的进步。
话说我们为了提升数据库的性能和逻辑清晰度,要让每个应用只能访问它自己的数据。挑了一个最简单的应用进行拆分,项目实施起来的困难就很大。 从技术方面看这不是个困难的事,但和业务自身的功能需求来竞争资源,实在不占优势,造成了虽然完成开发,但无人测试的窘境。
每次想到Q4要完成两个复杂度更高应用的数据拆分,都觉得很头大。当我看到其中一个应用提交的数据表分析文档时,这种痛苦达到了顶点,这个项目真的得有所改变了。 下午和明飞就这个问题开始了讨论:我们必须得做点儿什么,让项目能尽快的转起来,这个共识很容易达成,就是先让应用的注册部分改走公共注册服务。然后接下来呢? 讨论了一个多小时后,好像有点儿眉目了。为了不影响别人,我们到打印室(实在找不到空会议室了)继续讨论了。 可以大声说话了,好像状态更好了,我们定下了按表拆分的增量开发方案:
- 继续整理每张数据表的访问用户(App/App_Boss/Comm_Boss/Comm_Service/Comm_API),凡是访问用户超出App的都是公共表;
- 每个Sprint都选定几个公共表进行拆分:所有调用这些公共表的应用都需要通过公共服务操作表;
- 每次迭代都可以上线,当所有的公共表都完成拆分后,通过数据库监控应该可以看到,所有的公共表都只有公共服务在访问;
- 最后阶段就是建立新的用户,把应用的私有表放到新用户下,应用通过新用户访问私有表,拆分完成。
Continue reading