`

关于软件开发“隐喻”

阅读更多
作为软件开发人员不可避免的涉足软件过程管理,无论是管理者还是实施者都是过程参与者。当我们要向外行解释软件开发是怎么回事,通常来通过一个比方比如说建房子,这就是“隐喻”,当我们工作中遇到问题的时候,怎么深刻地正确地来理解和认识我们软件工作的本身,你潜意识里认为做开发应该这样,实际上做的事情不符合你的预想,这就是痛苦的根源。

有篇文章“软件开发不可与建筑类比”来表明一个不恰当的软件开发隐喻。 值得思考。
这与敏捷开发宣言有些神似。

那些经常用来描述软件的建筑隐喻是错误的。可悲的是,因为有了这层暗示,我们把很多重点放在了错误的地方:
力求把需求预先定义清楚,而不是接受:变化才是常态;
强调架构和架构师的重要性,而不是接受:软件是可适应的,可由团队里的任何人来改变;
假设人员是可替换的,并且时间问题可以通过增加人手来解决,而不是接受:每个人都是独特的;
追求可预测性,而不是接受:我们的领域还没有被很好地认知。

软件与建筑绝无关系!
我们不是在建造,而是在探索!


敏捷开发宣言:
个体和交互胜过过程和工具;
可运行的软件胜过面面俱到的文档;
客户合作胜过遵循合同;
响应变化胜过遵循计划
分享到:
评论

相关推荐

    简单之美-软件开发实践者的思考(中文高清版)

    第2章 关于软件开发方法论的思考 2.1 方法论的实践场景 2.2 CMM的精髓 2.2.1 过程定义 2.2.2 成熟之路 2.3 敏捷软件开发的精髓 2.3.1 人与实践 2.3.2 海岸灯塔 2.4 最好的软件开发方法 2.4.1 中庸 2.4.2 ...

    Agile Software Development----敏捷软件开发----Draft version: 3b

    本书是国际知名软件开发专家Alistair Cockburn通过采访项目开发组和总结自己20多年的开发和管理经验,撰写的一本介绍软件开发新思想??敏捷软件开发方法学的著作。  本书从更新软件开发就是“创造和沟通的合作博弈”...

    howto-sw-dev:我的软件开发方法

    如何进行软件开发 这是我的方法。 在一开始的时候 软件开发基本上遵循以下路径: 数学(转换) 科学(分解) 建模(OO) 分析型 我使用的主要分析方法是: 批判现实主义 ...因为我们基本上是在建模,...隐喻软件开发

    openfllier

    OpenFlipper,这是一个可扩展的开源几何图形处理和渲染框架。OpenFlipper是用于几何...除了软件开发人员外,最终用户还可以从该通用框架中受益,因为在此框架之上构建的所有应用程序都共享相同的基本功能和交互隐喻。

    倪健:框架设计和设计决策

    演讲将通过一个框架设计的实例介绍软件设计方法,提醒我们对于隐喻的关注。与项目成功密切相关的是设计决策。演讲中还展示了由于一个错误的决策,可能带来巨大的软件开发成本的一个实例。

    代码大全(经典教材).pdf

    软件开发人员必备工具书 Code Complete 代码大全 Steve McConnell 著 天奥 译 熊可宜 校 学苑出版社 目 录 第一章 欢迎进入软件创建世界⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯1 1.1 什么是软件创建....

    软件测试金字塔

    随着软件开发规律的成熟,软件测试方法也日趋成熟。开发团队不再需要大量的手动软件测试人员,而是将测试工作最大部分自动化。自动化测试可以让团队在短时间内知道他们的软件有什么问题,而不是几天或几周。由自动化...

    代码大全中文第二版

    第一章 欢迎进入软件创建世界 第二章 利用隐喻对编程进行更深刻的理解 第三章 软件创建的先决条件 第四章 建立子程序步骤 第五章 高质量子程序...第三十二章 软件开发方法的有关问题 第三十三章 从何处获取更多的信息

    毕业设计订餐系统源码-report:管理员毕业报告

    我们求助于关于软件开发的庞大学术文献网络,以回答我们最初的研究问题。 在这样做时,创建了一个整体视图,从单个程序员的心理到软件产品管理的广泛问题。 通过采取不同利益相关者的观点,这些知识将被表述为一个...

    还原丢失的 Windows 10 开始菜单 Stardock Start 10 v1.95 中文多语免费版.rar

    Stardock Start 10 官方中文完版是一款由著名的软件开发商 Stardock 推出的 Windows 10 开始菜单功能增强工具!Windows 10 虽然保留了开始按钮和开始菜单,但是在使用上仍然不是很方便。 Winows 10 开始菜单 ...

    软件架构师应该知道的97件事总结

    不要滥用架构隐喻 关注应用程序的支持和维护 有舍才有得 先考虑原则、公理和类比再考虑个人意见和口味 从“可行走骨架”开始开发应用 数据是核心 确保简单问题有简单的解 架构师首先是开发人员 根据投资回报率(ROI...

    jscity:可视化为3D城市JavaScript项目

    该项目正在开发中,非常有限,可以随意添加任何问题,评论和改进。 城市隐喻 由Wettel(2007)引入的“提出将软件系统分析并视为城市。 该软件系统被表示为可以遍历并与之交互的城市,从而使观看者有一种本地化的...

    dephi 代码大全

    很好的一本书,非扫描版PDF格式 目 录 第一章 欢迎进入软件创建...第三十二章 软件开发方法的有关问题……………………………………………511 第三十三章 从何处获取更多的信息…………………………………………… 522

    网络空间安全:对抗分布式拒绝服务攻击-研究论文

    大多数关于 DDOS 攻击的评论都集中在发布不安全代码的软件开发人员的角色上,这些代码的弱点后来被利用来发起 DDOS 攻击,以及未能采取基本步骤来保护他们机器的计算机用户。 在回顾了这种情况的原因,并探讨了对 ...

    云计算的三种服务模式.docx

    "云"其实是互联网的一个隐喻,"云计算"其实就是使用互联网来接入存储或者运行在远程服务器端的应用,数据,或者服务。 任何一个使用基于互联网的方法来计算,存储和开发的公司,都可以从技术上叫做从事云的公司。...

    Cryptic Allusion DCDev-开源

    隐喻与Dreamcast相关的开发:KallistiOS,Ghetto Pong等。

    GHSatellite:实时贡献可视化器

    GHS卫星PC View:实时可视化公共存储库上的用户活动 平板电脑视图:提供可视化器的过滤器开关和每分钟事件数量的图表关于GH卫星: EN:全球用户通过源代码在Github上做出的“贡献”通过隐喻在卫星轨道上实时可视化。...

    基因的艺术

    基因的艺术 发展、艺术和人脑:建立联系 基因的艺术 (1999) Enrico Coen。 牛津大学出版社,纽约,386 页。 ISBN:019 ...隐喻似乎对人类的大部分思维至关重要。...就好像我们无法完全掌握某事,除非我们...是软件,开发是读

    ellington:对基于流程的编程的不同看法

    我们发现,使用一致且连贯的物理隐喻有助于人们更清楚地推理软件的复杂性。 地铁类比并不完美,但非常接近。目标提供一致的命名法,该命名法足够简单以供工程和业务团队共享。 建立约束以确保复杂的项目易于管理、...

Global site tag (gtag.js) - Google Analytics