只是写设计文档的设计, 就是瞎折腾

2017.3.26, 深圳, Ken Fang

  1. 做产品, 需要的是 “产品软件设计”, 而不是 “设计文档”。
  2. 做产品, 需要的是可按照产品的不同, 而可 “自组合” 的工程实践,而不是只有一 “标准答案” 的 “流程”。
  3. 做产品, 需要的是 “共同的协作”, 而不是 “专家们的评审”。

这些事, 在整个软件业早已是共识与基本常识, 为何还要花那么多的时间争论?!

只要是产品开发当然要做产品软件设计。

但产品软件设计到底要达到什么的目的? 许多人都不去思考这最根本的问题, 反而是, 只是纠结有没有设计文档。结果是,即使是有了设计文档,原来没有设计文档时, 所产生的问题,不仅是还没有解决,还瞎折腾了一堆文档。这就是咱们做事,最没效率,也最无知的地方。

产品软件设计最主要要能达到的目的: 1. 识别架构上的依赖 2. 能指导开发人员与测试人员 3. 能明确的定义每日开发完成的定义 4. 能保证架构的可测试性 5. 能保证架构的易用性

最重要的是: 上面所说要达到的目的, 所要承载的信息量, 是要能让 “一个开发人员”, “一个测试人员” 都能真正清楚明白的。

所以, 不要只是拿个设计模板就去写,就说是在做产品软件设计;这样只是在写作文, 不是在做产品软件设计。

产品软件设计, 是要协作的, 是要系统化的深度思考的;是要有方法、有实践去引导协作、去引导思考、最终才能产出产品软件设计。

产品开发中, 团队需要的是可指导开发人员、测试人员的关键信息。当产品开发达到某个基准线时, 再将版本中的关键信息, 整理成产品的知识 (文档) 。唯有如此, 才能保证产品的知识 (文档), 是与产品的现况是匹配的。更重要的是, 避免在版本的开发过程中, 浪费时间, 去写没法指导开发人员, 测试人员, 又与产品现况不匹配的过时文档。

在产品级敏捷中, 我们真的找到个方法, 可在版本的开发过程中, 经由团队的协作, 引导出可指导开发人员, 测试人员的关键信息。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏互联网研发闲思录

微信架构相关文章

http://www.blogjava.net/yongboy/archive/2014/03/05/410636.html

622
来自专栏PHP在线

23种设计模式彩图

设计模式可以让我们的代码更健壮,更易于理解和维护,从而显著提高系统的可靠性,稳定性,可维护性和可扩展性,这是成为优秀程序员和架构师的必备技能。 ?...

37911
来自专栏程序你好

Why、When以及How:成功迁移到微服务

当一个业务应用程序(一个开发团队)变得更大,达到一定的规模时,公司就会遇到严重的管理和合作瓶颈。此外,如果一个软件产品基于一个巨大的整体架构,那么它们也面临着技...

821
来自专栏云计算D1net

什么是PaaS?云中的软件开发

云计算提供商的应用程序开发平台在工具上可以提供更大的灵活性,减少成本开销,因此程序员可以更加专注于编写代码。 ? 平台即服务(PaaS)是一种云计算产品,其中...

37711
来自专栏杨建荣的学习笔记

运维平台的建设思考(r6笔记第20天)

自己最近也在琢磨如何搭建出一个完善有效的运维平台,当然这个工作不是一朝一夕就能完成,前行的道路上肯定会有各种各样的困难和牵绊,但是自己还是能够学以致用,把一些重...

3246
来自专栏Cloud Native - 产品级敏捷

为何不把握时间开发产品? 为何耗费宝贵的时间争论工作量? 将产品快速推向市场的铁三角: SEMAT Essence, 产品级敏捷与微服务架构

假如,企业内的产品管理与研发团队,常常会耗费许多宝贵的时间,在争论所谓的 “需求的工作量”,“需求有无过载”,“需求价值的优先级”,却压缩了产品开发与测试的周期...

17210
来自专栏程序人生 阅读快乐

C++反汇编与逆向分析技术揭秘

《C++反汇编与逆向分析技术揭秘》从介绍调试工具开始,到语言特性的分析,反汇编代码的重建等,再到逆向分析技术应用,内容逐步深入。软件分析技术重在方法,所以《C+...

581
来自专栏开源优测

软件测试人员掌握多少代码能力才够

概述 软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗? 在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。 一般而言软件...

3336
来自专栏开源优测

代码 - 软件测试扎心的痛

概述 软件测试工程师通常会面临着一个普遍的问题:软件测试工程师工作中需要写代码吗? 在理清这个问题前,我们有必要先全面的了解下软件测试的各种角色。 一般而言软件...

2795
来自专栏微信公众号:Java团长

架构设计方法初探

架构设计的目的是为了解决系统复杂度带来的问题,并不是要面面俱到,不需要每个架构都具备高性能、高可用、高扩展等特点,而是要识别出实际业务实际情况的复杂点,然后有有...

572

扫码关注云+社区