65.9K
CodeProject 正在变化。 阅读更多。
Home

Wiki 软件开发导向方法(WiSDOM)

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.91/5 (7投票s)

2005年8月12日

3分钟阅读

viewsIcon

33960

讨论在敏捷软件开发中使用 wiki

引言

除非你过去10年都生活在地球之外,否则你肯定熟悉 Wiki。

我们有 维基百科,许多人可能在工作中使用 wiki,并且许多开源项目使用 Wikis 进行文档编写和社区支持。

一切都始于 Ward Cunningham 和 Portland Pattern Repository,这是第一个 wiki。

wiki 是一种用于 Web 发布的协作工具。

在软件开发中的应用

最初的 wikiwikiweb 目标是收集模式。 今天,许多项目使用 wikis 进行文档编写、内部文档以及用户指南和手册。 甚至 wikis 也被用来跟踪企业软件开发过程,例如 Confluence

很少有使用 wikis 来获得用户反馈的经验。

Wikis 为用户提供了一个与您的产品改进进行协作的机会。 事实上,当你发布一个 wiki 来征求你的客户的反馈时,你可以获得非常有趣的建议,甚至是你想都想不到的创新。

为什么会发生这种情况? 因为它们的性质,wikis 倾向于形成用户社区的共识。

想象一个 wiki,用户和开发者在产品设计中进行交互,这可能会产生一个完善的需求列表,用户会对最终产品感到满意,因为它会反映他们的意见。 而且,如果他们不喜欢它,你可以向他们展示 wiki 讨论,在那里他们写下了他们的意图。

一个提议

我向开发者社区提议扩展 wikis 并将其构建为协作开发工具。

我看到一个基于 wikis 的工具,它集成了需求、分析、设计、模型甚至源代码。 一个 wiki,在描述用户功能的页面中,你可以深入到实现此功能的页面(wiki 用户界面),甚至开发者可以深入到实现该功能的源代码。 就像最初的 smalltalk 环境,但基于 Web。

我邀请你讨论这个想法,甚至我想构建它。 我设想一个合作环境,用户编写他们的需求,设计师构建模型以满足这些需求,并与用户交互,在同一个地方构建用户界面的快速原型。 用户向开发者提供反馈,程序员构建组件以集成到环境中(例如插件)。

如果你正在使用 CMS,例如 Drupal 或 WikiMedia,那么很容易构想出一个像这样的强大环境。

当然,也存在一些挑战,例如安全性,我们不喜欢用户修改源代码,或者我们希望拥有更改历史记录,以跟踪错误,并向用户展示他们对系统的期望如何随着时间的推移而改变。 此外,这种基础设施必须支持单元测试和回归测试,例如。

我相信,这种工具可以减少用户和开发者之间的阻抗不匹配。

结论和未来行动

我邀请你讨论我的想法,我需要反馈,我认为这是一个简单但强大的想法,也许没有什么新鲜的,即使你知道类似的东西,请告诉我,我不喜欢重新发明轮子。

(这篇文章也在我的个人博客上维护和讨论:http://www.darksideprogramming.org/archives/wisdom/index.html)

© . All rights reserved.