系统架构中常见问题及解决方案
1.概述
软件是关乎于人的行业,而人依靠文化来长久维系。这个行业很多问题的根源来自以下两个方面:
- 维系人的文化
- 扮演角色的人
2.波动的水纹
当我们在湖中投入一颗石子时,一道道波纹总会被传播很远……
2.1 现象
- 同一产品版本繁多,版本变动频繁。不同版本之间甚至存在不一致,一个版本的变动可能影响到其他版本的正常功能。
- 项目需求难以满足。产品疲于应付不同项目的需求。
- 产品开发人员被抽调出来为不同的项目特定需求进行开发。同一产品组不得不同时维护多个不同差异的版本,每一次的变动都存在着影响不同版本的潜在风险。
- 项目需求的波动总是被传播到产品开发部门。
- 产品为了满足项目的需求不得不进行修改,不得不接受设计侵入。
2.2 问题
- 产品架构设计缺失,难以满足项目需求,缺少可扩充性,缺少完善的API。
- 项目需求波动,向产品提出的修改侵入产品设计,进而影响产品的稳定性。
2.3 解决方案
问自己的两个问题:
- 1.我们可以在现有的基础上进行改进、完善吗?成本回报如何?
- 2.如果风险无法消除,我们有备用的方案吗?这个备用方案已经启动了吗?
问题一:
- 解决方案一:成立构架小组,优化产品设计,重构现有代码。
- 解决方案二:成立新的产品开发小组,进行第二代产品开发,同时原有成员维护当前版本。
问题二:
1.建立项目向产品提出修改的评审流程:——建立”波纹”隔离墙。
1)在项目组内选择合适人选对向产品提出的修改设计进行初步评判——要求构架设计能力;2)提交技术评审委员会进行评估——须恰当选择委员会成员;3)提交产品修改或项目组自己开发。
2.建立产品版本的周期性内部发布机制(可以月为单位):——为项目经理提供如何在项目中使用产品的依据。
1)每月固定时间发布版本,并在项目部安装部署;2)每月固定时间发布当前功能列表;3)每月固定时间发布下月将实现的功能点;4)公布产品6个月内的Roadmap—可以只是稳定当前版本.不添加新功能。
3.天马流星拳与一阳指
- 天马流星拳是一部动画片《圣斗士星矢》里的招式,主人公可以在1秒钟内打出几百拳,属于广种薄收的招式;
- 一阳指的奥秘在于集全身内力于指尖,一招制敌。
3.1现象
- 项目总是感觉缺少人手
- 公司里各式各样的技术都在使用,却缺少能够解决问题的人
- 总是遇到很多技术瓶颈
- 测试人员忙于学习,应付不同技术的测试
- 公司产品很多,但仍难以适应项目需求
3.2 问题
- 缺少公司整体技术路线规划
- 人员技能分散,学习成本、培训成本较高
- 产品仍需时间成熟,人员力量分散
3.3 解决方案
1.根据公司所在行业特点,当前情况规划技术路线:
1)建议选择C++,Java,python为主要技术发展路线;2)规定项目使用技术除客户指定外,必须从技术规划中自由选择,否则必须审批;3)要求项目经理尽可能的引导用户使用公司规划的相关技术。
2.从企业整体层次培养员工相关技术技能——研发能力提升计划。
1)第一阶段培养开发人员——确保能够保质完成任务;2)第二阶段培养设计人员——提升企业研发能力及核心竞争力;3)从中发掘、培养,确保合适的人在合适的位置做合适的事;4)培养可持续提升企业研发人员能力的文化、机制。
- 3.给产品合理时间成熟完善,如果可以或需要,协助产品完善(形式可以探讨),并准备相应的备份方案。
系统架构中常见问题及解决方案相关推荐
- Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案
Java生鲜电商平台-SpringCloud微服务架构中分布式事务解决方案 说明:Java生鲜电商平台中由于采用了微服务架构进行业务的处理,买家,卖家,配送,销售,供应商等进行服务化,但是不可避免存在 ...
- 面试官:哥们,你们的系统架构中为什么要引入消息中间件?
点击上方"蓝字", 右上角选择"设为星标" 周一至五早11点半!精品文章准时送上! 本文来自石杉的架构笔记 这篇文章开始,我们把消息中间件这块高频的面试题给大家 ...
- vue项目中常见问题及解决方案
vue项目中常见问题及解决方案 参考文章: (1)vue项目中常见问题及解决方案 (2)https://www.cnblogs.com/jiekzou/p/11011271.html (3)https ...
- 表单html遇到的问题及处理,Web前端开发中常见问题及解决方案
Web前端开发中常见问题及解决方案 时间:2017-04-24 来源:web前端开发小赢家 作为一名web前端开发工程师,我们在工作时免不了会遇到各种各样的问题.因为web前端开发相对于Jav ...
- 年薪百万BAT大佬带你剖析你们的系统架构中为什么要引入消息中间件?
这篇文章开始,我们把消息中间件这块高频的面试题给大家说一下,也会涵盖一些MQ中间件常见的技术问题. 假如面试官看你简历里写了MQ中间件的使用经验,很可能会有如下问题: 你们公司生产环境用的是什么消息中 ...
- 用系统架构中的系统思维分析一个咖啡厅系统
此文是对<系统架构>中第2章系统思维的笔记,前前后后看了很多遍,为了达到活学活用,尝试用系统思维分析一个生动的现实生活中的案例,这样有助于更深刻的理解及现实的建模能力.现分享给大家一起讨论 ...
- 分布式商城系统架构中的超卖问题深度剖析(从问题原因到解决方案到优化总结)以及重复下单问题
超卖问题(包含重复下单问题) 背景 首先,超卖问题的出现是由于高并发环境下,大量秒杀请求同时发给服务端导致的秒杀商品的销售数量>其库存数量的问题.其本质就是并发场景下,多线程或者多进程对共享资源 ...
- 系统架构中概念总结一
下面这些资料大部分都是从网上找的,方便什么时候不明白的时候查阅,概念涉及到网络.存储.数据库等各方面的内容. 容错(Fault Tolerant) 容错就是当由于种种原因在系统中出现了数据.文件损坏或 ...
- 系统架构中概念总结二
IDC IDC(Internet Data Center),即互联网数据中心.是指在互联网上提供的各项增值服务服务.他包括:申请域名.租用虚拟主机空间.主机托管等业务的服务. IDC 即是Intern ...
最新文章
- 使用Python、OpenCV进行图像接缝雕刻
- 搜索引擎工作的基础流程与原理
- python3 ftplib_ftplib — FTP protocol client
- Servlet的多重映射
- linux系统下的mysqlgt;aborted_MySQL令人头疼的Aborted告警案例分析
- python定时发送信息_python实现定时发送消息
- 用c语言编程参赛信息查询,确定参赛者名单(C语言实现)
- 95-290-362-源码-内存管理-Buffer-LocalBufferPool
- 分享个WEB前端CSS兼容的问题.
- Oracle修复Win7/Win8.1/Win10下Java安装程序安全漏洞
- VMware在NAT模式下配置静态IP
- 这个问题,正在郁闷中,网上找了好久,也只见问不见答!
- 【嵌入式】基于ARM的嵌入式Linux开发总结
- mysql的索引是什么数据结构_mysql索引的数据结构是什么
- 服务器ajax无响应时间,ajax 服务器响应时间
- 行内元素之间产生的间隙
- ANT:修改测试报告的样式jmeter-results-shanhe-me.xsl
- 第八届“中国软件杯”大学生软件设计大赛总决赛落幕
- 本地缓存之LIFO、LRU、FIFO、LFU实现
- cesium entity使用
热门文章
- uni-app图片上传(位置固定)
- 初学乍练redis:分片与集群
- 计算机里删除的文件可以在哪里进行恢复,电脑上删除的文件怎么恢复?方法在这里...
- PowerDesign提示未安装打印机
- React Native开发环境配置检测
- Chrome+selenium+headless报错无法加载插件
- php可以用中文的单引号吗,PHP中单双引号用法误区
- 关于Quartus II 13.0破解失败问题
- java-net-php-python-jspm药品一体化管理系统演示录像2019计算机毕业设计程序
- 软件项目管理案例教程-韩万江-期末复习