架构设计

写一篇靠谱的方案设计文档-之实践问题清单

2018-08-02  本文已影响81人  彩色蚂蚁

上一篇,重点讲述的是撰写项目规划和方案设计文档的指导原则,要写成什么样子才能发挥它应有的价值。

具体如何做到,往往还需要实践经验和技术功底的支撑,仅仅知道方向,很可能也是心有余而力不足。

尽管如此,还是有一些在具体实践环节中通用的方法论和Checklist清单,可以帮助到大家。让大家在自己的能力范围内,将思考的过程变得标准化,体系化,尽量完成一篇无论在产品目标还是技术架构层面,都相对靠谱的方案设计文档。

需要注意的是,这个checklist一定是挂一漏万的,所以下面的内容,可能更多的是一些常规必要的点,或者容易被大家忽略的点,而非完整的需要考虑的问题列表(事实上,具体项目千差万别,所以也不可能有这样一个列表),希望能起到发散思维,查遗补漏,多角度评估方案完整性的作用

整体流程步骤方面的Checklist

上面是抽象的思考过程,下面再针对各个环节,列举一下注意事项和问题清单

需求和目标规划环节

这个其实更多的是对具体项目范围的一个确定过程,列一下需要考虑的点,防止遗漏。

概略方案设计和工作量评估

上述内容,特别是模块级别的设计方案文档,不强求详细,但是得确保有。底限是在开始具体开发工作之前,得经过思考整理,而不是边做边想。

产品/技术方案中可能需要考虑的问题

以下的列表,即不可能面面俱到,也不代表每个项目都会包含所有这些内容。仅作参考用途,提醒和检验还有哪些事项或者问题角度需要考虑,大家因地制宜,不要为了回答这个问题而回答。

具体的内容组织方式,详细程度不限,以能把控住项目的走向和风险为目标

可控性和稳定性相关

可维护性

可扩展性相关

可拓展性是一个无底洞,不需要过度设计,但是适当的考虑还是必须的,可以根据实际情况酌情考虑以下方面内容

易用性相关

性能相关

性能相关的考虑点,大都需要结合实际例子考量,这边只是泛泛的列一些大家可能容易忽视的点,后续有重点需要关注的,再持续补充。

整体上:

除了代码工程实现,性能问题,在很多场景下是一个“算法与数据结构”的问题。所以从数据的角度可能需要考虑的点有:

监控告警相关

具体实践

小结

方案目标定得多高,范围圈得多大,会不会太过草率,会不会过度设计,如何平衡,并没有绝对的衡量标准。但前期在时间允许的情况下,把问题尽量考虑周全,做好整体目标路径规划,通常总是好过边做边看的模式。

何况,事实上,多数设计方案通常是欠思考的居多,却要号称敏捷号称测试驱动开发?而所谓的过度设计通常也只是抓不住重点,或者目标跑偏而已,不少同学其实并不具备过度设计的能力和觉悟,所以压根没有必要替自己操这个心 ;)

至于具体方案该定得多细,问题想得多全面,根本上还是取决于项目的价值产出和风险的大小。但没有经验的同学可能很难评估风险的大小,或者压根就没有意识到有些风险的存在。这时候,当然就需要有经验的同学来帮忙讨论和评估。而一个问题checklist清单,也能起到一定的帮助作用,平时注意积累常见的问题,更新自己的清单,才能发挥它的最大价值。


常按扫描下面的二维码,关注“大数据务虚杂谈”,务虚我是认真的 ;)

上一篇下一篇

猜你喜欢

热点阅读