咨询下一个技术问题:如何做到定制版本的敏捷性开发

oneFresh 2014-10-06 02:16:57
一个项目在多个局点部署,主体流程是一致的,但是每个局点又略有不同,导致现在的代码加了各种开关,导致圈复杂度增加,维护难度极度不堪,虽然提升了B格(一套代码,各地安装),但是作为底层维护的屌丝,还是想从根本上解决这个问题。

请问各位大神有没有此类经验,分享借鉴一下呀?如何敏捷开发定制版本,减少维护量,以及减轻新员工的熟悉难度
...全文
2309 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
智慧跟在开发人员屁股后边 --> 只会跟在开发人员屁股后边 其中最为关键的,是对产品“设计”进行重构。而许多团队由于技术层次问题而做不到这一点,只会在各种细枝末节上堆砌各种网上的免费“外部解决方案”。因此才容易陷入泥潭。
  • 打赏
  • 举报
回复
“作为底层维护的屌丝”,你还想“从根本上解决这个问题”?那么我认为这是不切实际的。 从长远来看,我认为一个团队是不需要什么专职维护人员的。这个说法可能会“得罪”一些手工维护人员“。但是如果你能够把这种理念植入开发团队中,你们的开发团队所发布的软件版本的某个层次(服务器主程序)能够把运维模块当作系统自身的一部分来开发和调试测试,那么问题才可能“从根本上解决”。 没有决心去解决,或者“智慧跟在开发人员屁股后边”去空谈“解决问题”,永远无法解决运维上的被动局面。
  • 打赏
  • 举报
回复
首先,这是一个设计问题。如果靠Copy+Past代码、然后写一堆Switch分支判断,这种做法,首先就是“设计上垃圾”造成的难以维护。 而敏捷开发的好处,就是随时可以对系统进行底层大规模重构,因为有“测试驱动技术”保证你们将设计重构进行到底,你应该能够感到“勇气”的存在。如果没有勇气,那么你一定没有进行真正的敏捷开发。 其次就是,在产品的分解和运维方面,应该也是测试驱动开发的!当一个产品的主程序不变(也不停止),但是其内部加载的模块却在主程序运行过程中动态加载和替换时,特别是当你通过一个服务器将这种变化的模块推送给其它一堆服务器时,你应该现在测试环境的至少2、3台服务器上测试过几百次了(用1分钟至少就能测试100次)。如果没有这个技术,那么先认识清楚“自己到底有没有真正做到敏捷开发、敏捷运维”吧!
唐家文 2014-10-07
  • 打赏
  • 举报
回复
建议把软件不同部分变成可配置项,通过配置文件的变更来打开或者关闭某部分功能,再用配置管理工具如puppet来管理不同服务器的这个配置文件。
【课程目标】:快速学习、应用Scrum敏捷开发方法 【课程呈现形式】:PPT课件+讲解 【课程特点】:1)课程体系结构清晰,课程内容丰富,在课程内容中插入了部分实际工作场景和真实的项目案例。2)以通俗易懂的语言,讲解如何学习、应用Scrum敏捷开发方法。3)本门课程内容是通过讲师本人亲自领导团队,实践了多个Scrum敏捷项目后,总结而来,可操作性强,我们只讲工作中实际要用的技能点,希望可以达到随学随用的目的。 【课程优势】:从事IT行业13年,服务过的行业包括银行、教育培训、食品行业、石油化工行业、政府、移动/电信运营商,实际主导或参与的IT项目有24个,其中大型的系统集成项目2个、大型的软件项目4个、信息化咨询规划项目4个、中型的软件项目有9个,经历过甲、乙方项目经理角色的变换,历经程序员,技术经理,产品经理,项目经理,部门经理,研发总监,信息化咨询顾问,技术副总等多种岗位实践,积累了丰富的工作经验。个人精通IT项目管理实战应用指导;擅长IT信息化项目方案总体规划设计和团队管理培训;熟练应用IT项目/互联网产品设计流程与方法;熟练应用JAVA,ASP.NET主流技术开发框架应用;熟练应用MySQL/SQLServer数据库应用等;熟练应用Web前端主流开发框架。

1,557

社区成员

发帖
与我相关
我的任务
社区描述
软件工程 敏捷开发
社区管理员
  • community_144
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧