当您从头开始开发 Web 应用程序时,需要哪些技能来生产可用且交互丰富的产品?
- 你会先做 UI Prototype 吗?
- 你使用用户故事吗?
- 您推荐或积极倡导的一些敏捷方法或最佳实践?
简而言之:什么技能让您从需求收集超越了 AmazingWebApp™?
最后:有什么推荐的书吗?
当您从头开始开发 Web 应用程序时,需要哪些技能来生产可用且交互丰富的产品?
简而言之:什么技能让您从需求收集超越了 AmazingWebApp™?
最后:有什么推荐的书吗?
很好的设计感。这对于程序员来说是一件很难掌握的事情。有时程序员会很好地了解什么是有效的,但不知道如何创建实际上最好或最好的东西。主要是它需要有能力拿走所有东西,并愿意随意移动它,直到有东西可以正常工作。
我这样做的方法是找出如果有人在哪里做这将是如何在线或离线完成任务的最合逻辑和最常见的想法,然后看看如何复制它。思考简短、简短、清晰、易于理解和合乎逻辑。如果您可以在没有任何指示的情况下将其交给某人,并且他们可以做您希望他们做的所有事情,并且可以做得更多。如果他们需要指示在您的应用程序上做日常工作,那么这是一个糟糕的设计。
我还想说看看其他对你有吸引力的应用程序,你可能甚至没有意识到,但只是出于某种原因工作并尝试复制它。
我认为最好的办法就是简单地使用该软件。
当我在开发应用程序时,我倾向于在周末(有时更早)通过电子邮件将它们发送回家,以摆脱“工作模式”,正常安装(即不从您的 IDE 运行)然后使用它。
很难离开“测试模式”而实际上“忘记”你知道这个应用程序。但是一旦你开始使用它,它就会非常有用,而且非常令人大开眼界(是的,有时当你意识到“很酷的小功能”实际上并不完美,需要重新实现!)。
我认为某种类型的视觉原型设计(即使它是用 HTML 和 CSS 完成的)是最好的。我的诱惑是开始编码并稍后担心界面,这通常会导致一些非常糟糕的事情(至少对我而言)。我开发了这个 © WONDERFUL FUNCTIONALITY,我最终匆匆忙忙界面,以便我可以快速拥有工具来获取我的代码。
我忘记了我在哪里听到的,但是对于最终用户来说,您的界面就是您的应用程序。如果你想取悦用户,你应该从界面开始,让它决定你将提供的功能。
最佳实践取决于团队成员的才能。
首先,总是写用户故事(如果可能的话,让它成为一个团队活动),将它们加载到 LighthouseApp.com 或你最喜欢的票务系统——你只需要前 10 到 20 个就可以了。
如果您有 UI 设计师,页面原型可能会很有用。但是,如果软件开发人员具有良好的 HTML/CSS 技能,我更愿意尽快获得具有干净 UI/HTML/CSS 的工作原型。这个输出可以交给一个“现代网页设计师”,他可以重新设计/装饰 HTML/CSS。设计者应该通过源代码控制系统在与开发者相同的代码库上工作。
一些“老学校设计师”会因为他们“装饰网站”的建议而被冒犯,并坚持将 Photoshop 文件交给程序员。这对于一个简单的营销网站来说可能没问题,但我不喜欢构建 AmazingWebApp™ 的过程</p>
这里的人给出了很好的建议。
“视觉上漂亮”和“功能性”(或易用性)之间存在区别。你实际上可以有一个没有另一个。这个论坛就是一个很好的例子,它具有很高的可用性,但坦率地说是丑陋的 - 对不起堆栈,我仍然爱你 :)
现实是你需要技巧来制作好的界面。这是多年的实践。我通常被承包进来为一个新的应用程序设计整个 UI。我很少看到有这些技能的程序员或平面设计师(这是一个狭窄的市场)。我发现在 uni 我对 HCI、UI 设计和可用性分析有天生的敏锐度。我通过大量的阅读和大量的 ui 设计积累经验,进一步发展了这些技能。所以,我要说的是,如果你认真地想要擅长 ui 设计,那就准备好努力工作吧。你可以做任何你想做的事情,但如果你花时间学习 ui 设计,那意味着你不会花时间学习敏捷与 ruby on rails 或任何最流行的技术。
一些一般提示:
如果您正在构建网络软件应用程序(而不是小型企业展示网站),那么低保真原型设计非常棒。把一群人聚在一起,一堆屠夫纸和彩色记号笔,你会惊讶于几天之内你能画出多少个屏幕。
你的软件应该是不言而喻的。您的软件不需要用户手册。我开发的 CMS 没有用户手册,我有几十个客户在使用它,但他们都没有向我索要手册。
看看“大男孩做什么”。如果 ebay 的搜索框是这样的:'[......](搜索)',那么你也可以这样做(而不是非标准但可以:'搜索:[......](去)'。)。这被称为可供性。您正在利用人们对其他系统的熟悉程度来帮助他们了解您自己的系统是如何工作的。
我会推荐这本书:
我还有一些博客文章应该有所帮助:
我们做的一些事情:
@Brian Warshaw - 我认为这是来自 aza raskin 的谈话,我认为这个视频
对于大多数程序员来说,设计一个完全创新的 UI 是相当困难的(仅仅是我吗?)。我发现为 Web 应用程序构建/设计 UI 的有用之处始终是在浏览 Internet 或使用任何其他桌面应用程序时找到一个漂亮、易于使用和优雅的用户界面。如果您只是为手头的任务找到最有效的 UI(由其他人在其他地方设计),那么您可以很好地为您的应用程序实施和创造更好的用户体验。例如,当我输入这个答案时,我喜欢它显示答案实时预览的方式,并带有“隐藏预览”选项 - 我肯定希望在构建用户论坛界面时使用类似类型的交互.
弄清楚你正在构建什么以及你的产品代表什么是构建成功应用程序的关键。我最近写了一篇关于需求收集的博客文章,对此进行了一些讨论。您可以在此处阅读: 如何提高您的需求收集技能。
此外,我遵循以下一些高级原则,以确保我构建具有令人愉快体验的正确产品:
了解用户和客户之间的区别。 批准闪亮项目的企业主通常是客户。然而,一个毁灭性的错误是倾向于将他们作为用户混淆。客户通常是认识到对您的产品的需求的人,但用户是实际使用解决方案的人(并且很可能稍后会抱怨您的产品未满足的要求)。去多人
因为我们都是人类,我们往往不会记住每一个令人痛苦的细节。当您与更多人交谈并进行交叉检查时,您发现遗漏需求的可能性就会增加。
避免特价 当用户要求一些非常具体的东西时,要小心。始终质疑偏见,看看这是否真的会让你的产品变得更好。
原型 不要等到发布后才向用户展示你拥有的东西。做频繁的原型(你甚至可以称它们为 beta 版本)并在整个开发过程中获得持续的反馈。执行此操作时,您可能会发现更多要求。